Rafael J. Wysocki wrote: > On Tuesday, 25 September 2007 14:05, Alexey Starikovskiy wrote: >> Rafael J. Wysocki wrote: >>> On Tuesday, 25 September 2007 13:45, Rafael J. Wysocki wrote: >>>> On Tuesday, 25 September 2007 11:58, Damien Wyart wrote: >>>>>>> No, I do not have CONFIG_ACPI_SLEEP set, >>>>>>> because I do not have CONFIG_PM_SLEEP set, >>>>>>> because I do not want SUSPEND and/or HIBERNATION. >>>>>> Same answer from my side: I do not have CONFIG_ACPI_SLEEP for the same >>>>>> reason (and this worked fine without them in rc7). I do not think >>>>>> these settings should have changed between rc7 and rc8. >>>> Well, we haven't changed much. >>>> >>>>> Also, another test I just did: on another computer, rc8 is fine >>>>> regarding ACPI power off, even if CONFIG_ACPI_SLEEP is not set. I can >>>>> provide config if needed. >>>> On the box that fails to power off, can you please test -rc8 with these two >>>> commits reverted: >>>> >>>> commit 5a50fe709d527f31169263e36601dd83446d5744 >>>> ACPI: suspend: consolidate handling of Sx states addendum >>>> >>>> commit f216cc3748a3a22c2b99390fddcdafa0583791a2 >>>> ACPI: suspend: consolidate handling of Sx states. >>>> >>>> and see if it works? >>> If it does, please test the patch from this message >>> >>> http://marc.info/?l=linux-kernel&m=119052978117735&w=4 >>> >>> on top of vanilla 2.6.23-rc8. >> You will need one more patch on top of just mentioned one. > > Hm, why did you put acpi_target_sleep_state under CONFIG_SUSPEND? > > CONFIG_HIBERNATION needs acpi_target_sleep_state too. Agree, attaching updated patch. Thanks, Alex.
ACPI: suspend: fix ACPI_SLEEP states From: Alexey Starikovskiy <astarikovskiy@xxxxxxx> Signed-off-by: Alexey Starikovskiy <astarikovskiy@xxxxxxx> --- drivers/acpi/sleep/Makefile | 2 +- drivers/acpi/sleep/main.c | 5 +++++ include/acpi/acpi_drivers.h | 4 ---- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/acpi/sleep/Makefile b/drivers/acpi/sleep/Makefile index ba9bd40..f1fb888 100644 --- a/drivers/acpi/sleep/Makefile +++ b/drivers/acpi/sleep/Makefile @@ -1,5 +1,5 @@ obj-y := wakeup.o -obj-$(CONFIG_ACPI_SLEEP) += main.o +obj-y += main.o obj-$(CONFIG_ACPI_SLEEP) += proc.o EXTRA_CFLAGS += $(ACPI_CFLAGS) diff --git a/drivers/acpi/sleep/main.c b/drivers/acpi/sleep/main.c index c79edcb..6ea0628 100644 --- a/drivers/acpi/sleep/main.c +++ b/drivers/acpi/sleep/main.c @@ -24,7 +24,9 @@ u8 sleep_states[ACPI_S_STATE_COUNT]; +#if defined(CONFIG_SUSPEND)||defined(CONFIG_HIBERNATION) static u32 acpi_target_sleep_state = ACPI_STATE_S0; +#endif int acpi_sleep_prepare(u32 acpi_state) { @@ -48,6 +50,7 @@ int acpi_sleep_prepare(u32 acpi_state) } #ifdef CONFIG_SUSPEND + static struct pm_ops acpi_pm_ops; extern void do_suspend_lowlevel(void); @@ -299,6 +302,7 @@ int acpi_suspend(u32 acpi_state) return -EINVAL; } +#ifdef CONFIG_PM_SLEEP /** * acpi_pm_device_sleep_state - return preferred power state of ACPI device * in the system sleep state given by %acpi_target_sleep_state @@ -373,6 +377,7 @@ int acpi_pm_device_sleep_state(struct device *dev, int wake, int *d_min_p) *d_min_p = d_min; return d_max; } +#endif static void acpi_power_off_prepare(void) { diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h index 202acb9..f85f77a 100644 --- a/include/acpi/acpi_drivers.h +++ b/include/acpi/acpi_drivers.h @@ -147,10 +147,6 @@ static inline void unregister_hotplug_dock_device(acpi_handle handle) /*-------------------------------------------------------------------------- Suspend/Resume -------------------------------------------------------------------------- */ -#ifdef CONFIG_ACPI_SLEEP extern int acpi_sleep_init(void); -#else -static inline int acpi_sleep_init(void) { return 0; } -#endif #endif /*__ACPI_DRIVERS_H__*/