Re: [Xen-devel] RE: [PATCH 2/7] x86, acpi, tboot: Have a ACPI sleep override instead of calling tboot_sleep.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux