Hi Linus, please pull from: git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git release 5 thinkpad sound tweaks 4 needed error checks 3 regression bug fixes 2 debugging bootparams and a BIOS workaround in a pear tree. This will update the files shown below. thanks! -- Len Brown Intel Open Source Technology Center ps. individual patches are available on linux-acpi@xxxxxxxxxxxxxxx and a consolidated plain patch is available here: http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/2.6.33/acpi-release-20091214-2.6.33-rc2.diff.gz Documentation/kernel-parameters.txt | 5 ++- Documentation/laptops/thinkpad-acpi.txt | 58 ++++++++++++++++++++++++++---- arch/x86/kernel/acpi/sleep.c | 2 + drivers/acpi/sleep.c | 29 +++++++++------ drivers/acpi/video.c | 8 ++++- drivers/char/ipmi/ipmi_si_intf.c | 4 +- drivers/platform/x86/Kconfig | 28 ++++++++++++++ drivers/platform/x86/dell-wmi.c | 18 ++++++--- drivers/platform/x86/hp-wmi.c | 9 ++++- drivers/platform/x86/msi-wmi.c | 9 ++++- drivers/platform/x86/thinkpad_acpi.c | 59 +++++++++++++++++++++++------- drivers/platform/x86/wmi.c | 36 +++++++++++++++++-- include/linux/acpi.h | 1 + 13 files changed, 214 insertions(+), 52 deletions(-) through these commits: Carlos Corbacho (1): ACPI: WMI: Survive BIOS with duplicate GUIDs Dmitry Torokhov (1): dell-wmi - fix condition to abort driver loading Henrique de Moraes Holschuh (5): thinkpad-acpi: don't take the first ALSA slot by default thinkpad-acpi: don't fail to load the entire module due to ALSA problems thinkpad-acpi: make volume subdriver optional thinkpad-acpi: update volume subdriver documentation thinkpad-acpi: improve Kconfig help text Ingo Molnar (1): ACPI: fix ACPI=n allmodconfig build Len Brown (3): dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should ACPI: hp-wmi, msi-wmi: clarify that wmi_install_notify_handler() returns an acpi_status dell-wmi, hp-wmi, msi-wmi: check wmi_get_event_data() return value Paul Rolland (1): wmi: check find_guid() return value to prevent oops Zhang Rui (3): ACPI video: no warning message if "acpi_backlight=vendor" is used ACPI video: correct error-handling code ACPI: introduce kernel parameter acpi_sleep=sci_force_enable with this log: commit 1201b2a9bec0413188ada1443ece1a52da6dbff4 Merge: cccc67a d7f0eea Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Dec 30 18:32:32 2009 -0500 Merge branch 'resume-sci-force-bootparam' into release commit d7f0eea9e431e1b8b0742a74db1a9490730b2a25 Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Wed Dec 30 15:36:42 2009 +0800 ACPI: introduce kernel parameter acpi_sleep=sci_force_enable Introduce kernel parameter acpi_sleep=sci_force_enable some laptop requires SCI_EN being set directly on resume, or else they hung somewhere in the resume code path. We already have a blacklist for these laptops but we still need this option, especially when debugging some suspend/resume problems, in case there are systems that need this workaround and are not yet in the blacklist. Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Acked-by: Rafael J. Wysocki <rjw@xxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit cccc67a4cf52a952e6371ac75510994e0bddec96 Merge: b943aa8 e01ce79 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Dec 30 02:51:38 2009 -0500 Merge branch 'video-error-case' into release commit b943aa83f8038959999a6b12e469a875ab245a36 Merge: ea840aa 28c32e9 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Dec 30 02:51:31 2009 -0500 Merge branch 'bugzilla-13671' into release commit ea840aa2d01cf107b331d04ddea46efaee583a83 Merge: 1ae22af 6e5b08e Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Dec 30 02:51:05 2009 -0500 Merge branch 'thinkpad' into release commit 1ae22af7d750fbf665b7651fcbd3c15cc2d3793b Merge: 27d0567 d1f9e49 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Dec 30 02:51:01 2009 -0500 Merge branch 'wmi' into release commit d1f9e4970742bb1e22d07b01bd44f9c357d25c42 Author: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx> Date: Sat Dec 26 19:14:59 2009 +0000 ACPI: WMI: Survive BIOS with duplicate GUIDs It would appear that in BIOS's with nVidia hooks, the GUID 05901221-D566-11D1-B2F0-00A0C9062910 is duplicated. For now, the simplest solution is to just ignore any duplicate GUIDs. These particular hooks are not currently supported/ used in the kernel, so whoever does that can figure out what the 'right' solution should be (if there's a better one). http://bugzilla.kernel.org/show_bug.cgi?id=14846 Signed-off-by: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx> Reported-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Reported-by: Oldřich Jedlička <oldium.pro@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 7a9568f536754623738110a314ff33286cdbb17d Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Dec 25 11:49:35 2009 -0800 dell-wmi - fix condition to abort driver loading From: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> The commit 1fdd407f4e3f2ecb453954cbebb6c22491c61853 incorrectly made driver abort loading when known GUID is present when it should have done exactly the opposite. Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit c03b26a5a5597a59b2e247d005d5901430109a8a Author: Paul Rolland <rol@xxxxxxxxxx> Date: Wed Dec 30 01:07:40 2009 -0500 wmi: check find_guid() return value to prevent oops Signed-off-by: Paul Rolland <rol@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit fda11e61ff8a4e3a8ebbd434e46560b67cc0ca9d Author: Len Brown <len.brown@xxxxxxxxx> Date: Sat Dec 26 23:02:24 2009 -0500 dell-wmi, hp-wmi, msi-wmi: check wmi_get_event_data() return value When acpi_evaluate_object() is passed ACPI_ALLOCATE_BUFFER, the caller must kfree the returned buffer if AE_OK is returned. The callers of wmi_get_event_data() pass ACPI_ALLOCATE_BUFFER, and thus must check its return value before accessing or kfree() on the buffer. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit f27725756be8a2c2dc65eaf70d0b52807aa2f113 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sat Dec 26 22:04:03 2009 -0500 ACPI: hp-wmi, msi-wmi: clarify that wmi_install_notify_handler() returns an acpi_status Emphasize that that wmi_install_notify_handler() returns an acpi_status rather than -errno by by testing ACPI_SUCCESS(), ACPI_FAILURE(). No functional change in this patch, but this confusion caused a bug in dell-wmi. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit abb631bfe271a9102fb5b05419272b7aec37a974 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sat Dec 26 21:51:38 2009 -0500 dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention wmi_install_notify_handler() returns an acpi_error, but dell_wmi_init() needs return a -errno style error. Tested-by: Paul Rolland <rol@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit e01ce79b7f6ebc5b57128ee058811aa8f9059319 Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Wed Jul 29 08:53:29 2009 +0800 ACPI video: correct error-handling code backlight_device_register may return an ERR_PTR value rather than a valid pointer. Problem found by Julia Lawall, properly fixed by Zhang Rui. Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Acked-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 28c32e99bdf5ab838e7179c1aaca5a35a07f2a2b Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Mon Jul 13 10:33:24 2009 +0800 ACPI video: no warning message if "acpi_backlight=vendor" is used AML code always sends notifications to ACPI video device, even if we disable the ACPI backlight control by using boot option "acpi_backlight=vendor". In this case we should not print any warning message. http://bugzilla.kernel.org/show_bug.cgi?id=13671#c14 Sigend-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 27d0567ab635bc2af11be48f91c8d5a7a2dca2e4 Author: Ingo Molnar <mingo@xxxxxxx> Date: Thu Dec 17 08:50:25 2009 +0100 ACPI: fix ACPI=n allmodconfig build Today's -tip failed to build because commit 9e368fa011d4e0aa050db348d69514900520e40b ("ipmi: add PNP discovery (ACPI namespace via PNPACPI)") from today's upstream kernel causes the following build failure on x86, for CONFIG_ACPI=n && CONFIG_IPMI_SI=y: drivers/char/ipmi/ipmi_si_intf.c:3208: error: 'ipmi_pnp_driver' undeclared (first use in this function) drivers/char/ipmi/ipmi_si_intf.c:3208: error: (Each undeclared identifier is reported only once drivers/char/ipmi/ipmi_si_intf.c:3208: error: for each function it appears in.) drivers/char/ipmi/ipmi_si_intf.c:3334: error: 'ipmi_pnp_driver' undeclared (first use in this function) The reason is that the ipmi_pnp_driver depends on ACPI facilities and is only made available under ACPI - while the registration and unregistration is made dependent on CONFIG_PNP: #ifdef CONFIG_PNP pnp_register_driver(&ipmi_pnp_driver); #endif The solution is to only register this driver under ACPI. (Also, the CONFIG_PNP dependency is not needed because pnp_register_driver() is stubbed out in the !CONFIG_PNP case.) Signed-off-by: Ingo Molnar <mingo@xxxxxxx> Acked-by: Myron Stowe <myron.stowe@xxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 6e5b08ee941af38cfc6456158e7e04c1bc49306f Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Sat Dec 26 22:52:17 2009 -0200 thinkpad-acpi: improve Kconfig help text Document that rfkill and ALSA functionality exists, but requires the subsystems to be available, and not modular if thinkpad-acpi is not modular. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 169220f88f0f26f4450ac0bc8ff0f807b453ec58 Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Sat Dec 26 22:52:16 2009 -0200 thinkpad-acpi: update volume subdriver documentation Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit ff850c339a1a6a7724537160c73cdc09a483fc5d Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Sat Dec 26 22:52:15 2009 -0200 thinkpad-acpi: make volume subdriver optional Allow the user to choose through Kconfig if the Console Audio Control interface (aka "volume subdriver") should be available or not. This not only saves some memory, but also allows the thinkpad-acpi driver to be built-in even if ALSA is modular when the console audio control interface is not wanted. This change fixes a build problem that is causing some annoyances, in a way that doesn't disable the entire driver on kernels without ALSA support. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Amerigo Wang <amwang@xxxxxxxxxx> Cc: Helight Xu <helight.xu@xxxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 74c75c1848b618f6717c1be887ad539ffac2e96d Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Sat Dec 26 22:52:14 2009 -0200 thinkpad-acpi: don't fail to load the entire module due to ALSA problems If we cannot create the ALSA mixer, it is a good reason to fail to load the volume subdriver, and not to fail to load the entire module. While at it, add more debugging messages, as the error paths are being used a lot more than I'd expect, and it is failing to set up the ALSA mixer on a number of ThinkPads. Reported-by: Peter Jordan <usernetwork@xxxxxxxx> Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit ead510cebcdf41c92fce2a909f342255b028a33d Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Sat Dec 26 22:52:13 2009 -0200 thinkpad-acpi: don't take the first ALSA slot by default We don't want to be the first soundcard. We don't want to shift other soundcards out of the way either, even if they load much later. Ask ALSA to (by default) load us in one of the last three slots. This can be overriden at will using the "index" parameter. Reported-by: Whoopie <whoopie79@xxxxxxx> Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx>