]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ACPI: driver: Avoid using pnp.device_class for netlink handling
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 13 Mar 2026 12:59:58 +0000 (13:59 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 13 Mar 2026 15:48:25 +0000 (16:48 +0100)
Update several core ACPI device drivers that use
acpi_bus_generate_netlink_event() for generating netlink messages to
pass a string literal as its first argument instead of a pointer to
pnp.device_class in a given struct acpi_device, which will allow them
to avoid initializing the pnp.device_class field in the future.

The ACPI button driver that uses different acpi_device_class()
values for different button types will still pass it to
acpi_bus_generate_netlink_event(), but update it to use the
acpi_device_class() macro instead of open coding the pointer
access path.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/7944022.EvYhyI6sBW@rafael.j.wysocki
drivers/acpi/ac.c
drivers/acpi/acpi_pad.c
drivers/acpi/battery.c
drivers/acpi/button.c
drivers/acpi/processor_driver.c
drivers/acpi/thermal.c

index 2b500e89169f4f78db90b18ed78a7557b03977c5..41a085562c639e48b3e908694522a95fec4a2955 100644 (file)
@@ -130,9 +130,9 @@ static void acpi_ac_notify(acpi_handle handle, u32 event, void *data)
                        msleep(ac_sleep_before_get_state_ms);
 
                acpi_ac_get_state(ac);
-               acpi_bus_generate_netlink_event(adev->pnp.device_class,
-                                                 dev_name(&adev->dev), event,
-                                                 (u32) ac->state);
+               acpi_bus_generate_netlink_event(ACPI_AC_CLASS,
+                                               dev_name(&adev->dev), event,
+                                               ac->state);
                acpi_notifier_call_chain(ACPI_AC_CLASS, acpi_device_bid(adev),
                                         event, ac->state);
                power_supply_changed(ac->charger);
index 1f735f77fd1a4b9c57be5aa74b08250d71ea1b21..b46c4dd65fbe17e1c2330cd5dbab1d768a70222c 100644 (file)
@@ -413,8 +413,8 @@ static void acpi_pad_notify(acpi_handle handle, u32 event, void *data)
        switch (event) {
        case ACPI_PROCESSOR_AGGREGATOR_NOTIFY:
                acpi_pad_handle_notify(handle);
-               acpi_bus_generate_netlink_event(adev->pnp.device_class,
-                       dev_name(&adev->dev), event, 0);
+               acpi_bus_generate_netlink_event(ACPI_PROCESSOR_AGGREGATOR_CLASS,
+                                               dev_name(&adev->dev), event, 0);
                break;
        default:
                pr_warn("Unsupported event [0x%x]\n", event);
index 1bfc4179e88593780ea29d10e7bcd485801e225b..54048438b5da7c5f174b20051e15af5d938fe97b 100644 (file)
@@ -1078,7 +1078,7 @@ static void acpi_battery_notify(acpi_handle handle, u32 event, void *data)
        if (event == ACPI_BATTERY_NOTIFY_INFO)
                acpi_battery_refresh(battery);
        acpi_battery_update(battery, false);
-       acpi_bus_generate_netlink_event(device->pnp.device_class,
+       acpi_bus_generate_netlink_event(ACPI_BATTERY_CLASS,
                                        dev_name(&device->dev), event,
                                        acpi_battery_present(battery));
        acpi_notifier_call_chain(ACPI_BATTERY_CLASS, acpi_device_bid(device),
index c57bd9c6305715fdcb9cb0db273c28bc8ae1ff45..cc17d9d843ec58cf169696b386c7d2efa87ce5e6 100644 (file)
@@ -468,7 +468,7 @@ static void acpi_button_notify(acpi_handle handle, u32 event, void *data)
        input_report_key(input, keycode, 0);
        input_sync(input);
 
-       acpi_bus_generate_netlink_event(device->pnp.device_class,
+       acpi_bus_generate_netlink_event(acpi_device_class(device),
                                        dev_name(&device->dev),
                                        event, ++button->pushed);
 }
index 882709796b4f722536fdc0ab07b4da64169250c1..bbe2c5afb8baf0261c799c1e5579aacf9909124f 100644 (file)
@@ -53,7 +53,7 @@ static void acpi_processor_notify(acpi_handle handle, u32 event, void *data)
 {
        struct acpi_device *device = data;
        struct acpi_processor *pr;
-       int saved;
+       int saved, ev_data = 0;
 
        if (device->handle != handle)
                return;
@@ -66,33 +66,27 @@ static void acpi_processor_notify(acpi_handle handle, u32 event, void *data)
        case ACPI_PROCESSOR_NOTIFY_PERFORMANCE:
                saved = pr->performance_platform_limit;
                acpi_processor_ppc_has_changed(pr, 1);
-               if (saved == pr->performance_platform_limit)
-                       break;
-               acpi_bus_generate_netlink_event(device->pnp.device_class,
-                                                 dev_name(&device->dev), event,
-                                                 pr->performance_platform_limit);
+               ev_data = pr->performance_platform_limit;
+               if (saved == ev_data)
+                       return;
+
                break;
        case ACPI_PROCESSOR_NOTIFY_POWER:
                acpi_processor_power_state_has_changed(pr);
-               acpi_bus_generate_netlink_event(device->pnp.device_class,
-                                                 dev_name(&device->dev), event, 0);
                break;
        case ACPI_PROCESSOR_NOTIFY_THROTTLING:
                acpi_processor_tstate_has_changed(pr);
-               acpi_bus_generate_netlink_event(device->pnp.device_class,
-                                                 dev_name(&device->dev), event, 0);
                break;
        case ACPI_PROCESSOR_NOTIFY_HIGEST_PERF_CHANGED:
                cpufreq_update_limits(pr->id);
-               acpi_bus_generate_netlink_event(device->pnp.device_class,
-                                                 dev_name(&device->dev), event, 0);
                break;
        default:
                acpi_handle_debug(handle, "Unsupported event [0x%x]\n", event);
-               break;
+               return;
        }
 
-       return;
+       acpi_bus_generate_netlink_event(ACPI_PROCESSOR_CLASS,
+                                       dev_name(&device->dev), event, ev_data);
 }
 
 static int __acpi_processor_start(struct acpi_device *device);
index 6ccb364665d15b97f90425bd8f794487258994a4..e764641a43c1a37ece9765054ab7aa7e94198717 100644 (file)
@@ -340,7 +340,7 @@ static void acpi_thermal_trips_update(struct acpi_thermal *tz, u32 event)
        thermal_zone_for_each_trip(tz->thermal_zone,
                                   acpi_thermal_adjust_trip, &atd);
        acpi_queue_thermal_check(tz);
-       acpi_bus_generate_netlink_event(adev->pnp.device_class,
+       acpi_bus_generate_netlink_event(ACPI_THERMAL_CLASS,
                                        dev_name(&adev->dev), event, 0);
 }
 
@@ -542,7 +542,7 @@ static void acpi_thermal_zone_device_hot(struct thermal_zone_device *thermal)
 {
        struct acpi_thermal *tz = thermal_zone_device_priv(thermal);
 
-       acpi_bus_generate_netlink_event(tz->device->pnp.device_class,
+       acpi_bus_generate_netlink_event(ACPI_THERMAL_CLASS,
                                        dev_name(&tz->device->dev),
                                        ACPI_THERMAL_NOTIFY_HOT, 1);
 }
@@ -551,7 +551,7 @@ static void acpi_thermal_zone_device_critical(struct thermal_zone_device *therma
 {
        struct acpi_thermal *tz = thermal_zone_device_priv(thermal);
 
-       acpi_bus_generate_netlink_event(tz->device->pnp.device_class,
+       acpi_bus_generate_netlink_event(ACPI_THERMAL_CLASS,
                                        dev_name(&tz->device->dev),
                                        ACPI_THERMAL_NOTIFY_CRITICAL, 1);