> From: Jeremy Fitzhardinge [mailto:jeremy@xxxxxxxx] > Sent: Wednesday, September 07, 2011 10:27 AM > > On 09/06/2011 09:20 PM, Cihula, Joseph wrote: > >> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@xxxxxxxxxx] > >> Sent: Wednesday, August 31, 2011 11:31 AM > >> > >> The ACPI suspend path makes a call to tboot_sleep right before it > >> writes the PM1A, PM1B values. We replace the direct call to tboot via an registration callback > similar to __acpi_register_gsi. > >> > >> CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > >> CC: "H. Peter Anvin" <hpa@xxxxxxxxx> > >> CC: x86@xxxxxxxxxx > >> CC: Len Brown <len.brown@xxxxxxxxx> > >> CC: Joseph Cihula <joseph.cihula@xxxxxxxxx> > >> CC: Shane Wang <shane.wang@xxxxxxxxx> > >> CC: xen-devel@xxxxxxxxxxxxxxxxxxx > >> CC: linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx > >> CC: tboot-devel@xxxxxxxxxxxxxxxxxxxxx > >> CC: linux-acpi@xxxxxxxxxxxxxxx > >> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > >> --- > >> arch/x86/include/asm/acpi.h | 3 +++ > >> arch/x86/kernel/acpi/boot.c | 3 +++ > >> arch/x86/kernel/tboot.c | 13 +++++++++---- > >> drivers/acpi/acpica/hwsleep.c | 12 ++++++++++-- > >> include/linux/tboot.h | 3 ++- > >> 5 files changed, 27 insertions(+), 7 deletions(-) > >> > >> diff --git a/arch/x86/include/asm/acpi.h > >> b/arch/x86/include/asm/acpi.h index 610001d..49864a1 > >> 100644 > >> --- a/arch/x86/include/asm/acpi.h > >> +++ b/arch/x86/include/asm/acpi.h > >> @@ -98,6 +98,9 @@ void acpi_pic_sci_set_trigger(unsigned int, u16); > >> extern int (*__acpi_register_gsi)(struct device *dev, u32 gsi, > >> int trigger, int polarity); > >> > >> +extern int (*__acpi_override_sleep)(u8 sleep_state, u32 pm1a_ctrl, > >> + u32 pm1b_ctrl, bool *skip_rest); > >> + > >> static inline void disable_acpi(void) { > >> acpi_disabled = 1; > >> diff --git a/arch/x86/kernel/acpi/boot.c > >> b/arch/x86/kernel/acpi/boot.c index 4558f0d..d191b4c > >> 100644 > >> --- a/arch/x86/kernel/acpi/boot.c > >> +++ b/arch/x86/kernel/acpi/boot.c > >> @@ -552,6 +552,9 @@ static int acpi_register_gsi_ioapic(struct device > >> *dev, u32 gsi, int (*__acpi_register_gsi)(struct device *dev, u32 gsi, > >> int trigger, int polarity) = acpi_register_gsi_pic; > >> > >> +int (*__acpi_override_sleep)(u8 sleep_state, u32 pm1a_ctrl, > >> + u32 pm1b_ctrl, bool *skip_rest) = NULL; > >> + > >> /* > >> * success: return IRQ number (>=0) > >> * failure: return < 0 > >> diff --git a/arch/x86/kernel/tboot.c b/arch/x86/kernel/tboot.c index > >> 30ac65d..a18070c 100644 > >> --- a/arch/x86/kernel/tboot.c > >> +++ b/arch/x86/kernel/tboot.c > >> @@ -41,7 +41,7 @@ > >> #include <asm/setup.h> > >> #include <asm/e820.h> > >> #include <asm/io.h> > >> - > >> +#include <linux/acpi.h> > >> #include "acpi/realmode/wakeup.h" > >> > >> /* Global pointer to shared data; NULL means no measured launch. */ > >> @@ -270,7 +270,8 @@ static void tboot_copy_fadt(const struct acpi_table_fadt *fadt) > >> offsetof(struct acpi_table_facs, firmware_waking_vector); } > >> > >> -void tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control) > >> +int tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control, > >> + bool *skip_rest) > > Don't you need to use the 'unused' attrib on skip_rest in order to prevent compiler warnings? > > No, gcc doesn't warn about unused parameters. -Wunused-parameter While the kernel may not be compiled with this flag, it wouldn't hurt to specify it anyway; but it's not a big issue. Joe _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm