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....@intel.com>
---
Change since V1:
        Remove wakeup_enabled flag and disable gpe operation
in the acpi_button_remove().

 drivers/acpi/button.c | 18 ------------------
 1 file changed, 18 deletions(-)

diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
index 9e3a6cb..11c11f6 100644
--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -100,7 +100,6 @@ struct acpi_button {
        struct input_dev *input;
        char phys[32];                  /* for input device */
        unsigned long pushed;
-       bool wakeup_enabled;
 };
 
 static BLOCKING_NOTIFIER_HEAD(acpi_lid_notifier);
@@ -406,16 +405,6 @@ 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;
-               }
-       }
-
        printk(KERN_INFO PREFIX "%s [%s]\n", name, acpi_device_bid(device));
        return 0;
 
@@ -432,13 +421,6 @@ static int acpi_button_remove(struct acpi_device *device)
 {
        struct acpi_button *button = acpi_driver_data(device);
 
-       if (device->wakeup.flags.valid) {
-               acpi_disable_gpe(device->wakeup.gpe_device,
-                               device->wakeup.gpe_number);
-               if (button->wakeup_enabled)
-                       device_set_wakeup_enable(&device->dev, false);
-       }
-
        acpi_button_remove_fs(device);
        input_unregister_device(button->input);
        kfree(button);
-- 
1.8.2.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to