From: Linus Torvalds Date: Fri, 19 Oct 2007 20:12:46 +0000 (-0700) Subject: Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux... X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=c4ec20717313daafba59225f812db89595952b83;p=openwrt%2Fstaging%2Fblogic.git Merge branch 'release' of git://git./linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (41 commits) ACPICA: hw: Don't carry spinlock over suspend ACPICA: hw: remove use_lock flag from acpi_hw_register_{read, write} ACPI: cpuidle: port idle timer suspend/resume workaround to cpuidle ACPI: clean up acpi_enter_sleep_state_prep Hibernation: Make sure that ACPI is enabled in acpi_hibernation_finish ACPI: suppress uninitialized var warning cpuidle: consolidate 2.6.22 cpuidle branch into one patch ACPI: thinkpad-acpi: skip blanks before the data when parsing sysfs ACPI: AC: Add sysfs interface ACPI: SBS: Add sysfs alarm ACPI: SBS: Add ACPI_PROCFS around procfs handling code. ACPI: SBS: Add support for power_supply class (and sysfs) ACPI: SBS: Make SBS reads table-driven. ACPI: SBS: Simplify data structures in SBS ACPI: SBS: Split host controller (ACPI0001) from SBS driver (ACPI0002) ACPI: EC: Add new query handler to list head. ACPI: Add acpi_bus_generate_event4() function ACPI: Battery: add sysfs alarm ACPI: Battery: Add sysfs support ACPI: Battery: Misc clean-ups, no functional changes ... Fix up conflicts in drivers/misc/thinkpad_acpi.[ch] manually --- c4ec20717313daafba59225f812db89595952b83 diff --cc arch/i386/Kconfig index 04be7a7d090f,3328e0ab5428..d0a4ea1ba14d --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig @@@ -1080,8 -1067,10 +1080,10 @@@ config APM_REAL_MODE_POWER_OF endif # APM -source "arch/i386/kernel/cpu/cpufreq/Kconfig" +source "arch/x86/kernel/cpu/cpufreq/Kconfig" + source "drivers/cpuidle/Kconfig" + endmenu menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)" diff --cc arch/x86_64/Kconfig index d2521942e5bd,e8dbb37a29cf..25785b23df87 --- a/arch/x86_64/Kconfig +++ b/arch/x86_64/Kconfig @@@ -716,15 -702,12 +716,17 @@@ menu "Power management options source kernel/power/Kconfig +config ARCH_HIBERNATION_HEADER + bool + depends on HIBERNATION + default y + source "drivers/acpi/Kconfig" -source "arch/x86_64/kernel/cpufreq/Kconfig" +source "arch/x86/kernel/cpufreq/Kconfig" + source "drivers/cpuidle/Kconfig" + endmenu menu "Bus options (PCI etc.)" diff --cc drivers/acpi/sleep/main.c index 048295ec3707,be616317fe53..f3d3867303ec --- a/drivers/acpi/sleep/main.c +++ b/drivers/acpi/sleep/main.c @@@ -257,17 -253,13 +256,22 @@@ static int acpi_hibernation_enter(void return ACPI_SUCCESS(status) ? 0 : -EFAULT; } +static void acpi_hibernation_leave(void) +{ + /* + * If ACPI is not enabled by the BIOS and the boot kernel, we need to + * enable it here. + */ + acpi_enable(); +} + static void acpi_hibernation_finish(void) { + /* + * If ACPI is not enabled by the BIOS and the boot kernel, we need to + * enable it here. + */ + acpi_enable(); acpi_leave_sleep_state(ACPI_STATE_S4); acpi_disable_wakeup_device(ACPI_STATE_S4); diff --cc drivers/misc/thinkpad_acpi.c index 81e068fa7ac5,37891a8c030a..e953276664a0 --- a/drivers/misc/thinkpad_acpi.c +++ b/drivers/misc/thinkpad_acpi.c @@@ -517,8 -526,10 +526,10 @@@ static char *next_cmd(char **cmds ****************************************************************************/ static struct platform_device *tpacpi_pdev; + static struct platform_device *tpacpi_sensors_pdev; -static struct class_device *tpacpi_hwmon; +static struct device *tpacpi_hwmon; static struct input_dev *tpacpi_inputdev; + static struct mutex tpacpi_inputdev_send_mutex; static int tpacpi_resume_handler(struct platform_device *pdev) diff --cc drivers/misc/thinkpad_acpi.h index acd5835ec889,c5fdd688cc99..3abcc8120634 --- a/drivers/misc/thinkpad_acpi.h +++ b/drivers/misc/thinkpad_acpi.h @@@ -171,7 -172,8 +172,8 @@@ static int parse_strtoul(const char *bu /* Device model */ static struct platform_device *tpacpi_pdev; + static struct platform_device *tpacpi_sensors_pdev; -static struct class_device *tpacpi_hwmon; +static struct device *tpacpi_hwmon; static struct platform_driver tpacpi_pdriver; static struct input_dev *tpacpi_inputdev; static int tpacpi_create_driver_attributes(struct device_driver *drv);