]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/acpi/button.c
Merge branch 'fixes-jgarzik' of git://git.kernel.org/pub/scm/linux/kernel/git/linvill...
[linux-2.6-omap-h63xx.git] / drivers / acpi / button.c
index cb4110b50cd0f19f15b0f6c6d124861bd62a82ef..301e832e6961290912396f92fd54244f30b5ba7f 100644 (file)
@@ -66,6 +66,16 @@ MODULE_AUTHOR("Paul Diefenbaugh");
 MODULE_DESCRIPTION("ACPI Button Driver");
 MODULE_LICENSE("GPL");
 
+static const struct acpi_device_id button_device_ids[] = {
+       {ACPI_BUTTON_HID_LID,    0},
+       {ACPI_BUTTON_HID_SLEEP,  0},
+       {ACPI_BUTTON_HID_SLEEPF, 0},
+       {ACPI_BUTTON_HID_POWER,  0},
+       {ACPI_BUTTON_HID_POWERF, 0},
+       {"", 0},
+};
+MODULE_DEVICE_TABLE(acpi, button_device_ids);
+
 static int acpi_button_add(struct acpi_device *device);
 static int acpi_button_remove(struct acpi_device *device, int type);
 static int acpi_button_info_open_fs(struct inode *inode, struct file *file);
@@ -74,7 +84,7 @@ static int acpi_button_state_open_fs(struct inode *inode, struct file *file);
 static struct acpi_driver acpi_button_driver = {
        .name = "button",
        .class = ACPI_BUTTON_CLASS,
-       .ids = "button_power,button_sleep,PNP0C0D,PNP0C0C,PNP0C0E",
+       .ids = button_device_ids,
        .ops = {
                .add = acpi_button_add,
                .remove = acpi_button_remove,
@@ -274,7 +284,7 @@ static void acpi_button_notify(acpi_handle handle, u32 event, void *data)
                }
                input_sync(input);
 
-               acpi_bus_generate_event(button->device, event,
+               acpi_bus_generate_proc_event(button->device, event,
                                        ++button->pushed);
                break;
        default:
@@ -424,18 +434,18 @@ static int acpi_button_add(struct acpi_device *device)
        switch (button->type) {
        case ACPI_BUTTON_TYPE_POWER:
        case ACPI_BUTTON_TYPE_POWERF:
-               input->evbit[0] = BIT(EV_KEY);
+               input->evbit[0] = BIT_MASK(EV_KEY);
                set_bit(KEY_POWER, input->keybit);
                break;
 
        case ACPI_BUTTON_TYPE_SLEEP:
        case ACPI_BUTTON_TYPE_SLEEPF:
-               input->evbit[0] = BIT(EV_KEY);
+               input->evbit[0] = BIT_MASK(EV_KEY);
                set_bit(KEY_SLEEP, input->keybit);
                break;
 
        case ACPI_BUTTON_TYPE_LID:
-               input->evbit[0] = BIT(EV_SW);
+               input->evbit[0] = BIT_MASK(EV_SW);
                set_bit(SW_LID, input->swbit);
                break;
        }