diff mbox

[Update] ACPI/Button: Fix enable Button GPEs twice

Message ID 1386318760-5887-1-git-send-email-tianyu.lan@intel.com (mailing list archive)
State Changes Requested, archived
Headers show

Commit Message

lan,Tianyu Dec. 6, 2013, 8:32 a.m. UTC
Button GPEs have been enabled in the acpi_wake_device_init() during
boot and Button driver enables these GPEs second time. This causes
disabling these gpes via sysfs interface requires twice "echo disable
> /sys/firmware/acpi/interrupts/gpeXXX". This patch is to remove
related code in the Button driver.

Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
---
Update:
	fix a typo, sorry for noise.

 drivers/acpi/button.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

Comments

Aaron Lu Dec. 6, 2013, 8:59 a.m. UTC | #1
On 12/06/2013 04:32 PM, Lan Tianyu wrote:
> Button GPEs have been enabled in the acpi_wake_device_init() during
> boot and Button driver enables these GPEs second time. This causes
> disabling these gpes via sysfs interface requires twice "echo disable
>> /sys/firmware/acpi/interrupts/gpeXXX". This patch is to remove
> related code in the Button driver.
> 
> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
> ---
> Update:
> 	fix a typo, sorry for noise.
> 
>  drivers/acpi/button.c | 12 +++---------
>  1 file changed, 3 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
> index 9e3a6cb..6643f2d 100644
> --- a/drivers/acpi/button.c
> +++ b/drivers/acpi/button.c
> @@ -406,15 +406,9 @@ static int acpi_button_add(struct acpi_device *device)
>  		lid_device = device;
>  	}
>  
> -	if (device->wakeup.flags.valid) {
> -		/* Button's GPE is run-wake GPE */
> -		acpi_enable_gpe(device->wakeup.gpe_device,
> -				device->wakeup.gpe_number);
> -		if (!device_may_wakeup(&device->dev)) {
> -			device_set_wakeup_enable(&device->dev, true);
> -			button->wakeup_enabled = true;
> -		}
> -	}
> +	/* Button GPEs have been enabled in the acpi_wakeup_device_list()*/
> +	if (device->wakeup.flags.valid)
> +		button->wakeup_enabled = true;

It doesn't seem we need this wakeup_enabled flag anymore, since we want
button/lid's GPE to be always enabled no matter if button driver is in
use or not and we have already taken care of this in
acpi_wakeup_device_init function, we can drop it from button driver.

Thanks,
Aaron

>  
>  	printk(KERN_INFO PREFIX "%s [%s]\n", name, acpi_device_bid(device));
>  	return 0;
> 

--
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
diff mbox

Patch

diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
index 9e3a6cb..6643f2d 100644
--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -406,15 +406,9 @@  static int acpi_button_add(struct acpi_device *device)
 		lid_device = device;
 	}
 
-	if (device->wakeup.flags.valid) {
-		/* Button's GPE is run-wake GPE */
-		acpi_enable_gpe(device->wakeup.gpe_device,
-				device->wakeup.gpe_number);
-		if (!device_may_wakeup(&device->dev)) {
-			device_set_wakeup_enable(&device->dev, true);
-			button->wakeup_enabled = true;
-		}
-	}
+	/* Button GPEs have been enabled in the acpi_wakeup_device_list()*/
+	if (device->wakeup.flags.valid)
+		button->wakeup_enabled = true;
 
 	printk(KERN_INFO PREFIX "%s [%s]\n", name, acpi_device_bid(device));
 	return 0;