/*
* ACPI driver
*/
-static void asus_acpi_notify(struct acpi_device *device, u32 event)
+static void asus_acpi_notify(acpi_handle handle, u32 event, void *data)
{
- struct asus_laptop *asus = acpi_driver_data(device);
+ struct asus_laptop *asus = data;
u16 count;
/* TODO Find a better way to handle events count. */
if (result && result != -ENODEV)
goto fail_pega_rfkill;
+ result = acpi_dev_install_notify_handler(device, ACPI_DEVICE_NOTIFY,
+ asus_acpi_notify, asus);
+ if (result)
+ goto fail_pega_rfkill;
+
asus_device_present = true;
return 0;
{
struct asus_laptop *asus = acpi_driver_data(device);
+ acpi_dev_remove_notify_handler(device, ACPI_DEVICE_NOTIFY, asus_acpi_notify);
asus_backlight_exit(asus);
asus_rfkill_exit(asus);
asus_led_exit(asus);
.ops = {
.add = asus_acpi_add,
.remove = asus_acpi_remove,
- .notify = asus_acpi_notify,
},
};