]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
platform/x86: asus-laptop: Register ACPI notify handler directly
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sat, 28 Feb 2026 15:10:21 +0000 (16:10 +0100)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 7 Apr 2026 09:41:38 +0000 (12:41 +0300)
To facilitate subsequent conversion of the driver to a platform one,
make it install an ACPI notify handler directly instead of using
a .notify() callback in struct acpi_driver.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Denis Benato <denis.benato@linux.dev>
Link: https://patch.msgid.link/5082508.31r3eYUQgx@rafael.j.wysocki
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/asus-laptop.c

index d96f6af26ff7daf73b8c5b05c197989b04659d3c..c927665dfa960baa0098a0fc6b0bd34b332ef03c 100644 (file)
@@ -1517,9 +1517,9 @@ static void asus_input_exit(struct asus_laptop *asus)
 /*
  * 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. */
@@ -1881,6 +1881,11 @@ static int asus_acpi_add(struct acpi_device *device)
        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;
 
@@ -1906,6 +1911,7 @@ static void asus_acpi_remove(struct acpi_device *device)
 {
        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);
@@ -1932,7 +1938,6 @@ static struct acpi_driver asus_acpi_driver = {
        .ops = {
                .add = asus_acpi_add,
                .remove = asus_acpi_remove,
-               .notify = asus_acpi_notify,
                },
 };