Ben Guthro
2013-Jun-28 13:46 UTC
[PATCH v5 3/5] acpi: Adjust linux acpi OS functions to new extended parameter
Change the function definitions of acpi_os_prepare_sleep() and acpi_os_set_prepare_sleep() to pass along the new extended sleep parameter. Signed-off-by: Jan Beulich <jbeulich@suse.com> Signed-off-by: Ben Guthro <benjamin.guthro@citrix.com> Cc: Bob Moore <robert.moore@intel.com> Cc: Rafael J. Wysocki <rjw@sisk.pl> Cc: linux-acpi@vger.kernel.org --- arch/x86/kernel/tboot.c | 3 ++- drivers/acpi/osl.c | 16 ++++++++-------- drivers/xen/acpi.c | 3 ++- include/linux/acpi.h | 6 +++--- include/xen/acpi.h | 3 ++- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/arch/x86/kernel/tboot.c b/arch/x86/kernel/tboot.c index f84fe00..d578c9c 100644 --- a/arch/x86/kernel/tboot.c +++ b/arch/x86/kernel/tboot.c @@ -273,7 +273,8 @@ static void tboot_copy_fadt(const struct acpi_table_fadt *fadt) offsetof(struct acpi_table_facs, firmware_waking_vector); } -static int tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control) +static int tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control, + bool extended) { static u32 acpi_shutdown_map[ACPI_S_STATE_COUNT] = { /* S0,1,2: */ -1, -1, -1, diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index e721863..0251c9b 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c @@ -77,8 +77,8 @@ EXPORT_SYMBOL(acpi_in_debugger); extern char line_buf[80]; #endif /*ENABLE_DEBUGGER */ -static int (*__acpi_os_prepare_sleep)(u8 sleep_state, u32 pm1a_ctrl, - u32 pm1b_ctrl); +static int (*__acpi_os_prepare_sleep)(u8 sleep_state, u32 val_a, u32 val_b, + bool extended); static acpi_osd_handler acpi_irq_handler; static void *acpi_irq_context; @@ -1757,13 +1757,13 @@ acpi_status acpi_os_terminate(void) return AE_OK; } -acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 pm1a_control, - u32 pm1b_control) +acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 val_a, u32 val_b, + u8 extended) { int rc = 0; if (__acpi_os_prepare_sleep) - rc = __acpi_os_prepare_sleep(sleep_state, - pm1a_control, pm1b_control); + rc = __acpi_os_prepare_sleep(sleep_state, val_a, val_b, + extended); if (rc < 0) return AE_ERROR; else if (rc > 0) @@ -1772,8 +1772,8 @@ acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 pm1a_control, return AE_OK; } -void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, - u32 pm1a_ctrl, u32 pm1b_ctrl)) +void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, u32 val_a, + u32 val_b, bool extended)) { __acpi_os_prepare_sleep = func; } diff --git a/drivers/xen/acpi.c b/drivers/xen/acpi.c index 119d42a..36d2be1 100644 --- a/drivers/xen/acpi.c +++ b/drivers/xen/acpi.c @@ -36,7 +36,8 @@ #include <asm/xen/hypervisor.h> int xen_acpi_notify_hypervisor_state(u8 sleep_state, - u32 pm1a_cnt, u32 pm1b_cnt) + u32 pm1a_cnt, u32 pm1b_cnt, + bool extended) { struct xen_platform_op op = { .cmd = XENPF_enter_acpi_sleep, diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 709a2f2..26f9996 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -477,8 +477,8 @@ static inline bool acpi_driver_match_device(struct device *dev, #endif /* !CONFIG_ACPI */ #ifdef CONFIG_ACPI -void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, - u32 pm1a_ctrl, u32 pm1b_ctrl)); +void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, u32 val_a, + u32 val_b, bool extended)); #ifdef CONFIG_X86 void arch_reserve_mem_area(acpi_physical_address addr, size_t size); #else @@ -488,7 +488,7 @@ static inline void arch_reserve_mem_area(acpi_physical_address addr, } #endif /* CONFIG_X86 */ #else -#define acpi_os_set_prepare_sleep(func, pm1a_ctrl, pm1b_ctrl) do { } while (0) +#define acpi_os_set_prepare_sleep(func, val_a, val_b, ext) do { } while (0) #endif #if defined(CONFIG_ACPI) && defined(CONFIG_PM_RUNTIME) diff --git a/include/xen/acpi.h b/include/xen/acpi.h index 68d73d0..9f7e2e6 100644 --- a/include/xen/acpi.h +++ b/include/xen/acpi.h @@ -76,7 +76,8 @@ static inline int xen_acpi_get_pxm(acpi_handle h) } int xen_acpi_notify_hypervisor_state(u8 sleep_state, - u32 pm1a_cnt, u32 pm1b_cnd); + u32 pm1a_cnt, u32 pm1b_cnd, + bool extended); static inline void xen_acpi_sleep_register(void) { -- 1.7.9.5
Konrad Rzeszutek Wilk
2013-Jun-28 16:03 UTC
Re: [PATCH v5 3/5] acpi: Adjust linux acpi OS functions to new extended parameter
On Fri, Jun 28, 2013 at 09:46:22AM -0400, Ben Guthro wrote:> Change the function definitions of acpi_os_prepare_sleep() and > acpi_os_set_prepare_sleep() to pass along the new extended sleep > parameter. > > Signed-off-by: Jan Beulich <jbeulich@suse.com> > Signed-off-by: Ben Guthro <benjamin.guthro@citrix.com> > Cc: Bob Moore <robert.moore@intel.com> > Cc: Rafael J. Wysocki <rjw@sisk.pl> > Cc: linux-acpi@vger.kernel.org > --- > arch/x86/kernel/tboot.c | 3 ++- > drivers/acpi/osl.c | 16 ++++++++-------- > drivers/xen/acpi.c | 3 ++- > include/linux/acpi.h | 6 +++--- > include/xen/acpi.h | 3 ++-Since they touch the Xen files, please also include Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> thought you should rebase this on top of Rafael''s linux-next as it won''t apply cleanly on top v3.10-rc7.> 5 files changed, 17 insertions(+), 14 deletions(-) > > diff --git a/arch/x86/kernel/tboot.c b/arch/x86/kernel/tboot.c > index f84fe00..d578c9c 100644 > --- a/arch/x86/kernel/tboot.c > +++ b/arch/x86/kernel/tboot.c > @@ -273,7 +273,8 @@ static void tboot_copy_fadt(const struct acpi_table_fadt *fadt) > offsetof(struct acpi_table_facs, firmware_waking_vector); > } > > -static int tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control) > +static int tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control, > + bool extended) > { > static u32 acpi_shutdown_map[ACPI_S_STATE_COUNT] = { > /* S0,1,2: */ -1, -1, -1, > diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c > index e721863..0251c9b 100644 > --- a/drivers/acpi/osl.c > +++ b/drivers/acpi/osl.c > @@ -77,8 +77,8 @@ EXPORT_SYMBOL(acpi_in_debugger); > extern char line_buf[80]; > #endif /*ENABLE_DEBUGGER */ > > -static int (*__acpi_os_prepare_sleep)(u8 sleep_state, u32 pm1a_ctrl, > - u32 pm1b_ctrl); > +static int (*__acpi_os_prepare_sleep)(u8 sleep_state, u32 val_a, u32 val_b, > + bool extended); > > static acpi_osd_handler acpi_irq_handler; > static void *acpi_irq_context; > @@ -1757,13 +1757,13 @@ acpi_status acpi_os_terminate(void) > return AE_OK; > } > > -acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 pm1a_control, > - u32 pm1b_control) > +acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 val_a, u32 val_b, > + u8 extended) > { > int rc = 0; > if (__acpi_os_prepare_sleep) > - rc = __acpi_os_prepare_sleep(sleep_state, > - pm1a_control, pm1b_control); > + rc = __acpi_os_prepare_sleep(sleep_state, val_a, val_b, > + extended); > if (rc < 0) > return AE_ERROR; > else if (rc > 0) > @@ -1772,8 +1772,8 @@ acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 pm1a_control, > return AE_OK; > } > > -void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, > - u32 pm1a_ctrl, u32 pm1b_ctrl)) > +void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, u32 val_a, > + u32 val_b, bool extended)) > { > __acpi_os_prepare_sleep = func; > } > diff --git a/drivers/xen/acpi.c b/drivers/xen/acpi.c > index 119d42a..36d2be1 100644 > --- a/drivers/xen/acpi.c > +++ b/drivers/xen/acpi.c > @@ -36,7 +36,8 @@ > #include <asm/xen/hypervisor.h> > > int xen_acpi_notify_hypervisor_state(u8 sleep_state, > - u32 pm1a_cnt, u32 pm1b_cnt) > + u32 pm1a_cnt, u32 pm1b_cnt, > + bool extended) > { > struct xen_platform_op op = { > .cmd = XENPF_enter_acpi_sleep, > diff --git a/include/linux/acpi.h b/include/linux/acpi.h > index 709a2f2..26f9996 100644 > --- a/include/linux/acpi.h > +++ b/include/linux/acpi.h > @@ -477,8 +477,8 @@ static inline bool acpi_driver_match_device(struct device *dev, > #endif /* !CONFIG_ACPI */ > > #ifdef CONFIG_ACPI > -void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, > - u32 pm1a_ctrl, u32 pm1b_ctrl)); > +void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, u32 val_a, > + u32 val_b, bool extended)); > #ifdef CONFIG_X86 > void arch_reserve_mem_area(acpi_physical_address addr, size_t size); > #else > @@ -488,7 +488,7 @@ static inline void arch_reserve_mem_area(acpi_physical_address addr, > } > #endif /* CONFIG_X86 */ > #else > -#define acpi_os_set_prepare_sleep(func, pm1a_ctrl, pm1b_ctrl) do { } while (0) > +#define acpi_os_set_prepare_sleep(func, val_a, val_b, ext) do { } while (0) > #endif > > #if defined(CONFIG_ACPI) && defined(CONFIG_PM_RUNTIME) > diff --git a/include/xen/acpi.h b/include/xen/acpi.h > index 68d73d0..9f7e2e6 100644 > --- a/include/xen/acpi.h > +++ b/include/xen/acpi.h > @@ -76,7 +76,8 @@ static inline int xen_acpi_get_pxm(acpi_handle h) > } > > int xen_acpi_notify_hypervisor_state(u8 sleep_state, > - u32 pm1a_cnt, u32 pm1b_cnd); > + u32 pm1a_cnt, u32 pm1b_cnd, > + bool extended); > > static inline void xen_acpi_sleep_register(void) > { > -- > 1.7.9.5 >
Ben Guthro
2013-Jun-28 16:15 UTC
Re: [PATCH v5 3/5] acpi: Adjust linux acpi OS functions to new extended parameter
On 06/28/2013 12:03 PM, Konrad Rzeszutek Wilk wrote:> On Fri, Jun 28, 2013 at 09:46:22AM -0400, Ben Guthro wrote: >> Change the function definitions of acpi_os_prepare_sleep() and >> acpi_os_set_prepare_sleep() to pass along the new extended sleep >> parameter. >> >> Signed-off-by: Jan Beulich <jbeulich@suse.com> >> Signed-off-by: Ben Guthro <benjamin.guthro@citrix.com> >> Cc: Bob Moore <robert.moore@intel.com> >> Cc: Rafael J. Wysocki <rjw@sisk.pl> >> Cc: linux-acpi@vger.kernel.org >> --- >> arch/x86/kernel/tboot.c | 3 ++- >> drivers/acpi/osl.c | 16 ++++++++-------- >> drivers/xen/acpi.c | 3 ++- >> include/linux/acpi.h | 6 +++--- >> include/xen/acpi.h | 3 ++- > > Since they touch the Xen files, please also include > > Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > > thought you should rebase this on top of Rafael''s linux-next > as it won''t apply cleanly on top v3.10-rc7.Actually, it does apply cleanly on top of v3.10-rc7. However, I''ll pull Rafael''s linux-next, and rebase on that.> > >> 5 files changed, 17 insertions(+), 14 deletions(-) >> >> diff --git a/arch/x86/kernel/tboot.c b/arch/x86/kernel/tboot.c >> index f84fe00..d578c9c 100644 >> --- a/arch/x86/kernel/tboot.c >> +++ b/arch/x86/kernel/tboot.c >> @@ -273,7 +273,8 @@ static void tboot_copy_fadt(const struct acpi_table_fadt *fadt) >> offsetof(struct acpi_table_facs, firmware_waking_vector); >> } >> >> -static int tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control) >> +static int tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control, >> + bool extended) >> { >> static u32 acpi_shutdown_map[ACPI_S_STATE_COUNT] = { >> /* S0,1,2: */ -1, -1, -1, >> diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c >> index e721863..0251c9b 100644 >> --- a/drivers/acpi/osl.c >> +++ b/drivers/acpi/osl.c >> @@ -77,8 +77,8 @@ EXPORT_SYMBOL(acpi_in_debugger); >> extern char line_buf[80]; >> #endif /*ENABLE_DEBUGGER */ >> >> -static int (*__acpi_os_prepare_sleep)(u8 sleep_state, u32 pm1a_ctrl, >> - u32 pm1b_ctrl); >> +static int (*__acpi_os_prepare_sleep)(u8 sleep_state, u32 val_a, u32 val_b, >> + bool extended); >> >> static acpi_osd_handler acpi_irq_handler; >> static void *acpi_irq_context; >> @@ -1757,13 +1757,13 @@ acpi_status acpi_os_terminate(void) >> return AE_OK; >> } >> >> -acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 pm1a_control, >> - u32 pm1b_control) >> +acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 val_a, u32 val_b, >> + u8 extended) >> { >> int rc = 0; >> if (__acpi_os_prepare_sleep) >> - rc = __acpi_os_prepare_sleep(sleep_state, >> - pm1a_control, pm1b_control); >> + rc = __acpi_os_prepare_sleep(sleep_state, val_a, val_b, >> + extended); >> if (rc < 0) >> return AE_ERROR; >> else if (rc > 0) >> @@ -1772,8 +1772,8 @@ acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 pm1a_control, >> return AE_OK; >> } >> >> -void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, >> - u32 pm1a_ctrl, u32 pm1b_ctrl)) >> +void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, u32 val_a, >> + u32 val_b, bool extended)) >> { >> __acpi_os_prepare_sleep = func; >> } >> diff --git a/drivers/xen/acpi.c b/drivers/xen/acpi.c >> index 119d42a..36d2be1 100644 >> --- a/drivers/xen/acpi.c >> +++ b/drivers/xen/acpi.c >> @@ -36,7 +36,8 @@ >> #include <asm/xen/hypervisor.h> >> >> int xen_acpi_notify_hypervisor_state(u8 sleep_state, >> - u32 pm1a_cnt, u32 pm1b_cnt) >> + u32 pm1a_cnt, u32 pm1b_cnt, >> + bool extended) >> { >> struct xen_platform_op op = { >> .cmd = XENPF_enter_acpi_sleep, >> diff --git a/include/linux/acpi.h b/include/linux/acpi.h >> index 709a2f2..26f9996 100644 >> --- a/include/linux/acpi.h >> +++ b/include/linux/acpi.h >> @@ -477,8 +477,8 @@ static inline bool acpi_driver_match_device(struct device *dev, >> #endif /* !CONFIG_ACPI */ >> >> #ifdef CONFIG_ACPI >> -void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, >> - u32 pm1a_ctrl, u32 pm1b_ctrl)); >> +void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, u32 val_a, >> + u32 val_b, bool extended)); >> #ifdef CONFIG_X86 >> void arch_reserve_mem_area(acpi_physical_address addr, size_t size); >> #else >> @@ -488,7 +488,7 @@ static inline void arch_reserve_mem_area(acpi_physical_address addr, >> } >> #endif /* CONFIG_X86 */ >> #else >> -#define acpi_os_set_prepare_sleep(func, pm1a_ctrl, pm1b_ctrl) do { } while (0) >> +#define acpi_os_set_prepare_sleep(func, val_a, val_b, ext) do { } while (0) >> #endif >> >> #if defined(CONFIG_ACPI) && defined(CONFIG_PM_RUNTIME) >> diff --git a/include/xen/acpi.h b/include/xen/acpi.h >> index 68d73d0..9f7e2e6 100644 >> --- a/include/xen/acpi.h >> +++ b/include/xen/acpi.h >> @@ -76,7 +76,8 @@ static inline int xen_acpi_get_pxm(acpi_handle h) >> } >> >> int xen_acpi_notify_hypervisor_state(u8 sleep_state, >> - u32 pm1a_cnt, u32 pm1b_cnd); >> + u32 pm1a_cnt, u32 pm1b_cnd, >> + bool extended); >> >> static inline void xen_acpi_sleep_register(void) >> { >> -- >> 1.7.9.5 >>