2024-03-28 19:50:01

by Krzysztof Kozlowski

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

Changes in v2:
- Correct input and platform/chrome subjects.
- Add acks.
- Link to v1: https://lore.kernel.org/r/[email protected]

Merging
=======
All further patches depend on the first amba patch, therefore one way is
to ack and take it via one tree, e.g. 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: wilco_ec: 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: 02e345c7445b96358707ee2e5ca1dfc9b3458d39
change-id: 20240327-b4-module-owner-acpi-d4948a922351

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



2024-03-28 19:50:20

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 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").

Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:52:01

by Krzysztof Kozlowski

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

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

Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:52:17

by Krzysztof Kozlowski

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

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

Acked-by: Tzung-Bi Shih <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:52:38

by Krzysztof Kozlowski

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

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

Acked-by: Hans de Goede <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:52:56

by Krzysztof Kozlowski

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

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

Acked-by: Thadeu Lima de Souza Cascardo <[email protected]>
Acked-by: Hans de Goede <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:53:14

by Krzysztof Kozlowski

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

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

Acked-by: Hans de Goede <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:53:48

by Krzysztof Kozlowski

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

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

Acked-by: Hans de Goede <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:53:52

by Krzysztof Kozlowski

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

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

Acked-by: Hans de Goede <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:54:11

by Krzysztof Kozlowski

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

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

Acked-by: Hans de Goede <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:54:29

by Krzysztof Kozlowski

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

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

Acked-by: Hans de Goede <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:54:48

by Krzysztof Kozlowski

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

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

Acked-by: Hans de Goede <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:55:06

by Krzysztof Kozlowski

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

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

Acked-by: Hans de Goede <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:55:25

by Krzysztof Kozlowski

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

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

Acked-by: Hans de Goede <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:55:45

by Krzysztof Kozlowski

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

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

Acked-by: Hans de Goede <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:56:03

by Krzysztof Kozlowski

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

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

Acked-by: Hans de Goede <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:56:23

by Krzysztof Kozlowski

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

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

Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:56:41

by Krzysztof Kozlowski

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

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

Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:58:01

by Krzysztof Kozlowski

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

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

Acked-by: Rafael J. Wysocki <[email protected]>
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-28 19:59:46

by Krzysztof Kozlowski

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

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

Acked-by: Dmitry Torokhov <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
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-04-08 14:20:30

by Rafael J. Wysocki

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

On Thu, Mar 28, 2024 at 8:49 PM Krzysztof Kozlowski
<[email protected]> wrote:
>
> Changes in v2:
> - Correct input and platform/chrome subjects.
> - Add acks.
> - Link to v1: https://lore.kernel.org/r/[email protected]
>
> Merging
> =======
> All further patches depend on the first amba patch, therefore one way is
> to ack and take it via one tree, e.g. 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: wilco_ec: 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(-)
> ---

Whole series applied as 6.10 material, thanks!

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

Hello:

This series was applied to chrome-platform/linux.git (for-kernelci)
by Rafael J. Wysocki <[email protected]>:

On Thu, 28 Mar 2024 20:49:10 +0100 you wrote:
> Changes in v2:
> - Correct input and platform/chrome subjects.
> - Add acks.
> - Link to v1: https://lore.kernel.org/r/[email protected]
>
> Merging
> =======
> All further patches depend on the first amba patch, therefore one way is
> to ack and take it via one tree, e.g. ACPI.
>
> [...]

Here is the summary with links:
- [v2,01/19] ACPI: store owner from modules with acpi_bus_register_driver()
https://git.kernel.org/chrome-platform/c/48b9c4862bd3
- [v2,02/19] Input: atlas - drop owner assignment
https://git.kernel.org/chrome-platform/c/726c149e0798
- [v2,03/19] net: fjes: drop owner assignment
https://git.kernel.org/chrome-platform/c/3bdef399d00e
- [v2,04/19] platform/chrome: wilco_ec: drop owner assignment
https://git.kernel.org/chrome-platform/c/245d97ff3473
- [v2,05/19] platform: asus-laptop: drop owner assignment
https://git.kernel.org/chrome-platform/c/eda8304c74f0
- [v2,06/19] platform: classmate-laptop: drop owner assignment
https://git.kernel.org/chrome-platform/c/be24e9a09337
- [v2,07/19] platform/x86/dell: drop owner assignment
https://git.kernel.org/chrome-platform/c/1baad72e9026
- [v2,08/19] platform/x86/eeepc: drop owner assignment
https://git.kernel.org/chrome-platform/c/4313188f8128
- [v2,09/19] platform/x86/intel/rst: drop owner assignment
https://git.kernel.org/chrome-platform/c/68370cc2e32a
- [v2,10/19] platform/x86/intel/smartconnect: drop owner assignment
https://git.kernel.org/chrome-platform/c/e84a761f1215
- [v2,11/19] platform/x86/lg-laptop: drop owner assignment
https://git.kernel.org/chrome-platform/c/2929a735d92e
- [v2,12/19] platform/x86/sony-laptop: drop owner assignment
https://git.kernel.org/chrome-platform/c/562231f34cea
- [v2,13/19] platform/x86/toshiba_acpi: drop owner assignment
https://git.kernel.org/chrome-platform/c/b655cda9f089
- [v2,14/19] platform/x86/toshiba_bluetooth: drop owner assignment
https://git.kernel.org/chrome-platform/c/ce69eeb2ccb7
- [v2,15/19] platform/x86/toshiba_haps: drop owner assignment
https://git.kernel.org/chrome-platform/c/eb22f3ba0c2e
- [v2,16/19] platform/x86/wireless-hotkey: drop owner assignment
https://git.kernel.org/chrome-platform/c/d49c09ddfbd5
- [v2,17/19] ptp: vmw: drop owner assignment
https://git.kernel.org/chrome-platform/c/cd3eda2e3508
- [v2,18/19] virt: vmgenid: drop owner assignment
https://git.kernel.org/chrome-platform/c/00e8b52bf9f9
- [v2,19/19] ACPI: drop redundant owner from acpi_driver
https://git.kernel.org/chrome-platform/c/cc85f9c05bba

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

Hello:

This series was applied to chrome-platform/linux.git (for-next)
by Rafael J. Wysocki <[email protected]>:

On Thu, 28 Mar 2024 20:49:10 +0100 you wrote:
> Changes in v2:
> - Correct input and platform/chrome subjects.
> - Add acks.
> - Link to v1: https://lore.kernel.org/r/[email protected]
>
> Merging
> =======
> All further patches depend on the first amba patch, therefore one way is
> to ack and take it via one tree, e.g. ACPI.
>
> [...]

Here is the summary with links:
- [v2,01/19] ACPI: store owner from modules with acpi_bus_register_driver()
https://git.kernel.org/chrome-platform/c/48b9c4862bd3
- [v2,02/19] Input: atlas - drop owner assignment
https://git.kernel.org/chrome-platform/c/726c149e0798
- [v2,03/19] net: fjes: drop owner assignment
https://git.kernel.org/chrome-platform/c/3bdef399d00e
- [v2,04/19] platform/chrome: wilco_ec: drop owner assignment
https://git.kernel.org/chrome-platform/c/245d97ff3473
- [v2,05/19] platform: asus-laptop: drop owner assignment
https://git.kernel.org/chrome-platform/c/eda8304c74f0
- [v2,06/19] platform: classmate-laptop: drop owner assignment
https://git.kernel.org/chrome-platform/c/be24e9a09337
- [v2,07/19] platform/x86/dell: drop owner assignment
https://git.kernel.org/chrome-platform/c/1baad72e9026
- [v2,08/19] platform/x86/eeepc: drop owner assignment
https://git.kernel.org/chrome-platform/c/4313188f8128
- [v2,09/19] platform/x86/intel/rst: drop owner assignment
https://git.kernel.org/chrome-platform/c/68370cc2e32a
- [v2,10/19] platform/x86/intel/smartconnect: drop owner assignment
https://git.kernel.org/chrome-platform/c/e84a761f1215
- [v2,11/19] platform/x86/lg-laptop: drop owner assignment
https://git.kernel.org/chrome-platform/c/2929a735d92e
- [v2,12/19] platform/x86/sony-laptop: drop owner assignment
https://git.kernel.org/chrome-platform/c/562231f34cea
- [v2,13/19] platform/x86/toshiba_acpi: drop owner assignment
https://git.kernel.org/chrome-platform/c/b655cda9f089
- [v2,14/19] platform/x86/toshiba_bluetooth: drop owner assignment
https://git.kernel.org/chrome-platform/c/ce69eeb2ccb7
- [v2,15/19] platform/x86/toshiba_haps: drop owner assignment
https://git.kernel.org/chrome-platform/c/eb22f3ba0c2e
- [v2,16/19] platform/x86/wireless-hotkey: drop owner assignment
https://git.kernel.org/chrome-platform/c/d49c09ddfbd5
- [v2,17/19] ptp: vmw: drop owner assignment
https://git.kernel.org/chrome-platform/c/cd3eda2e3508
- [v2,18/19] virt: vmgenid: drop owner assignment
https://git.kernel.org/chrome-platform/c/00e8b52bf9f9
- [v2,19/19] ACPI: drop redundant owner from acpi_driver
https://git.kernel.org/chrome-platform/c/cc85f9c05bba

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html