2024-03-27 07:45:01

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 00/19] ACPI: store owner from modules with acpi_bus_register_driver()

Merging
=======
All further patches depend on the first amba patch, therefore please ack
and this should go via one tree: ACPI?

Description
===========
Modules registering driver with acpi_bus_register_driver() often forget to
set .owner field.

Solve the problem by moving this task away from the drivers to the core
amba bus code, just like we did for platform_driver in commit
9447057eaff8 ("platform_device: use a macro instead of
platform_driver_register").

Best regards,
Krzysztof

---
Krzysztof Kozlowski (19):
ACPI: store owner from modules with acpi_bus_register_driver()
Input: atlas: - drop owner assignment
net: fjes: drop owner assignment
platform: chrome: drop owner assignment
platform: asus-laptop: drop owner assignment
platform: classmate-laptop: drop owner assignment
platform/x86/dell: drop owner assignment
platform/x86/eeepc: drop owner assignment
platform/x86/intel/rst: drop owner assignment
platform/x86/intel/smartconnect: drop owner assignment
platform/x86/lg-laptop: drop owner assignment
platform/x86/sony-laptop: drop owner assignment
platform/x86/toshiba_acpi: drop owner assignment
platform/x86/toshiba_bluetooth: drop owner assignment
platform/x86/toshiba_haps: drop owner assignment
platform/x86/wireless-hotkey: drop owner assignment
ptp: vmw: drop owner assignment
virt: vmgenid: drop owner assignment
ACPI: drop redundant owner from acpi_driver

drivers/acpi/bus.c | 9 +++++----
drivers/input/misc/atlas_btns.c | 1 -
drivers/net/fjes/fjes_main.c | 1 -
drivers/platform/chrome/wilco_ec/event.c | 1 -
drivers/platform/x86/asus-laptop.c | 1 -
drivers/platform/x86/classmate-laptop.c | 5 -----
drivers/platform/x86/dell/dell-rbtn.c | 1 -
drivers/platform/x86/eeepc-laptop.c | 1 -
drivers/platform/x86/intel/rst.c | 1 -
drivers/platform/x86/intel/smartconnect.c | 1 -
drivers/platform/x86/lg-laptop.c | 1 -
drivers/platform/x86/sony-laptop.c | 2 --
drivers/platform/x86/toshiba_acpi.c | 1 -
drivers/platform/x86/toshiba_bluetooth.c | 1 -
drivers/platform/x86/toshiba_haps.c | 1 -
drivers/platform/x86/wireless-hotkey.c | 1 -
drivers/ptp/ptp_vmw.c | 1 -
drivers/virt/vmgenid.c | 1 -
include/acpi/acpi_bus.h | 8 ++++++--
19 files changed, 11 insertions(+), 28 deletions(-)
---
base-commit: 1fdad13606e104ff103ca19d2d660830cb36d43e
change-id: 20240327-b4-module-owner-acpi-d4948a922351

Best regards,
--
Krzysztof Kozlowski <[email protected]>



2024-03-27 07:45:21

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 01/19] ACPI: store owner from modules with acpi_bus_register_driver()

Modules registering driver with acpi_bus_register_driver() often forget to
set .owner field. The field is used by some of other kernel parts for
reference counting (try_module_get()), so it is expected that drivers
will set it.

Solve the problem by moving this task away from the drivers to the core
ACPI bus code, just like we did for platform_driver in
commit 9447057eaff8 ("platform_device: use a macro instead of
platform_driver_register").

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/acpi/bus.c | 9 +++++----
include/acpi/acpi_bus.h | 7 ++++++-
2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index d9fa730416f1..eda951032f3c 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -990,25 +990,26 @@ EXPORT_SYMBOL_GPL(acpi_driver_match_device);
-------------------------------------------------------------------------- */

/**
- * acpi_bus_register_driver - register a driver with the ACPI bus
+ * __acpi_bus_register_driver - register a driver with the ACPI bus
* @driver: driver being registered
+ * @owner: owning module/driver
*
* Registers a driver with the ACPI bus. Searches the namespace for all
* devices that match the driver's criteria and binds. Returns zero for
* success or a negative error status for failure.
*/
-int acpi_bus_register_driver(struct acpi_driver *driver)
+int __acpi_bus_register_driver(struct acpi_driver *driver, struct module *owner)
{
if (acpi_disabled)
return -ENODEV;
driver->drv.name = driver->name;
driver->drv.bus = &acpi_bus_type;
- driver->drv.owner = driver->owner;
+ driver->drv.owner = owner;

return driver_register(&driver->drv);
}

-EXPORT_SYMBOL(acpi_bus_register_driver);
+EXPORT_SYMBOL(__acpi_bus_register_driver);

/**
* acpi_bus_unregister_driver - unregisters a driver with the ACPI bus
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index 5de954e2b18a..7453be56f855 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -656,7 +656,12 @@ void acpi_scan_lock_release(void);
void acpi_lock_hp_context(void);
void acpi_unlock_hp_context(void);
int acpi_scan_add_handler(struct acpi_scan_handler *handler);
-int acpi_bus_register_driver(struct acpi_driver *driver);
+/*
+ * use a macro to avoid include chaining to get THIS_MODULE
+ */
+#define acpi_bus_register_driver(drv) \
+ __acpi_bus_register_driver(drv, THIS_MODULE)
+int __acpi_bus_register_driver(struct acpi_driver *driver, struct module *owner);
void acpi_bus_unregister_driver(struct acpi_driver *driver);
int acpi_bus_scan(acpi_handle handle);
void acpi_bus_trim(struct acpi_device *start);

--
2.34.1


2024-03-27 07:46:03

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 02/19] Input: atlas: - drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Depends on the first patch.
---
drivers/input/misc/atlas_btns.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/input/misc/atlas_btns.c b/drivers/input/misc/atlas_btns.c
index 3c9bbd04e143..5b9be2957746 100644
--- a/drivers/input/misc/atlas_btns.c
+++ b/drivers/input/misc/atlas_btns.c
@@ -127,7 +127,6 @@ MODULE_DEVICE_TABLE(acpi, atlas_device_ids);
static struct acpi_driver atlas_acpi_driver = {
.name = ACPI_ATLAS_NAME,
.class = ACPI_ATLAS_CLASS,
- .owner = THIS_MODULE,
.ids = atlas_device_ids,
.ops = {
.add = atlas_acpi_button_add,

--
2.34.1


2024-03-27 07:46:36

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 03/19] net: fjes: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Depends on the first patch.
---
drivers/net/fjes/fjes_main.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/net/fjes/fjes_main.c b/drivers/net/fjes/fjes_main.c
index 5fbe33a09bb0..324b34f3ac93 100644
--- a/drivers/net/fjes/fjes_main.c
+++ b/drivers/net/fjes/fjes_main.c
@@ -156,7 +156,6 @@ static void fjes_acpi_remove(struct acpi_device *device)
static struct acpi_driver fjes_acpi_driver = {
.name = DRV_NAME,
.class = DRV_NAME,
- .owner = THIS_MODULE,
.ids = fjes_acpi_ids,
.ops = {
.add = fjes_acpi_add,

--
2.34.1


2024-03-27 07:46:56

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 04/19] platform: chrome: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Depends on the first patch.
---
drivers/platform/chrome/wilco_ec/event.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/platform/chrome/wilco_ec/event.c b/drivers/platform/chrome/wilco_ec/event.c
index 13291fb4214e..ae34e81c5d18 100644
--- a/drivers/platform/chrome/wilco_ec/event.c
+++ b/drivers/platform/chrome/wilco_ec/event.c
@@ -523,7 +523,6 @@ static struct acpi_driver event_driver = {
.notify = event_device_notify,
.remove = event_device_remove,
},
- .owner = THIS_MODULE,
};

static int __init event_module_init(void)

--
2.34.1


2024-03-27 07:47:19

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 05/19] platform: asus-laptop: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Depends on the first patch.
---
drivers/platform/x86/asus-laptop.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c
index bf03ea1b1274..78c42767295a 100644
--- a/drivers/platform/x86/asus-laptop.c
+++ b/drivers/platform/x86/asus-laptop.c
@@ -1925,7 +1925,6 @@ MODULE_DEVICE_TABLE(acpi, asus_device_ids);
static struct acpi_driver asus_acpi_driver = {
.name = ASUS_LAPTOP_NAME,
.class = ASUS_LAPTOP_CLASS,
- .owner = THIS_MODULE,
.ids = asus_device_ids,
.flags = ACPI_DRIVER_ALL_NOTIFY_EVENTS,
.ops = {

--
2.34.1


2024-03-27 07:47:38

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 06/19] platform: classmate-laptop: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/platform/x86/classmate-laptop.c | 5 -----
1 file changed, 5 deletions(-)

diff --git a/drivers/platform/x86/classmate-laptop.c b/drivers/platform/x86/classmate-laptop.c
index 2edaea2492df..87462e7c6219 100644
--- a/drivers/platform/x86/classmate-laptop.c
+++ b/drivers/platform/x86/classmate-laptop.c
@@ -434,7 +434,6 @@ static const struct acpi_device_id cmpc_accel_device_ids_v4[] = {
};

static struct acpi_driver cmpc_accel_acpi_driver_v4 = {
- .owner = THIS_MODULE,
.name = "cmpc_accel_v4",
.class = "cmpc_accel_v4",
.ids = cmpc_accel_device_ids_v4,
@@ -660,7 +659,6 @@ static const struct acpi_device_id cmpc_accel_device_ids[] = {
};

static struct acpi_driver cmpc_accel_acpi_driver = {
- .owner = THIS_MODULE,
.name = "cmpc_accel",
.class = "cmpc_accel",
.ids = cmpc_accel_device_ids,
@@ -754,7 +752,6 @@ static const struct acpi_device_id cmpc_tablet_device_ids[] = {
};

static struct acpi_driver cmpc_tablet_acpi_driver = {
- .owner = THIS_MODULE,
.name = "cmpc_tablet",
.class = "cmpc_tablet",
.ids = cmpc_tablet_device_ids,
@@ -996,7 +993,6 @@ static const struct acpi_device_id cmpc_ipml_device_ids[] = {
};

static struct acpi_driver cmpc_ipml_acpi_driver = {
- .owner = THIS_MODULE,
.name = "cmpc",
.class = "cmpc",
.ids = cmpc_ipml_device_ids,
@@ -1064,7 +1060,6 @@ static const struct acpi_device_id cmpc_keys_device_ids[] = {
};

static struct acpi_driver cmpc_keys_acpi_driver = {
- .owner = THIS_MODULE,
.name = "cmpc_keys",
.class = "cmpc_keys",
.ids = cmpc_keys_device_ids,

--
2.34.1


2024-03-27 07:48:01

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 07/19] platform/x86/dell: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/platform/x86/dell/dell-rbtn.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/platform/x86/dell/dell-rbtn.c b/drivers/platform/x86/dell/dell-rbtn.c
index c8fcb537fd65..a415c432d4c3 100644
--- a/drivers/platform/x86/dell/dell-rbtn.c
+++ b/drivers/platform/x86/dell/dell-rbtn.c
@@ -295,7 +295,6 @@ static struct acpi_driver rbtn_driver = {
.remove = rbtn_remove,
.notify = rbtn_notify,
},
- .owner = THIS_MODULE,
};



--
2.34.1


2024-03-27 07:48:23

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 08/19] platform/x86/eeepc: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/platform/x86/eeepc-laptop.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c
index ff1b70269ccb..447364bed249 100644
--- a/drivers/platform/x86/eeepc-laptop.c
+++ b/drivers/platform/x86/eeepc-laptop.c
@@ -1463,7 +1463,6 @@ MODULE_DEVICE_TABLE(acpi, eeepc_device_ids);
static struct acpi_driver eeepc_acpi_driver = {
.name = EEEPC_LAPTOP_NAME,
.class = EEEPC_ACPI_CLASS,
- .owner = THIS_MODULE,
.ids = eeepc_device_ids,
.flags = ACPI_DRIVER_ALL_NOTIFY_EVENTS,
.ops = {

--
2.34.1


2024-03-27 07:48:43

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 09/19] platform/x86/intel/rst: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/platform/x86/intel/rst.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/platform/x86/intel/rst.c b/drivers/platform/x86/intel/rst.c
index 35814a7707af..6bc9c4a603e0 100644
--- a/drivers/platform/x86/intel/rst.c
+++ b/drivers/platform/x86/intel/rst.c
@@ -125,7 +125,6 @@ static const struct acpi_device_id irst_ids[] = {
};

static struct acpi_driver irst_driver = {
- .owner = THIS_MODULE,
.name = "intel_rapid_start",
.class = "intel_rapid_start",
.ids = irst_ids,

--
2.34.1


2024-03-27 07:48:58

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 10/19] platform/x86/intel/smartconnect: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/platform/x86/intel/smartconnect.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/platform/x86/intel/smartconnect.c b/drivers/platform/x86/intel/smartconnect.c
index 64c2dc93472f..cd25d0585324 100644
--- a/drivers/platform/x86/intel/smartconnect.c
+++ b/drivers/platform/x86/intel/smartconnect.c
@@ -32,7 +32,6 @@ static const struct acpi_device_id smartconnect_ids[] = {
MODULE_DEVICE_TABLE(acpi, smartconnect_ids);

static struct acpi_driver smartconnect_driver = {
- .owner = THIS_MODULE,
.name = "intel_smart_connect",
.class = "intel_smart_connect",
.ids = smartconnect_ids,

--
2.34.1


2024-03-27 07:49:24

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 11/19] platform/x86/lg-laptop: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/platform/x86/lg-laptop.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/platform/x86/lg-laptop.c b/drivers/platform/x86/lg-laptop.c
index ad3c39e9e9f5..36e88b9d59ea 100644
--- a/drivers/platform/x86/lg-laptop.c
+++ b/drivers/platform/x86/lg-laptop.c
@@ -790,7 +790,6 @@ static struct acpi_driver acpi_driver = {
.remove = acpi_remove,
.notify = acpi_notify,
},
- .owner = THIS_MODULE,
};

static int __init acpi_init(void)

--
2.34.1


2024-03-27 07:49:50

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 13/19] platform/x86/toshiba_acpi: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/platform/x86/toshiba_acpi.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/platform/x86/toshiba_acpi.c b/drivers/platform/x86/toshiba_acpi.c
index 291f14ef6702..6f9bd675f044 100644
--- a/drivers/platform/x86/toshiba_acpi.c
+++ b/drivers/platform/x86/toshiba_acpi.c
@@ -3581,7 +3581,6 @@ static SIMPLE_DEV_PM_OPS(toshiba_acpi_pm,

static struct acpi_driver toshiba_acpi_driver = {
.name = "Toshiba ACPI driver",
- .owner = THIS_MODULE,
.ids = toshiba_device_ids,
.flags = ACPI_DRIVER_ALL_NOTIFY_EVENTS,
.ops = {

--
2.34.1


2024-03-27 07:50:12

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 14/19] platform/x86/toshiba_bluetooth: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/platform/x86/toshiba_bluetooth.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/platform/x86/toshiba_bluetooth.c b/drivers/platform/x86/toshiba_bluetooth.c
index d8f81962a240..dad2c3e55904 100644
--- a/drivers/platform/x86/toshiba_bluetooth.c
+++ b/drivers/platform/x86/toshiba_bluetooth.c
@@ -59,7 +59,6 @@ static struct acpi_driver toshiba_bt_rfkill_driver = {
.remove = toshiba_bt_rfkill_remove,
.notify = toshiba_bt_rfkill_notify,
},
- .owner = THIS_MODULE,
.drv.pm = &toshiba_bt_pm,
};


--
2.34.1


2024-03-27 07:50:42

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 15/19] platform/x86/toshiba_haps: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/platform/x86/toshiba_haps.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/platform/x86/toshiba_haps.c b/drivers/platform/x86/toshiba_haps.c
index 8c9f76286b08..03dfddeee0c0 100644
--- a/drivers/platform/x86/toshiba_haps.c
+++ b/drivers/platform/x86/toshiba_haps.c
@@ -251,7 +251,6 @@ MODULE_DEVICE_TABLE(acpi, haps_device_ids);

static struct acpi_driver toshiba_haps_driver = {
.name = "Toshiba HAPS",
- .owner = THIS_MODULE,
.ids = haps_device_ids,
.flags = ACPI_DRIVER_ALL_NOTIFY_EVENTS,
.ops = {

--
2.34.1


2024-03-27 07:51:00

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 16/19] platform/x86/wireless-hotkey: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/platform/x86/wireless-hotkey.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/platform/x86/wireless-hotkey.c b/drivers/platform/x86/wireless-hotkey.c
index 4422863f47bb..e95cdbbfb708 100644
--- a/drivers/platform/x86/wireless-hotkey.c
+++ b/drivers/platform/x86/wireless-hotkey.c
@@ -110,7 +110,6 @@ static void wl_remove(struct acpi_device *device)

static struct acpi_driver wl_driver = {
.name = "wireless-hotkey",
- .owner = THIS_MODULE,
.ids = wl_ids,
.ops = {
.add = wl_add,

--
2.34.1


2024-03-27 07:51:21

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 17/19] ptp: vmw: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/ptp/ptp_vmw.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/ptp/ptp_vmw.c b/drivers/ptp/ptp_vmw.c
index 27c5547aa8a9..7ec90359428a 100644
--- a/drivers/ptp/ptp_vmw.c
+++ b/drivers/ptp/ptp_vmw.c
@@ -120,7 +120,6 @@ static struct acpi_driver ptp_vmw_acpi_driver = {
.add = ptp_vmw_acpi_add,
.remove = ptp_vmw_acpi_remove
},
- .owner = THIS_MODULE
};

static int __init ptp_vmw_init(void)

--
2.34.1


2024-03-27 07:52:02

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 12/19] platform/x86/sony-laptop: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/platform/x86/sony-laptop.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index 40878e327afd..3e94fdd1ea52 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -3303,7 +3303,6 @@ static struct acpi_driver sony_nc_driver = {
.name = SONY_NC_DRIVER_NAME,
.class = SONY_NC_CLASS,
.ids = sony_nc_device_ids,
- .owner = THIS_MODULE,
.ops = {
.add = sony_nc_add,
.remove = sony_nc_remove,
@@ -4844,7 +4843,6 @@ static struct acpi_driver sony_pic_driver = {
.name = SONY_PIC_DRIVER_NAME,
.class = SONY_PIC_CLASS,
.ids = sony_pic_device_ids,
- .owner = THIS_MODULE,
.ops = {
.add = sony_pic_add,
.remove = sony_pic_remove,

--
2.34.1


2024-03-27 07:52:40

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 18/19] virt: vmgenid: drop owner assignment

ACPI bus core already sets the .owner, so driver does not need to.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/virt/vmgenid.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/virt/vmgenid.c b/drivers/virt/vmgenid.c
index b67a28da4702..8f6880c3a87f 100644
--- a/drivers/virt/vmgenid.c
+++ b/drivers/virt/vmgenid.c
@@ -88,7 +88,6 @@ static const struct acpi_device_id vmgenid_ids[] = {
static struct acpi_driver vmgenid_driver = {
.name = "vmgenid",
.ids = vmgenid_ids,
- .owner = THIS_MODULE,
.ops = {
.add = vmgenid_add,
.notify = vmgenid_notify

--
2.34.1


2024-03-27 07:53:13

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 19/19] ACPI: drop redundant owner from acpi_driver

Once all .owner is removed from all acpi_driver instances, drop it from
the structure.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

This depends on all previous patches. It could go next cycle, after
things got merged.
---
include/acpi/acpi_bus.h | 1 -
1 file changed, 1 deletion(-)

diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index 7453be56f855..32aae3ee99ac 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -170,7 +170,6 @@ struct acpi_driver {
unsigned int flags;
struct acpi_device_ops ops;
struct device_driver drv;
- struct module *owner;
};

/*

--
2.34.1


2024-03-27 14:41:51

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH 00/19] ACPI: store owner from modules with acpi_bus_register_driver()

On Wed, Mar 27, 2024 at 8:44 AM Krzysztof Kozlowski
<[email protected]> wrote:
>
> Merging
> =======
> All further patches depend on the first amba patch, therefore please ack
> and this should go via one tree: ACPI?
>
> Description
> ===========
> Modules registering driver with acpi_bus_register_driver() often forget to
> set .owner field.
>
> Solve the problem by moving this task away from the drivers to the core
> amba bus code, just like we did for platform_driver in commit
> 9447057eaff8 ("platform_device: use a macro instead of
> platform_driver_register").
>
> Best regards,
> Krzysztof
>
> ---
> Krzysztof Kozlowski (19):
> ACPI: store owner from modules with acpi_bus_register_driver()
> Input: atlas: - drop owner assignment
> net: fjes: drop owner assignment
> platform: chrome: drop owner assignment
> platform: asus-laptop: drop owner assignment
> platform: classmate-laptop: drop owner assignment
> platform/x86/dell: drop owner assignment
> platform/x86/eeepc: drop owner assignment
> platform/x86/intel/rst: drop owner assignment
> platform/x86/intel/smartconnect: drop owner assignment
> platform/x86/lg-laptop: drop owner assignment
> platform/x86/sony-laptop: drop owner assignment
> platform/x86/toshiba_acpi: drop owner assignment
> platform/x86/toshiba_bluetooth: drop owner assignment
> platform/x86/toshiba_haps: drop owner assignment
> platform/x86/wireless-hotkey: drop owner assignment
> ptp: vmw: drop owner assignment
> virt: vmgenid: drop owner assignment
> ACPI: drop redundant owner from acpi_driver

I definitely like this, so

Acked-by: Rafael J. Wysocki <[email protected]>

for the series and I can pick it up if people agree.

Thanks!

2024-03-27 14:44:34

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH 00/19] ACPI: store owner from modules with acpi_bus_register_driver()

Hi,

<sorry for the empty previous reply, my bad>

On 3/27/24 2:16 PM, Rafael J. Wysocki wrote:
> On Wed, Mar 27, 2024 at 8:44 AM Krzysztof Kozlowski
> <[email protected]> wrote:
>>
>> Merging
>> =======
>> All further patches depend on the first amba patch, therefore please ack
>> and this should go via one tree: ACPI?
>>
>> Description
>> ===========
>> Modules registering driver with acpi_bus_register_driver() often forget to
>> set .owner field.
>>
>> Solve the problem by moving this task away from the drivers to the core
>> amba bus code, just like we did for platform_driver in commit
>> 9447057eaff8 ("platform_device: use a macro instead of
>> platform_driver_register").
>>
>> Best regards,
>> Krzysztof
>>
>> ---
>> Krzysztof Kozlowski (19):
>> ACPI: store owner from modules with acpi_bus_register_driver()
>> Input: atlas: - drop owner assignment
>> net: fjes: drop owner assignment
>> platform: chrome: drop owner assignment
>> platform: asus-laptop: drop owner assignment
>> platform: classmate-laptop: drop owner assignment
>> platform/x86/dell: drop owner assignment
>> platform/x86/eeepc: drop owner assignment
>> platform/x86/intel/rst: drop owner assignment
>> platform/x86/intel/smartconnect: drop owner assignment
>> platform/x86/lg-laptop: drop owner assignment
>> platform/x86/sony-laptop: drop owner assignment
>> platform/x86/toshiba_acpi: drop owner assignment
>> platform/x86/toshiba_bluetooth: drop owner assignment
>> platform/x86/toshiba_haps: drop owner assignment
>> platform/x86/wireless-hotkey: drop owner assignment
>> ptp: vmw: drop owner assignment
>> virt: vmgenid: drop owner assignment
>> ACPI: drop redundant owner from acpi_driver
>
> I definitely like this, so
>
> Acked-by: Rafael J. Wysocki <[email protected]>
>
> for the series and I can pick it up if people agree.

Thanks all the drivers/platform/x86/* change look good
to me:

Acked-by: Hans de Goede <[email protected]>

And I'm fine with merging these through the linux-pm /
ACPI tree.

Regards,

Hans




2024-03-27 15:33:45

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH 00/19] ACPI: store owner from modules with acpi_bus_register_driver()

Hi,

On 3/27/24 2:16 PM, Rafael J. Wysocki wrote:
> On Wed, Mar 27, 2024 at 8:44 AM Krzysztof Kozlowski
> <[email protected]> wrote:
>>
>> Merging
>> =======
>> All further patches depend on the first amba patch, therefore please ack
>> and this should go via one tree: ACPI?
>>
>> Description
>> ===========
>> Modules registering driver with acpi_bus_register_driver() often forget to
>> set .owner field.
>>
>> Solve the problem by moving this task away from the drivers to the core
>> amba bus code, just like we did for platform_driver in commit
>> 9447057eaff8 ("platform_device: use a macro instead of
>> platform_driver_register").
>>
>> Best regards,
>> Krzysztof
>>
>> ---
>> Krzysztof Kozlowski (19):
>> ACPI: store owner from modules with acpi_bus_register_driver()
>> Input: atlas: - drop owner assignment
>> net: fjes: drop owner assignment
>> platform: chrome: drop owner assignment
>> platform: asus-laptop: drop owner assignment
>> platform: classmate-laptop: drop owner assignment
>> platform/x86/dell: drop owner assignment
>> platform/x86/eeepc: drop owner assignment
>> platform/x86/intel/rst: drop owner assignment
>> platform/x86/intel/smartconnect: drop owner assignment
>> platform/x86/lg-laptop: drop owner assignment
>> platform/x86/sony-laptop: drop owner assignment
>> platform/x86/toshiba_acpi: drop owner assignment
>> platform/x86/toshiba_bluetooth: drop owner assignment
>> platform/x86/toshiba_haps: drop owner assignment
>> platform/x86/wireless-hotkey: drop owner assignment
>> ptp: vmw: drop owner assignment
>> virt: vmgenid: drop owner assignment
>> ACPI: drop redundant owner from acpi_driver
>
> I definitely like this, so
>
> Acked-by: Rafael J. Wysocki <[email protected]>
>
> for the series and I can pick it up if people agree.


>
> Thanks!
>


2024-03-28 10:21:02

by Tzung-Bi Shih

[permalink] [raw]
Subject: Re: [PATCH 04/19] platform: chrome: drop owner assignment

On Wed, Mar 27, 2024 at 08:43:51AM +0100, Krzysztof Kozlowski wrote:
> ACPI bus core already sets the .owner, so driver does not need to.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>

Acked-by: Tzung-Bi Shih <[email protected]>

I would prefer to use "platform/chrome: wilco_ec: " prefix though.

Subject: Re: [PATCH 06/19] platform: classmate-laptop: drop owner assignment

On Wed, Mar 27, 2024 at 08:43:53AM +0100, Krzysztof Kozlowski wrote:
> ACPI bus core already sets the .owner, so driver does not need to.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>

Acked-by: Thadeu Lima de Souza Cascardo <[email protected]>

> ---
> drivers/platform/x86/classmate-laptop.c | 5 -----
> 1 file changed, 5 deletions(-)
>
> diff --git a/drivers/platform/x86/classmate-laptop.c b/drivers/platform/x86/classmate-laptop.c
> index 2edaea2492df..87462e7c6219 100644
> --- a/drivers/platform/x86/classmate-laptop.c
> +++ b/drivers/platform/x86/classmate-laptop.c
> @@ -434,7 +434,6 @@ static const struct acpi_device_id cmpc_accel_device_ids_v4[] = {
> };
>
> static struct acpi_driver cmpc_accel_acpi_driver_v4 = {
> - .owner = THIS_MODULE,
> .name = "cmpc_accel_v4",
> .class = "cmpc_accel_v4",
> .ids = cmpc_accel_device_ids_v4,
> @@ -660,7 +659,6 @@ static const struct acpi_device_id cmpc_accel_device_ids[] = {
> };
>
> static struct acpi_driver cmpc_accel_acpi_driver = {
> - .owner = THIS_MODULE,
> .name = "cmpc_accel",
> .class = "cmpc_accel",
> .ids = cmpc_accel_device_ids,
> @@ -754,7 +752,6 @@ static const struct acpi_device_id cmpc_tablet_device_ids[] = {
> };
>
> static struct acpi_driver cmpc_tablet_acpi_driver = {
> - .owner = THIS_MODULE,
> .name = "cmpc_tablet",
> .class = "cmpc_tablet",
> .ids = cmpc_tablet_device_ids,
> @@ -996,7 +993,6 @@ static const struct acpi_device_id cmpc_ipml_device_ids[] = {
> };
>
> static struct acpi_driver cmpc_ipml_acpi_driver = {
> - .owner = THIS_MODULE,
> .name = "cmpc",
> .class = "cmpc",
> .ids = cmpc_ipml_device_ids,
> @@ -1064,7 +1060,6 @@ static const struct acpi_device_id cmpc_keys_device_ids[] = {
> };
>
> static struct acpi_driver cmpc_keys_acpi_driver = {
> - .owner = THIS_MODULE,
> .name = "cmpc_keys",
> .class = "cmpc_keys",
> .ids = cmpc_keys_device_ids,
>
> --
> 2.34.1
>

2024-03-28 18:05:22

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH 02/19] Input: atlas: - drop owner assignment

On Wed, Mar 27, 2024 at 08:43:49AM +0100, Krzysztof Kozlowski wrote:
> ACPI bus core already sets the .owner, so driver does not need to.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>

Acked-by: Dmitry Torokhov <[email protected]>

But please fix the stray colon in the subject.

>
> ---
>
> Depends on the first patch.
> ---
> drivers/input/misc/atlas_btns.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/input/misc/atlas_btns.c b/drivers/input/misc/atlas_btns.c
> index 3c9bbd04e143..5b9be2957746 100644
> --- a/drivers/input/misc/atlas_btns.c
> +++ b/drivers/input/misc/atlas_btns.c
> @@ -127,7 +127,6 @@ MODULE_DEVICE_TABLE(acpi, atlas_device_ids);
> static struct acpi_driver atlas_acpi_driver = {
> .name = ACPI_ATLAS_NAME,
> .class = ACPI_ATLAS_CLASS,
> - .owner = THIS_MODULE,
> .ids = atlas_device_ids,
> .ops = {
> .add = atlas_acpi_button_add,
>
> --
> 2.34.1
>

--
Dmitry

2024-03-28 18:23:22

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 02/19] Input: atlas: - drop owner assignment

On 28/03/2024 18:55, Dmitry Torokhov wrote:
> On Wed, Mar 27, 2024 at 08:43:49AM +0100, Krzysztof Kozlowski wrote:
>> ACPI bus core already sets the .owner, so driver does not need to.
>>
>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> Acked-by: Dmitry Torokhov <[email protected]>
>
> But please fix the stray colon in the subject.

Ykes, sure. I will send a v2 today or tomorrow with collected tags, so
this could go via Rafael.

Best regards,
Krzysztof