--- acpi4asus-0.41.orig/driver/asus-laptop.c +++ acpi4asus-0.41/driver/asus-laptop.c @@ -204,10 +204,15 @@ */ static int asus_hotk_add(struct acpi_device *device); static int asus_hotk_remove(struct acpi_device *device, int type); +static struct acpi_device_id asus_hotk_driver_ids[] = { + {ASUS_HOTK_HID, 0}, + {"", 0} +}; + static struct acpi_driver asus_hotk_driver = { .name = ASUS_HOTK_NAME, .class = ASUS_HOTK_CLASS, - .ids = ASUS_HOTK_HID, + .ids = asus_hotk_driver_ids, .ops = { .add = asus_hotk_add, .remove = asus_hotk_remove, @@ -731,7 +736,7 @@ lcd_blank(FB_BLANK_POWERDOWN); } - acpi_bus_generate_event(hotk->device, event, + acpi_bus_generate_proc_event(hotk->device, event, hotk->event_count[event % 128]++); return; @@ -1074,8 +1079,8 @@ } #define ASUS_LED_UNREGISTER(object) \ - if(object##_led.class_dev \ - && !IS_ERR(object##_led.class_dev)) \ + if(object##_led.dev \ + && !IS_ERR(object##_led.dev)) \ led_classdev_unregister(&object##_led) static void asus_led_exit(void)