summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2026-03-13 14:00:41 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2026-03-13 16:48:26 +0100
commite18947038bf4f39d47cdba511f85a9af668d56e1 (patch)
treec7056c71fc10828ee80bbe07188c3841ee8560ee
parent76866c912ac8639965861c648fa234ab61c0e72d (diff)
downloadlinux-e18947038bf4f39d47cdba511f85a9af668d56e1.tar.gz
linux-e18947038bf4f39d47cdba511f85a9af668d56e1.zip
ACPI: driver: Do not set acpi_device_class() unnecessarily
Several core ACPI device drivers set acpi_device_class() for the given struct acpi_device to whatever they like, but that value is never used unless the driver itself uses it and, sadly, they neglect to clear it on remove. Since the only one of them still using acpi_device_class() after previous changes is the button driver, update the others to stop setting it in vain. Also drop the related device class sybmols that become redundant. Since the ACPI button driver continues to use acpi_device_class(), make it clear the struct field represented by acpi_device_class() in its remove callback. No intentional functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/3706295.iIbC2pHGDl@rafael.j.wysocki
-rw-r--r--drivers/acpi/ac.c1
-rw-r--r--drivers/acpi/acpi_memhotplug.c2
-rw-r--r--drivers/acpi/acpi_pad.c5
-rw-r--r--drivers/acpi/acpi_processor.c1
-rw-r--r--drivers/acpi/acpi_video.c3
-rw-r--r--drivers/acpi/battery.c1
-rw-r--r--drivers/acpi/button.c2
-rw-r--r--drivers/acpi/ec.c4
-rw-r--r--drivers/acpi/pci_link.c2
-rw-r--r--drivers/acpi/pci_root.c2
-rw-r--r--drivers/acpi/power.c2
-rw-r--r--drivers/acpi/processor_driver.c4
-rw-r--r--drivers/acpi/sbs.c2
-rw-r--r--drivers/acpi/sbshc.c4
-rw-r--r--drivers/acpi/thermal.c1
-rw-r--r--include/acpi/processor.h1
16 files changed, 5 insertions, 32 deletions
diff --git a/drivers/acpi/ac.c b/drivers/acpi/ac.c
index 41a085562c63..2825db974bd8 100644
--- a/drivers/acpi/ac.c
+++ b/drivers/acpi/ac.c
@@ -203,7 +203,6 @@ static int acpi_ac_probe(struct platform_device *pdev)
return -ENOMEM;
ac->device = adev;
- strscpy(acpi_device_class(adev), ACPI_AC_CLASS);
platform_set_drvdata(pdev, ac);
diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c
index 7f021e6d8b0e..1d7dfe4ee9a6 100644
--- a/drivers/acpi/acpi_memhotplug.c
+++ b/drivers/acpi/acpi_memhotplug.c
@@ -18,7 +18,6 @@
#include "internal.h"
-#define ACPI_MEMORY_DEVICE_CLASS "memory"
#define ACPI_MEMORY_DEVICE_HID "PNP0C80"
static const struct acpi_device_id memory_device_ids[] = {
@@ -296,7 +295,6 @@ static int acpi_memory_device_add(struct acpi_device *device,
INIT_LIST_HEAD(&mem_device->res_list);
mem_device->device = device;
mem_device->mgid = -1;
- sprintf(acpi_device_class(device), "%s", ACPI_MEMORY_DEVICE_CLASS);
device->driver_data = mem_device;
/* Get the range from the _CRS */
diff --git a/drivers/acpi/acpi_pad.c b/drivers/acpi/acpi_pad.c
index b46c4dd65fbe..0a8e02bc8c8b 100644
--- a/drivers/acpi/acpi_pad.c
+++ b/drivers/acpi/acpi_pad.c
@@ -23,7 +23,6 @@
#include <asm/mwait.h>
#include <xen/xen.h>
-#define ACPI_PROCESSOR_AGGREGATOR_CLASS "acpi_pad"
#define ACPI_PROCESSOR_AGGREGATOR_NOTIFY 0x80
#define ACPI_PROCESSOR_AGGREGATOR_STATUS_SUCCESS 0
@@ -413,7 +412,7 @@ 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(ACPI_PROCESSOR_AGGREGATOR_CLASS,
+ acpi_bus_generate_netlink_event("acpi_pad",
dev_name(&adev->dev), event, 0);
break;
default:
@@ -426,8 +425,6 @@ static int acpi_pad_probe(struct platform_device *pdev)
{
struct acpi_device *adev = ACPI_COMPANION(&pdev->dev);
- strscpy(acpi_device_class(adev), ACPI_PROCESSOR_AGGREGATOR_CLASS);
-
return acpi_dev_install_notify_handler(adev, ACPI_DEVICE_NOTIFY,
acpi_pad_notify, adev);
}
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
index 46020a49a7ed..2ac76f3b1cfd 100644
--- a/drivers/acpi/acpi_processor.c
+++ b/drivers/acpi/acpi_processor.c
@@ -438,7 +438,6 @@ static int acpi_processor_add(struct acpi_device *device,
}
pr->handle = device->handle;
- strscpy(acpi_device_class(device), ACPI_PROCESSOR_CLASS);
device->driver_data = pr;
result = acpi_processor_get_info(device);
diff --git a/drivers/acpi/acpi_video.c b/drivers/acpi/acpi_video.c
index c747827653d9..05793ddef787 100644
--- a/drivers/acpi/acpi_video.c
+++ b/drivers/acpi/acpi_video.c
@@ -1141,8 +1141,6 @@ static int acpi_video_bus_get_one_device(struct acpi_device *device, void *arg)
return -ENOMEM;
}
- strscpy(acpi_device_class(device), ACPI_VIDEO_CLASS);
-
data->device_id = device_id;
data->video = video;
data->dev = device;
@@ -2018,7 +2016,6 @@ static int acpi_video_bus_probe(struct auxiliary_device *aux_dev,
auxiliary_set_drvdata(aux_dev, video);
video->device = device;
- strscpy(acpi_device_class(device), ACPI_VIDEO_CLASS);
device->driver_data = video;
acpi_video_bus_find_cap(video);
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index 54048438b5da..b4c25474f42f 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -1228,7 +1228,6 @@ static int acpi_battery_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, battery);
battery->device = device;
- strscpy(acpi_device_class(device), ACPI_BATTERY_CLASS);
result = devm_mutex_init(&pdev->dev, &battery->update_lock);
if (result)
diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
index cc17d9d843ec..dc064a388c23 100644
--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -697,6 +697,8 @@ static void acpi_button_remove(struct platform_device *pdev)
acpi_button_remove_fs(button);
input_unregister_device(button->input);
kfree(button);
+
+ memset(acpi_device_class(adev), 0, sizeof(acpi_device_class));
}
static int param_set_lid_init_state(const char *val,
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 4b21279012a7..0624d8673679 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -35,8 +35,6 @@
#include "internal.h"
-#define ACPI_EC_CLASS "embedded_controller"
-
/* EC status register */
#define ACPI_EC_FLAG_OBF 0x01 /* Output buffer full */
#define ACPI_EC_FLAG_IBF 0x02 /* Input buffer full */
@@ -1680,8 +1678,6 @@ static int acpi_ec_probe(struct platform_device *pdev)
struct acpi_ec *ec;
int ret;
- strscpy(acpi_device_class(device), ACPI_EC_CLASS);
-
if (boot_ec && (boot_ec->handle == device->handle ||
!strcmp(acpi_device_hid(device), ACPI_ECDT_HID))) {
/* Fast path: this device corresponds to the boot EC. */
diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
index 5745de24024c..e6ed13aee48d 100644
--- a/drivers/acpi/pci_link.c
+++ b/drivers/acpi/pci_link.c
@@ -29,7 +29,6 @@
#include "internal.h"
-#define ACPI_PCI_LINK_CLASS "pci_irq_routing"
#define ACPI_PCI_LINK_MAX_POSSIBLE 16
static int acpi_pci_link_add(struct acpi_device *device,
@@ -724,7 +723,6 @@ static int acpi_pci_link_add(struct acpi_device *device,
return -ENOMEM;
link->device = device;
- strscpy(acpi_device_class(device), ACPI_PCI_LINK_CLASS);
device->driver_data = link;
mutex_lock(&acpi_link_lock);
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index f4aa5b624d9b..a0ba64e45e8a 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -24,7 +24,6 @@
#include <linux/platform_data/x86/apple.h>
#include "internal.h"
-#define ACPI_PCI_ROOT_CLASS "pci_bridge"
static int acpi_pci_root_add(struct acpi_device *device,
const struct acpi_device_id *not_used);
static void acpi_pci_root_remove(struct acpi_device *device);
@@ -688,7 +687,6 @@ static int acpi_pci_root_add(struct acpi_device *device,
root->device = device;
root->segment = segment & 0xFFFF;
- strscpy(acpi_device_class(device), ACPI_PCI_ROOT_CLASS);
device->driver_data = root;
if (hotadd && dmar_device_add(handle)) {
diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c
index dcc9ad7790f0..6b1680ec3694 100644
--- a/drivers/acpi/power.c
+++ b/drivers/acpi/power.c
@@ -37,7 +37,6 @@
#include "sleep.h"
#include "internal.h"
-#define ACPI_POWER_CLASS "power_resource"
#define ACPI_POWER_RESOURCE_STATE_OFF 0x00
#define ACPI_POWER_RESOURCE_STATE_ON 0x01
#define ACPI_POWER_RESOURCE_STATE_UNKNOWN 0xFF
@@ -954,7 +953,6 @@ struct acpi_device *acpi_add_power_resource(acpi_handle handle)
mutex_init(&resource->resource_lock);
INIT_LIST_HEAD(&resource->list_node);
INIT_LIST_HEAD(&resource->dependents);
- strscpy(acpi_device_class(device), ACPI_POWER_CLASS);
device->power.state = ACPI_STATE_UNKNOWN;
device->flags.match_driver = true;
diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
index bbe2c5afb8ba..cda8fd720000 100644
--- a/drivers/acpi/processor_driver.c
+++ b/drivers/acpi/processor_driver.c
@@ -85,8 +85,8 @@ static void acpi_processor_notify(acpi_handle handle, u32 event, void *data)
return;
}
- acpi_bus_generate_netlink_event(ACPI_PROCESSOR_CLASS,
- dev_name(&device->dev), event, ev_data);
+ acpi_bus_generate_netlink_event("processor", dev_name(&device->dev),
+ event, ev_data);
}
static int __acpi_processor_start(struct acpi_device *device);
diff --git a/drivers/acpi/sbs.c b/drivers/acpi/sbs.c
index 7e789290c5ad..e301d73ac420 100644
--- a/drivers/acpi/sbs.c
+++ b/drivers/acpi/sbs.c
@@ -26,7 +26,6 @@
#include "sbshc.h"
-#define ACPI_SBS_CLASS "sbs"
#define ACPI_AC_CLASS "ac_adapter"
#define ACPI_SBS_DEVICE_NAME "Smart Battery System"
#define ACPI_BATTERY_DIR_NAME "BAT%i"
@@ -648,7 +647,6 @@ static int acpi_sbs_probe(struct platform_device *pdev)
sbs->hc = dev_get_drvdata(pdev->dev.parent);
sbs->device = device;
- strscpy(acpi_device_class(device), ACPI_SBS_CLASS);
result = acpi_charger_add(sbs);
if (result && result != -ENODEV)
diff --git a/drivers/acpi/sbshc.c b/drivers/acpi/sbshc.c
index 97eaa2fc31f2..f413270415b6 100644
--- a/drivers/acpi/sbshc.c
+++ b/drivers/acpi/sbshc.c
@@ -18,8 +18,6 @@
#include "sbshc.h"
#include "internal.h"
-#define ACPI_SMB_HC_CLASS "smbus_host_ctl"
-
struct acpi_smb_hc {
struct acpi_ec *ec;
struct mutex lock;
@@ -250,8 +248,6 @@ static int acpi_smbus_hc_probe(struct platform_device *pdev)
return -EIO;
}
- strscpy(acpi_device_class(device), ACPI_SMB_HC_CLASS);
-
hc = kzalloc_obj(struct acpi_smb_hc);
if (!hc)
return -ENOMEM;
diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
index e764641a43c1..b8b487d89d25 100644
--- a/drivers/acpi/thermal.c
+++ b/drivers/acpi/thermal.c
@@ -799,7 +799,6 @@ static int acpi_thermal_probe(struct platform_device *pdev)
tz->device = device;
strscpy(tz->name, device->pnp.bus_id);
- strscpy(acpi_device_class(device), ACPI_THERMAL_CLASS);
acpi_thermal_aml_dependency_fix(tz);
diff --git a/include/acpi/processor.h b/include/acpi/processor.h
index 43fe4a85fc0f..554be224ce76 100644
--- a/include/acpi/processor.h
+++ b/include/acpi/processor.h
@@ -14,7 +14,6 @@
#include <asm/acpi.h>
-#define ACPI_PROCESSOR_CLASS "processor"
#define ACPI_PROCESSOR_DEVICE_HID "ACPI0007"
#define ACPI_PROCESSOR_CONTAINER_HID "ACPI0010"