public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* ACPI & driver patches for 2.6.33-rc2
@ 2009-12-30  7:36 Len Brown
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
  2009-12-31 15:41 ` ACPI & driver patches for 2.6.33-rc2 Anisse Astier
  0 siblings, 2 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi

This batch of patches are queued for 2.6.33-rc2
Please let me know if you have any troubles with any of them.

thanks,
-Len Brown, Intel Open Source Technology Center


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention
  2009-12-30  7:36 ACPI & driver patches for 2.6.33-rc2 Len Brown
@ 2009-12-30  7:36 ` Len Brown
  2009-12-30  7:36   ` [PATCH 02/14] ACPI: hp-wmi, msi-wmi: clarify that wmi_install_notify_handler() returns an acpi_status Len Brown
                     ` (12 more replies)
  2009-12-31 15:41 ` ACPI & driver patches for 2.6.33-rc2 Anisse Astier
  1 sibling, 13 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Len Brown

From: Len Brown <len.brown@intel.com>

wmi_install_notify_handler() returns an acpi_error,
but dell_wmi_init() needs return a -errno style error.

Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/platform/x86/dell-wmi.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c
index 916ccb2..4c7e702 100644
--- a/drivers/platform/x86/dell-wmi.c
+++ b/drivers/platform/x86/dell-wmi.c
@@ -323,6 +323,7 @@ static int __init dell_wmi_input_setup(void)
 static int __init dell_wmi_init(void)
 {
 	int err;
+	acpi_status status;
 
 	if (wmi_has_guid(DELL_EVENT_GUID)) {
 		printk(KERN_WARNING "dell-wmi: No known WMI GUID found\n");
@@ -336,14 +337,14 @@ static int __init dell_wmi_init(void)
 	if (err)
 		return err;
 
-	err = wmi_install_notify_handler(DELL_EVENT_GUID,
+	status = wmi_install_notify_handler(DELL_EVENT_GUID,
 					 dell_wmi_notify, NULL);
-	if (err) {
+	if (ACPI_FAILURE(status)) {
 		input_unregister_device(dell_wmi_input_dev);
 		printk(KERN_ERR
 			"dell-wmi: Unable to register notify handler - %d\n",
-			err);
-		return err;
+			status);
+		return -ENODEV;
 	}
 
 	return 0;
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 02/14] ACPI: hp-wmi, msi-wmi: clarify that wmi_install_notify_handler() returns an acpi_status
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
@ 2009-12-30  7:36   ` Len Brown
  2009-12-30  7:36   ` [PATCH 03/14] thinkpad-acpi: don't take the first ALSA slot by default Len Brown
                     ` (11 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Len Brown

From: Len Brown <len.brown@intel.com>

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@intel.com>
---
 drivers/platform/x86/hp-wmi.c  |    2 +-
 drivers/platform/x86/msi-wmi.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c
index 8781d8f..18bf741 100644
--- a/drivers/platform/x86/hp-wmi.c
+++ b/drivers/platform/x86/hp-wmi.c
@@ -581,7 +581,7 @@ static int __init hp_wmi_init(void)
 	if (wmi_has_guid(HPWMI_EVENT_GUID)) {
 		err = wmi_install_notify_handler(HPWMI_EVENT_GUID,
 						 hp_wmi_notify, NULL);
-		if (!err)
+		if (ACPI_SUCCESS(err))
 			hp_wmi_input_setup();
 	}
 
diff --git a/drivers/platform/x86/msi-wmi.c b/drivers/platform/x86/msi-wmi.c
index 7f77f90..f746c67 100644
--- a/drivers/platform/x86/msi-wmi.c
+++ b/drivers/platform/x86/msi-wmi.c
@@ -236,7 +236,7 @@ static int __init msi_wmi_init(void)
 	}
 	err = wmi_install_notify_handler(MSIWMI_EVENT_GUID,
 			msi_wmi_notify, NULL);
-	if (err)
+	if (ACPI_FAILURE(err))
 		return -EINVAL;
 
 	err = msi_wmi_input_setup();
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 03/14] thinkpad-acpi: don't take the first ALSA slot by default
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
  2009-12-30  7:36   ` [PATCH 02/14] ACPI: hp-wmi, msi-wmi: clarify that wmi_install_notify_handler() returns an acpi_status Len Brown
@ 2009-12-30  7:36   ` Len Brown
  2009-12-30  7:36   ` [PATCH 04/14] thinkpad-acpi: don't fail to load the entire module due to ALSA problems Len Brown
                     ` (10 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Henrique de Moraes Holschuh, Len Brown

From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>

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@gmx.net>
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/platform/x86/thinkpad_acpi.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 448c8ae..3311b00 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -6388,7 +6388,7 @@ static struct ibm_struct brightness_driver_data = {
 #define TPACPI_ALSA_SHRTNAME "ThinkPad Console Audio Control"
 #define TPACPI_ALSA_MIXERNAME TPACPI_ALSA_SHRTNAME
 
-static int alsa_index = SNDRV_DEFAULT_IDX1;
+static int alsa_index = ~((1 << (SNDRV_CARDS - 3)) - 1); /* last three slots */
 static char *alsa_id = "ThinkPadEC";
 static int alsa_enable = SNDRV_DEFAULT_ENABLE1;
 
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 04/14] thinkpad-acpi: don't fail to load the entire module due to ALSA problems
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
  2009-12-30  7:36   ` [PATCH 02/14] ACPI: hp-wmi, msi-wmi: clarify that wmi_install_notify_handler() returns an acpi_status Len Brown
  2009-12-30  7:36   ` [PATCH 03/14] thinkpad-acpi: don't take the first ALSA slot by default Len Brown
@ 2009-12-30  7:36   ` Len Brown
  2009-12-30  7:36   ` [PATCH 05/14] thinkpad-acpi: make volume subdriver optional Len Brown
                     ` (9 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Henrique de Moraes Holschuh, Len Brown

From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>

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@gmx.info>
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/platform/x86/thinkpad_acpi.c |   31 ++++++++++++++++++-------------
 1 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 3311b00..9b7da9c 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -6705,10 +6705,11 @@ static int __init volume_create_alsa_mixer(void)
 
 	rc = snd_card_create(alsa_index, alsa_id, THIS_MODULE,
 			    sizeof(struct tpacpi_alsa_data), &card);
-	if (rc < 0)
-		return rc;
-	if (!card)
-		return -ENOMEM;
+	if (rc < 0 || !card) {
+		printk(TPACPI_ERR
+			"Failed to create ALSA card structures: %d\n", rc);
+		return 1;
+	}
 
 	BUG_ON(!card->private_data);
 	data = card->private_data;
@@ -6741,8 +6742,9 @@ static int __init volume_create_alsa_mixer(void)
 		rc = snd_ctl_add(card, ctl_vol);
 		if (rc < 0) {
 			printk(TPACPI_ERR
-				"Failed to create ALSA volume control\n");
-			goto err_out;
+				"Failed to create ALSA volume control: %d\n",
+				rc);
+			goto err_exit;
 		}
 		data->ctl_vol_id = &ctl_vol->id;
 	}
@@ -6750,22 +6752,25 @@ static int __init volume_create_alsa_mixer(void)
 	ctl_mute = snd_ctl_new1(&volume_alsa_control_mute, NULL);
 	rc = snd_ctl_add(card, ctl_mute);
 	if (rc < 0) {
-		printk(TPACPI_ERR "Failed to create ALSA mute control\n");
-		goto err_out;
+		printk(TPACPI_ERR "Failed to create ALSA mute control: %d\n",
+			rc);
+		goto err_exit;
 	}
 	data->ctl_mute_id = &ctl_mute->id;
 
 	snd_card_set_dev(card, &tpacpi_pdev->dev);
 	rc = snd_card_register(card);
-
-err_out:
 	if (rc < 0) {
-		snd_card_free(card);
-		card = NULL;
+		printk(TPACPI_ERR "Failed to register ALSA card: %d\n", rc);
+		goto err_exit;
 	}
 
 	alsa_card = card;
-	return rc;
+	return 0;
+
+err_exit:
+	snd_card_free(card);
+	return 1;
 }
 
 #define TPACPI_VOL_Q_MUTEONLY	0x0001	/* Mute-only control available */
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 05/14] thinkpad-acpi: make volume subdriver optional
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
                     ` (2 preceding siblings ...)
  2009-12-30  7:36   ` [PATCH 04/14] thinkpad-acpi: don't fail to load the entire module due to ALSA problems Len Brown
@ 2009-12-30  7:36   ` Len Brown
  2009-12-30  7:36   ` [PATCH 06/14] thinkpad-acpi: update volume subdriver documentation Len Brown
                     ` (8 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi
  Cc: Henrique de Moraes Holschuh, Ingo Molnar, Amerigo Wang,
	Helight Xu, Takashi Iwai, Len Brown

From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>

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@hmh.eng.br>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Amerigo Wang <amwang@redhat.com>
Cc: Helight Xu <helight.xu@gmail.com>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/platform/x86/Kconfig         |   23 +++++++++++++++++++++++
 drivers/platform/x86/thinkpad_acpi.c |   26 ++++++++++++++++++++++++++
 2 files changed, 49 insertions(+), 0 deletions(-)

diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index ec4faff..2462dc3 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -233,6 +233,29 @@ config THINKPAD_ACPI
 
 	  If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.
 
+config THINKPAD_ACPI_ALSA_SUPPORT
+	bool "Console audio control ALSA interface"
+	depends on THINKPAD_ACPI
+	depends on SND
+	depends on SND = y || THINKPAD_ACPI = SND
+	default y
+	---help---
+	  Enables monitoring of the built-in console audio output control
+	  (headphone and speakers), which is operated by the mute and (in
+	  some ThinkPad models) volume hotkeys.
+
+	  If this option is enabled, ThinkPad-ACPI will export an ALSA card
+	  with a single read-only mixer control, which should be used for
+	  on-screen-display feedback purposes by the Desktop Environment.
+
+	  Optionally, the driver will also allow software control (the
+	  ALSA mixer will be made read-write).  Please refer to the driver
+	  documentation for details.
+
+	  All IBM models have both volume and mute control.  Newer Lenovo
+	  models only have mute control (the volume hotkeys are just normal
+	  keys and volume control is done through the main HDA mixer).
+
 config THINKPAD_ACPI_DEBUGFACILITIES
 	bool "Maintainer debug facilities"
 	depends on THINKPAD_ACPI
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 9b7da9c..e67e4fe 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -6384,6 +6384,8 @@ static struct ibm_struct brightness_driver_data = {
  * and we leave them unchanged.
  */
 
+#ifdef CONFIG_THINKPAD_ACPI_ALSA_SUPPORT
+
 #define TPACPI_ALSA_DRVNAME  "ThinkPad EC"
 #define TPACPI_ALSA_SHRTNAME "ThinkPad Console Audio Control"
 #define TPACPI_ALSA_MIXERNAME TPACPI_ALSA_SHRTNAME
@@ -7021,6 +7023,28 @@ static struct ibm_struct volume_driver_data = {
 	.shutdown = volume_shutdown,
 };
 
+#else /* !CONFIG_THINKPAD_ACPI_ALSA_SUPPORT */
+
+#define alsa_card NULL
+
+static void inline volume_alsa_notify_change(void)
+{
+}
+
+static int __init volume_init(struct ibm_init_struct *iibm)
+{
+	printk(TPACPI_INFO
+		"volume: disabled as there is no ALSA support in this kernel\n");
+
+	return 1;
+}
+
+static struct ibm_struct volume_driver_data = {
+	.name = "volume",
+};
+
+#endif /* CONFIG_THINKPAD_ACPI_ALSA_SUPPORT */
+
 /*************************************************************************
  * Fan subdriver
  */
@@ -8743,6 +8767,7 @@ MODULE_PARM_DESC(hotkey_report_mode,
 		 "used for backwards compatibility with userspace, "
 		 "see documentation");
 
+#ifdef CONFIG_THINKPAD_ACPI_ALSA_SUPPORT
 module_param_named(volume_mode, volume_mode, uint, 0444);
 MODULE_PARM_DESC(volume_mode,
 		 "Selects volume control strategy: "
@@ -8765,6 +8790,7 @@ module_param_named(id, alsa_id, charp, 0444);
 MODULE_PARM_DESC(id, "ALSA id for the ACPI EC Mixer");
 module_param_named(enable, alsa_enable, bool, 0444);
 MODULE_PARM_DESC(enable, "Enable the ALSA interface for the ACPI EC Mixer");
+#endif /* CONFIG_THINKPAD_ACPI_ALSA_SUPPORT */
 
 #define TPACPI_PARAM(feature) \
 	module_param_call(feature, set_ibm_param, NULL, NULL, 0); \
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 06/14] thinkpad-acpi: update volume subdriver documentation
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
                     ` (3 preceding siblings ...)
  2009-12-30  7:36   ` [PATCH 05/14] thinkpad-acpi: make volume subdriver optional Len Brown
@ 2009-12-30  7:36   ` Len Brown
  2009-12-30  7:36   ` [PATCH 07/14] thinkpad-acpi: improve Kconfig help text Len Brown
                     ` (7 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Henrique de Moraes Holschuh, Len Brown

From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 Documentation/laptops/thinkpad-acpi.txt |   58 ++++++++++++++++++++++++++----
 1 files changed, 50 insertions(+), 8 deletions(-)

diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt
index 169091f..75afa12 100644
--- a/Documentation/laptops/thinkpad-acpi.txt
+++ b/Documentation/laptops/thinkpad-acpi.txt
@@ -1092,8 +1092,8 @@ WARNING:
     its level up and down at every change.
 
 
-Volume control
---------------
+Volume control (Console Audio control)
+--------------------------------------
 
 procfs: /proc/acpi/ibm/volume
 ALSA: "ThinkPad Console Audio Control", default ID: "ThinkPadEC"
@@ -1110,9 +1110,53 @@ the desktop environment to just provide on-screen-display feedback.
 Software volume control should be done only in the main AC97/HDA
 mixer.
 
-This feature allows volume control on ThinkPad models with a digital
-volume knob (when available, not all models have it), as well as
-mute/unmute control.  The available commands are:
+
+About the ThinkPad Console Audio control:
+
+ThinkPads have a built-in amplifier and muting circuit that drives the
+console headphone and speakers.  This circuit is after the main AC97
+or HDA mixer in the audio path, and under exclusive control of the
+firmware.
+
+ThinkPads have three special hotkeys to interact with the console
+audio control: volume up, volume down and mute.
+
+It is worth noting that the normal way the mute function works (on
+ThinkPads that do not have a "mute LED") is:
+
+1. Press mute to mute.  It will *always* mute, you can press it as
+   many times as you want, and the sound will remain mute.
+
+2. Press either volume key to unmute the ThinkPad (it will _not_
+   change the volume, it will just unmute).
+
+This is a very superior design when compared to the cheap software-only
+mute-toggle solution found on normal consumer laptops:  you can be
+absolutely sure the ThinkPad will not make noise if you press the mute
+button, no matter the previous state.
+
+The IBM ThinkPads, and the earlier Lenovo ThinkPads have variable-gain
+amplifiers driving the speakers and headphone output, and the firmware
+also handles volume control for the headphone and speakers on these
+ThinkPads without any help from the operating system (this volume
+control stage exists after the main AC97 or HDA mixer in the audio
+path).
+
+The newer Lenovo models only have firmware mute control, and depend on
+the main HDA mixer to do volume control (which is done by the operating
+system).  In this case, the volume keys are filtered out for unmute
+key press (there are some firmware bugs in this area) and delivered as
+normal key presses to the operating system (thinkpad-acpi is not
+involved).
+
+
+The ThinkPad-ACPI volume control:
+
+The preferred way to interact with the Console Audio control is the
+ALSA interface.
+
+The legacy procfs interface allows one to read the current state,
+and if volume control is enabled, accepts the following commands:
 
 	echo up   >/proc/acpi/ibm/volume
 	echo down >/proc/acpi/ibm/volume
@@ -1121,12 +1165,10 @@ mute/unmute control.  The available commands are:
 	echo 'level <level>' >/proc/acpi/ibm/volume
 
 The <level> number range is 0 to 14 although not all of them may be
-distinct. The unmute the volume after the mute command, use either the
+distinct. To unmute the volume after the mute command, use either the
 up or down command (the level command will not unmute the volume), or
 the unmute command.
 
-The current volume level and mute state is shown in the file.
-
 You can use the volume_capabilities parameter to tell the driver
 whether your thinkpad has volume control or mute-only control:
 volume_capabilities=1 for mixers with mute and volume control,
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 07/14] thinkpad-acpi: improve Kconfig help text
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
                     ` (4 preceding siblings ...)
  2009-12-30  7:36   ` [PATCH 06/14] thinkpad-acpi: update volume subdriver documentation Len Brown
@ 2009-12-30  7:36   ` Len Brown
  2009-12-30  7:36   ` [PATCH 08/14] dell-wmi, hp-wmi, msi-wmi: check wmi_get_event_data() return value Len Brown
                     ` (6 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Henrique de Moraes Holschuh, Len Brown

From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>

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@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/platform/x86/Kconfig |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 2462dc3..db32c25 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -231,6 +231,11 @@ config THINKPAD_ACPI
 
 	  This driver was formerly known as ibm-acpi.
 
+	  Extra functionality will be available if the rfkill (CONFIG_RFKILL)
+	  and/or ALSA (CONFIG_SND) subsystems are available in the kernel.
+	  Note that if you want ThinkPad-ACPI to be built-in instead of
+	  modular, ALSA and rfkill will also have to be built-in.
+
 	  If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.
 
 config THINKPAD_ACPI_ALSA_SUPPORT
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 08/14] dell-wmi, hp-wmi, msi-wmi: check wmi_get_event_data() return value
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
                     ` (5 preceding siblings ...)
  2009-12-30  7:36   ` [PATCH 07/14] thinkpad-acpi: improve Kconfig help text Len Brown
@ 2009-12-30  7:36   ` Len Brown
  2009-12-30  7:36   ` [PATCH 09/14] ACPI: fix ACPI=n allmodconfig build Len Brown
                     ` (5 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Len Brown

From: Len Brown <len.brown@intel.com>

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@intel.com>
---
 drivers/platform/x86/dell-wmi.c |    7 ++++++-
 drivers/platform/x86/hp-wmi.c   |    7 ++++++-
 drivers/platform/x86/msi-wmi.c  |    7 ++++++-
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c
index 4c7e702..500af8c 100644
--- a/drivers/platform/x86/dell-wmi.c
+++ b/drivers/platform/x86/dell-wmi.c
@@ -202,8 +202,13 @@ static void dell_wmi_notify(u32 value, void *context)
 	struct acpi_buffer response = { ACPI_ALLOCATE_BUFFER, NULL };
 	static struct key_entry *key;
 	union acpi_object *obj;
+	acpi_status status;
 
-	wmi_get_event_data(value, &response);
+	status = wmi_get_event_data(value, &response);
+	if (status != AE_OK) {
+		printk(KERN_INFO "dell-wmi: bad event status 0x%x\n", status);
+		return;
+	}
 
 	obj = (union acpi_object *)response.pointer;
 
diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c
index 18bf741..5b648f0 100644
--- a/drivers/platform/x86/hp-wmi.c
+++ b/drivers/platform/x86/hp-wmi.c
@@ -338,8 +338,13 @@ static void hp_wmi_notify(u32 value, void *context)
 	static struct key_entry *key;
 	union acpi_object *obj;
 	int eventcode;
+	acpi_status status;
 
-	wmi_get_event_data(value, &response);
+	status = wmi_get_event_data(value, &response);
+	if (status != AE_OK) {
+		printk(KERN_INFO "hp-wmi: bad event status 0x%x\n", status);
+		return;
+	}
 
 	obj = (union acpi_object *)response.pointer;
 
diff --git a/drivers/platform/x86/msi-wmi.c b/drivers/platform/x86/msi-wmi.c
index f746c67..f5f70d4 100644
--- a/drivers/platform/x86/msi-wmi.c
+++ b/drivers/platform/x86/msi-wmi.c
@@ -149,8 +149,13 @@ static void msi_wmi_notify(u32 value, void *context)
 	static struct key_entry *key;
 	union acpi_object *obj;
 	ktime_t cur;
+	acpi_status status;
 
-	wmi_get_event_data(value, &response);
+	status = wmi_get_event_data(value, &response);
+	if (status != AE_OK) {
+		printk(KERN_INFO DRV_PFX "bad event status 0x%x\n", status);
+		return;
+	}
 
 	obj = (union acpi_object *)response.pointer;
 
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 09/14] ACPI: fix ACPI=n allmodconfig build
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
                     ` (6 preceding siblings ...)
  2009-12-30  7:36   ` [PATCH 08/14] dell-wmi, hp-wmi, msi-wmi: check wmi_get_event_data() return value Len Brown
@ 2009-12-30  7:36   ` Len Brown
  2009-12-30  7:36   ` [PATCH 10/14] wmi: check find_guid() return value to prevent oops Len Brown
                     ` (4 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Ingo Molnar, Len Brown

From: Ingo Molnar <mingo@elte.hu>

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@elte.hu>
Acked-by: Myron Stowe <myron.stowe@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/char/ipmi/ipmi_si_intf.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index 679cd08..176f175 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -3204,7 +3204,7 @@ static __devinit int init_ipmi_si(void)
 #ifdef CONFIG_ACPI
 	spmi_find_bmc();
 #endif
-#ifdef CONFIG_PNP
+#ifdef CONFIG_ACPI
 	pnp_register_driver(&ipmi_pnp_driver);
 #endif
 
@@ -3330,7 +3330,7 @@ static __exit void cleanup_ipmi_si(void)
 #ifdef CONFIG_PCI
 	pci_unregister_driver(&ipmi_pci_driver);
 #endif
-#ifdef CONFIG_PNP
+#ifdef CONFIG_ACPI
 	pnp_unregister_driver(&ipmi_pnp_driver);
 #endif
 
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 10/14] wmi: check find_guid() return value to prevent oops
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
                     ` (7 preceding siblings ...)
  2009-12-30  7:36   ` [PATCH 09/14] ACPI: fix ACPI=n allmodconfig build Len Brown
@ 2009-12-30  7:36   ` Len Brown
  2009-12-30  7:36   ` [PATCH 11/14] dell-wmi - fix condition to abort driver loading Len Brown
                     ` (3 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Paul Rolland, Len Brown

From: Paul Rolland <rol@as2917.net>

Signed-off-by: Paul Rolland <rol@as2917.net>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/platform/x86/wmi.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
index 9f93d6c..cc9ad74 100644
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -492,8 +492,7 @@ wmi_notify_handler handler, void *data)
 	if (!guid || !handler)
 		return AE_BAD_PARAMETER;
 
-	find_guid(guid, &block);
-	if (!block)
+	if (!find_guid(guid, &block))
 		return AE_NOT_EXIST;
 
 	if (block->handler)
@@ -521,8 +520,7 @@ acpi_status wmi_remove_notify_handler(const char *guid)
 	if (!guid)
 		return AE_BAD_PARAMETER;
 
-	find_guid(guid, &block);
-	if (!block)
+	if (!find_guid(guid, &block))
 		return AE_NOT_EXIST;
 
 	if (!block->handler)
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 11/14] dell-wmi - fix condition to abort driver loading
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
                     ` (8 preceding siblings ...)
  2009-12-30  7:36   ` [PATCH 10/14] wmi: check find_guid() return value to prevent oops Len Brown
@ 2009-12-30  7:36   ` Len Brown
  2009-12-30  7:36   ` [PATCH 12/14] ACPI: WMI: Survive BIOS with duplicate GUIDs Len Brown
                     ` (2 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Dmitry Torokhov, Dmitry Torokhov, Len Brown

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>

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@mail.ru>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/platform/x86/dell-wmi.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c
index 500af8c..1b1dddb 100644
--- a/drivers/platform/x86/dell-wmi.c
+++ b/drivers/platform/x86/dell-wmi.c
@@ -330,7 +330,7 @@ static int __init dell_wmi_init(void)
 	int err;
 	acpi_status status;
 
-	if (wmi_has_guid(DELL_EVENT_GUID)) {
+	if (!wmi_has_guid(DELL_EVENT_GUID)) {
 		printk(KERN_WARNING "dell-wmi: No known WMI GUID found\n");
 		return -ENODEV;
 	}
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 12/14] ACPI: WMI: Survive BIOS with duplicate GUIDs
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
                     ` (9 preceding siblings ...)
  2009-12-30  7:36   ` [PATCH 11/14] dell-wmi - fix condition to abort driver loading Len Brown
@ 2009-12-30  7:36   ` Len Brown
  2009-12-30  7:36   ` [PATCH 13/14] ACPI video: no warning message if "acpi_backlight=vendor" is used Len Brown
  2009-12-30  7:36   ` [PATCH 14/14] ACPI video: correct error-handling code Len Brown
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Carlos Corbacho, Len Brown

From: Carlos Corbacho <carlos@strangeworlds.co.uk>

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@strangeworlds.co.uk>
Reported-by: Larry Finger <Larry.Finger@lwfinger.net>
Reported-by: Oldřich Jedlička <oldium.pro@seznam.cz>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/platform/x86/wmi.c |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
index cc9ad74..b104302 100644
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -714,6 +714,22 @@ static int wmi_class_init(void)
 	return ret;
 }
 
+static bool guid_already_parsed(const char *guid_string)
+{
+	struct guid_block *gblock;
+	struct wmi_block *wblock;
+	struct list_head *p;
+
+	list_for_each(p, &wmi_blocks.list) {
+		wblock = list_entry(p, struct wmi_block, list);
+		gblock = &wblock->gblock;
+
+		if (strncmp(gblock->guid, guid_string, 16) == 0)
+			return true;
+	}
+	return false;
+}
+
 /*
  * Parse the _WDG method for the GUID data blocks
  */
@@ -723,6 +739,7 @@ static __init acpi_status parse_wdg(acpi_handle handle)
 	union acpi_object *obj;
 	struct guid_block *gblock;
 	struct wmi_block *wblock;
+	char guid_string[37];
 	acpi_status status;
 	u32 i, total;
 
@@ -745,6 +762,19 @@ static __init acpi_status parse_wdg(acpi_handle handle)
 	memcpy(gblock, obj->buffer.pointer, obj->buffer.length);
 
 	for (i = 0; i < total; i++) {
+		/*
+		  Some WMI devices, like those for nVidia hooks, have a
+		  duplicate GUID. It's not clear what we should do in this
+		  case yet, so for now, we'll just ignore the duplicate.
+		  Anyone who wants to add support for that device can come
+		  up with a better workaround for the mess then.
+		*/
+		if (guid_already_parsed(gblock[i].guid) == true) {
+			wmi_gtoa(gblock[i].guid, guid_string);
+			printk(KERN_INFO PREFIX "Skipping duplicate GUID %s\n",
+				guid_string);
+			continue;
+		}
 		wblock = kzalloc(sizeof(struct wmi_block), GFP_KERNEL);
 		if (!wblock)
 			return AE_NO_MEMORY;
-- 
1.6.0.6

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 13/14] ACPI video: no warning message if "acpi_backlight=vendor" is used
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
                     ` (10 preceding siblings ...)
  2009-12-30  7:36   ` [PATCH 12/14] ACPI: WMI: Survive BIOS with duplicate GUIDs Len Brown
@ 2009-12-30  7:36   ` Len Brown
  2009-12-30  7:36   ` [PATCH 14/14] ACPI video: correct error-handling code Len Brown
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Zhang Rui, Len Brown

From: Zhang Rui <rui.zhang@intel.com>

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@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/acpi/video.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 05dff63..3b063a6 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -1979,6 +1979,10 @@ acpi_video_switch_brightness(struct acpi_video_device *device, int event)
 	unsigned long long level_current, level_next;
 	int result = -EINVAL;
 
+	/* no warning message if acpi_backlight=vendor is used */
+	if (!acpi_video_backlight_support())
+		return 0;
+
 	if (!device->brightness)
 		goto out;
 
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 14/14] ACPI video: correct error-handling code
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
                     ` (11 preceding siblings ...)
  2009-12-30  7:36   ` [PATCH 13/14] ACPI video: no warning message if "acpi_backlight=vendor" is used Len Brown
@ 2009-12-30  7:36   ` Len Brown
  12 siblings, 0 replies; 16+ messages in thread
From: Len Brown @ 2009-12-30  7:36 UTC (permalink / raw)
  To: linux-acpi; +Cc: Zhang Rui, Len Brown

From: Zhang Rui <rui.zhang@intel.com>

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@intel.com>
Acked-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/acpi/video.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 05dff63..3f685db 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -999,8 +999,10 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
 		sprintf(name, "acpi_video%d", count++);
 		device->backlight = backlight_device_register(name,
 			NULL, device, &acpi_backlight_ops);
-		device->backlight->props.max_brightness = device->brightness->count-3;
 		kfree(name);
+		if (IS_ERR(device->backlight))
+			return;
+		device->backlight->props.max_brightness = device->brightness->count-3;
 
 		result = sysfs_create_link(&device->backlight->dev.kobj,
 					   &device->dev->dev.kobj, "device");
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: ACPI & driver patches for 2.6.33-rc2
  2009-12-30  7:36 ACPI & driver patches for 2.6.33-rc2 Len Brown
  2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
@ 2009-12-31 15:41 ` Anisse Astier
  1 sibling, 0 replies; 16+ messages in thread
From: Anisse Astier @ 2009-12-31 15:41 UTC (permalink / raw)
  To: Len Brown; +Cc: linux-acpi

Hi Len,

On Wed, 30 Dec 2009 02:36:23 -0500, Len Brown <lenb@kernel.org> wrote :

> This batch of patches are queued for 2.6.33-rc2
> Please let me know if you have any troubles with any of them.
> 
> thanks,
> -Len Brown, Intel Open Source Technology Center
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

It's in no rush, but something needs to be done about this regression: 
http://bugzilla.kernel.org/show_bug.cgi?id=14890 , which is either take
the attached patch or revert the offending commit (what you did earlier in
acpi/test and acpi/release before dropping 
d11e073ee3e3091d9190dace97ce480e960cca1b). I'd prefer the taking the patch.

BTW, I screwed up for this, since I didn't see read Thomas' patch which was
sent earlier and did the same thing (except better). The kfree in dell-wmi.c
should still be safe.

Happy Holidays,

Anisse

From: Anisse Astier <anisse@astier.eu>
Date: Mon, 28 Dec 2009 10:27:30 +0100
Subject: [PATCH] hp-wmi: remove double free

Commit 3e9b988e4edf065d39c1343937f717319b1c1065 had the same purpose as commit
44ef00e6482e755f36629773abc2aee83a6f53e3 .
This should solve this regression:
http://bugzilla.kernel.org/show_bug.cgi?id=14890

Signed-off-by: Anisse Astier <anisse@astier.eu>
Reported-by: Sedat Dilek <sedat.dilek@googlemail.com>

---
 drivers/platform/x86/hp-wmi.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c
index 8781d8f..222ab57 100644
--- a/drivers/platform/x86/hp-wmi.c
+++ b/drivers/platform/x86/hp-wmi.c
@@ -388,8 +388,6 @@ static void hp_wmi_notify(u32 value, void *context)
 	} else
 		printk(KERN_INFO "HP WMI: Unknown key pressed - %x\n",
 			eventcode);
-
-	kfree(obj);
 }
 
 static int __init hp_wmi_input_setup(void)
-- 
1.6.5.7


^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2009-12-31 15:46 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-30  7:36 ACPI & driver patches for 2.6.33-rc2 Len Brown
2009-12-30  7:36 ` [PATCH 01/14] dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should follow 0/-E convention Len Brown
2009-12-30  7:36   ` [PATCH 02/14] ACPI: hp-wmi, msi-wmi: clarify that wmi_install_notify_handler() returns an acpi_status Len Brown
2009-12-30  7:36   ` [PATCH 03/14] thinkpad-acpi: don't take the first ALSA slot by default Len Brown
2009-12-30  7:36   ` [PATCH 04/14] thinkpad-acpi: don't fail to load the entire module due to ALSA problems Len Brown
2009-12-30  7:36   ` [PATCH 05/14] thinkpad-acpi: make volume subdriver optional Len Brown
2009-12-30  7:36   ` [PATCH 06/14] thinkpad-acpi: update volume subdriver documentation Len Brown
2009-12-30  7:36   ` [PATCH 07/14] thinkpad-acpi: improve Kconfig help text Len Brown
2009-12-30  7:36   ` [PATCH 08/14] dell-wmi, hp-wmi, msi-wmi: check wmi_get_event_data() return value Len Brown
2009-12-30  7:36   ` [PATCH 09/14] ACPI: fix ACPI=n allmodconfig build Len Brown
2009-12-30  7:36   ` [PATCH 10/14] wmi: check find_guid() return value to prevent oops Len Brown
2009-12-30  7:36   ` [PATCH 11/14] dell-wmi - fix condition to abort driver loading Len Brown
2009-12-30  7:36   ` [PATCH 12/14] ACPI: WMI: Survive BIOS with duplicate GUIDs Len Brown
2009-12-30  7:36   ` [PATCH 13/14] ACPI video: no warning message if "acpi_backlight=vendor" is used Len Brown
2009-12-30  7:36   ` [PATCH 14/14] ACPI video: correct error-handling code Len Brown
2009-12-31 15:41 ` ACPI & driver patches for 2.6.33-rc2 Anisse Astier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox