* [PATCH 1/8] power: supply: core: add wakeup source inhibit by power_supply_config
2024-10-05 10:05 [PATCH 0/8] power: supply: core: remove {,devm_}power_supply_register_no_ws() Thomas Weißschuh
@ 2024-10-05 10:05 ` Thomas Weißschuh
2024-10-11 2:34 ` Tzung-Bi Shih
2024-10-05 10:05 ` [PATCH 2/8] ACPI: battery: Register power supply with power_supply_register() Thomas Weißschuh
` (7 subsequent siblings)
8 siblings, 1 reply; 21+ messages in thread
From: Thomas Weißschuh @ 2024-10-05 10:05 UTC (permalink / raw)
To: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli
Cc: linux-pm, linux-kernel, linux-acpi, chrome-platform,
Thomas Weißschuh
To inhibit wakeup users currently have to use dedicated functions to
register the power supply: {,devm_}power_supply_register_no_ws().
This is inconsistent to other runtime settings which can be configured
through struct power_supply_config.
It's also not obvious what _no_ws() is meant to mean.
Extend power_supply_config to also be able to inhibit the wakeup source.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
drivers/power/supply/power_supply_core.c | 3 +++
include/linux/power_supply.h | 2 ++
2 files changed, 5 insertions(+)
diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
index 49534458a9f7d3f6d7c01bd91fa1bb6ed23bc7ad..5b5a3abca0b554d809054026f8cf32b2d18a3362 100644
--- a/drivers/power/supply/power_supply_core.c
+++ b/drivers/power/supply/power_supply_core.c
@@ -1410,6 +1410,9 @@ __power_supply_register(struct device *parent,
if (rc)
goto device_add_failed;
+ if (cfg && cfg->no_wakeup_source)
+ ws = false;
+
rc = device_init_wakeup(dev, ws);
if (rc)
goto wakeup_init_failed;
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index 910d407ebe6323aaf4b31f0081f2cdd4be43a9fa..412646e055d79ff23346a99c4485e594363857ed 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -236,6 +236,8 @@ struct power_supply_config {
char **supplied_to;
size_t num_supplicants;
+
+ bool no_wakeup_source;
};
/* Description of power supply */
--
2.46.2
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 1/8] power: supply: core: add wakeup source inhibit by power_supply_config
2024-10-05 10:05 ` [PATCH 1/8] power: supply: core: add wakeup source inhibit by power_supply_config Thomas Weißschuh
@ 2024-10-11 2:34 ` Tzung-Bi Shih
0 siblings, 0 replies; 21+ messages in thread
From: Tzung-Bi Shih @ 2024-10-11 2:34 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli, linux-pm,
linux-kernel, linux-acpi, chrome-platform
On Sat, Oct 05, 2024 at 12:05:03PM +0200, Thomas Weißschuh wrote:
> To inhibit wakeup users currently have to use dedicated functions to
> register the power supply: {,devm_}power_supply_register_no_ws().
> This is inconsistent to other runtime settings which can be configured
> through struct power_supply_config.
> It's also not obvious what _no_ws() is meant to mean.
>
> Extend power_supply_config to also be able to inhibit the wakeup source.
>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 2/8] ACPI: battery: Register power supply with power_supply_register()
2024-10-05 10:05 [PATCH 0/8] power: supply: core: remove {,devm_}power_supply_register_no_ws() Thomas Weißschuh
2024-10-05 10:05 ` [PATCH 1/8] power: supply: core: add wakeup source inhibit by power_supply_config Thomas Weißschuh
@ 2024-10-05 10:05 ` Thomas Weißschuh
2024-10-07 16:51 ` Rafael J. Wysocki
2024-10-11 2:35 ` Tzung-Bi Shih
2024-10-05 10:05 ` [PATCH 3/8] power: supply: acer_a500_battery: register power supply with devm_power_supply_register() Thomas Weißschuh
` (6 subsequent siblings)
8 siblings, 2 replies; 21+ messages in thread
From: Thomas Weißschuh @ 2024-10-05 10:05 UTC (permalink / raw)
To: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli
Cc: linux-pm, linux-kernel, linux-acpi, chrome-platform,
Thomas Weißschuh
power_supply_register_no_ws() is going to be removed.
Switch to the general registration API.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
drivers/acpi/battery.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index 65fa3444367a13ac83644444076a11f08152c382..9a3a475f8ad334bb365e6a0273084034b8baa3bd 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -853,6 +853,7 @@ static int sysfs_add_battery(struct acpi_battery *battery)
struct power_supply_config psy_cfg = {
.drv_data = battery,
.attr_grp = acpi_battery_groups,
+ .no_wakeup_source = true,
};
bool full_cap_broken = false;
@@ -888,7 +889,7 @@ static int sysfs_add_battery(struct acpi_battery *battery)
battery->bat_desc.type = POWER_SUPPLY_TYPE_BATTERY;
battery->bat_desc.get_property = acpi_battery_get_property;
- battery->bat = power_supply_register_no_ws(&battery->device->dev,
+ battery->bat = power_supply_register(&battery->device->dev,
&battery->bat_desc, &psy_cfg);
if (IS_ERR(battery->bat)) {
--
2.46.2
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 2/8] ACPI: battery: Register power supply with power_supply_register()
2024-10-05 10:05 ` [PATCH 2/8] ACPI: battery: Register power supply with power_supply_register() Thomas Weißschuh
@ 2024-10-07 16:51 ` Rafael J. Wysocki
2024-10-08 14:13 ` Thomas Weißschuh
2024-10-11 2:35 ` Tzung-Bi Shih
1 sibling, 1 reply; 21+ messages in thread
From: Rafael J. Wysocki @ 2024-10-07 16:51 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli, linux-pm,
linux-kernel, linux-acpi, chrome-platform
On Sat, Oct 5, 2024 at 12:05 PM Thomas Weißschuh <linux@weissschuh.net> wrote:
>
> power_supply_register_no_ws() is going to be removed.
> Switch to the general registration API.
>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@inte;.com>
and I'm assuming this to be handled along with the rest of the series.
> ---
> drivers/acpi/battery.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
> index 65fa3444367a13ac83644444076a11f08152c382..9a3a475f8ad334bb365e6a0273084034b8baa3bd 100644
> --- a/drivers/acpi/battery.c
> +++ b/drivers/acpi/battery.c
> @@ -853,6 +853,7 @@ static int sysfs_add_battery(struct acpi_battery *battery)
> struct power_supply_config psy_cfg = {
> .drv_data = battery,
> .attr_grp = acpi_battery_groups,
> + .no_wakeup_source = true,
> };
> bool full_cap_broken = false;
>
> @@ -888,7 +889,7 @@ static int sysfs_add_battery(struct acpi_battery *battery)
> battery->bat_desc.type = POWER_SUPPLY_TYPE_BATTERY;
> battery->bat_desc.get_property = acpi_battery_get_property;
>
> - battery->bat = power_supply_register_no_ws(&battery->device->dev,
> + battery->bat = power_supply_register(&battery->device->dev,
> &battery->bat_desc, &psy_cfg);
>
> if (IS_ERR(battery->bat)) {
>
> --
> 2.46.2
>
^ permalink raw reply [flat|nested] 21+ messages in thread* Re: [PATCH 2/8] ACPI: battery: Register power supply with power_supply_register()
2024-10-07 16:51 ` Rafael J. Wysocki
@ 2024-10-08 14:13 ` Thomas Weißschuh
0 siblings, 0 replies; 21+ messages in thread
From: Thomas Weißschuh @ 2024-10-08 14:13 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: Sebastian Reichel, Len Brown, Pali Rohár, Benson Leung,
Guenter Roeck, Luca Ceresoli, linux-pm, linux-kernel, linux-acpi,
chrome-platform
On 2024-10-07 18:51:45+0200, Rafael J. Wysocki wrote:
> On Sat, Oct 5, 2024 at 12:05 PM Thomas Weißschuh <linux@weissschuh.net> wrote:
> >
> > power_supply_register_no_ws() is going to be removed.
> > Switch to the general registration API.
> >
> > Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
>
> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@inte;.com>
Thanks!
> and I'm assuming this to be handled along with the rest of the series.
Yes, this should go through the power supply tree.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 2/8] ACPI: battery: Register power supply with power_supply_register()
2024-10-05 10:05 ` [PATCH 2/8] ACPI: battery: Register power supply with power_supply_register() Thomas Weißschuh
2024-10-07 16:51 ` Rafael J. Wysocki
@ 2024-10-11 2:35 ` Tzung-Bi Shih
1 sibling, 0 replies; 21+ messages in thread
From: Tzung-Bi Shih @ 2024-10-11 2:35 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli, linux-pm,
linux-kernel, linux-acpi, chrome-platform
On Sat, Oct 05, 2024 at 12:05:04PM +0200, Thomas Weißschuh wrote:
> power_supply_register_no_ws() is going to be removed.
> Switch to the general registration API.
>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 3/8] power: supply: acer_a500_battery: register power supply with devm_power_supply_register()
2024-10-05 10:05 [PATCH 0/8] power: supply: core: remove {,devm_}power_supply_register_no_ws() Thomas Weißschuh
2024-10-05 10:05 ` [PATCH 1/8] power: supply: core: add wakeup source inhibit by power_supply_config Thomas Weißschuh
2024-10-05 10:05 ` [PATCH 2/8] ACPI: battery: Register power supply with power_supply_register() Thomas Weißschuh
@ 2024-10-05 10:05 ` Thomas Weißschuh
2024-10-11 2:35 ` Tzung-Bi Shih
2024-10-05 10:05 ` [PATCH 4/8] power: supply: bq27xxx_battery: register power supply with power_supply_register() Thomas Weißschuh
` (5 subsequent siblings)
8 siblings, 1 reply; 21+ messages in thread
From: Thomas Weißschuh @ 2024-10-05 10:05 UTC (permalink / raw)
To: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli
Cc: linux-pm, linux-kernel, linux-acpi, chrome-platform,
Thomas Weißschuh
devm_power_supply_register_no_ws() is going to be removed.
Switch to the general registration API.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
drivers/power/supply/acer_a500_battery.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/power/supply/acer_a500_battery.c b/drivers/power/supply/acer_a500_battery.c
index ef5c419b1b7f20744b48e1648c38289f4d546cf9..58e7b2eac68f9745f5a2c48ba27951f65e681d2f 100644
--- a/drivers/power/supply/acer_a500_battery.c
+++ b/drivers/power/supply/acer_a500_battery.c
@@ -233,14 +233,15 @@ static int a500_battery_probe(struct platform_device *pdev)
psy_cfg.of_node = pdev->dev.parent->of_node;
psy_cfg.drv_data = bat;
+ psy_cfg.no_wakeup_source = true;
bat->regmap = dev_get_regmap(pdev->dev.parent, "KB930");
if (!bat->regmap)
return -EINVAL;
- bat->psy = devm_power_supply_register_no_ws(&pdev->dev,
- &a500_battery_desc,
- &psy_cfg);
+ bat->psy = devm_power_supply_register(&pdev->dev,
+ &a500_battery_desc,
+ &psy_cfg);
if (IS_ERR(bat->psy))
return dev_err_probe(&pdev->dev, PTR_ERR(bat->psy),
"failed to register battery\n");
--
2.46.2
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 3/8] power: supply: acer_a500_battery: register power supply with devm_power_supply_register()
2024-10-05 10:05 ` [PATCH 3/8] power: supply: acer_a500_battery: register power supply with devm_power_supply_register() Thomas Weißschuh
@ 2024-10-11 2:35 ` Tzung-Bi Shih
0 siblings, 0 replies; 21+ messages in thread
From: Tzung-Bi Shih @ 2024-10-11 2:35 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli, linux-pm,
linux-kernel, linux-acpi, chrome-platform
On Sat, Oct 05, 2024 at 12:05:05PM +0200, Thomas Weißschuh wrote:
> devm_power_supply_register_no_ws() is going to be removed.
> Switch to the general registration API.
>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/8] power: supply: bq27xxx_battery: register power supply with power_supply_register()
2024-10-05 10:05 [PATCH 0/8] power: supply: core: remove {,devm_}power_supply_register_no_ws() Thomas Weißschuh
` (2 preceding siblings ...)
2024-10-05 10:05 ` [PATCH 3/8] power: supply: acer_a500_battery: register power supply with devm_power_supply_register() Thomas Weißschuh
@ 2024-10-05 10:05 ` Thomas Weißschuh
2024-10-11 2:36 ` Tzung-Bi Shih
2024-10-05 10:05 ` [PATCH 5/8] power: supply: cros_usbpd-charger: register power supply with devm_power_supply_register() Thomas Weißschuh
` (4 subsequent siblings)
8 siblings, 1 reply; 21+ messages in thread
From: Thomas Weißschuh @ 2024-10-05 10:05 UTC (permalink / raw)
To: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli
Cc: linux-pm, linux-kernel, linux-acpi, chrome-platform,
Thomas Weißschuh
devm_power_supply_register_no_ws() is going to be removed.
Switch to the general registration API.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
drivers/power/supply/bq27xxx_battery.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/power/supply/bq27xxx_battery.c b/drivers/power/supply/bq27xxx_battery.c
index 750fda543308c873f65ef3600546b086af68fafd..e47556ec3cfeadd6ce014559d90807b293d781d5 100644
--- a/drivers/power/supply/bq27xxx_battery.c
+++ b/drivers/power/supply/bq27xxx_battery.c
@@ -2131,6 +2131,7 @@ int bq27xxx_battery_setup(struct bq27xxx_device_info *di)
struct power_supply_config psy_cfg = {
.of_node = di->dev->of_node,
.drv_data = di,
+ .no_wakeup_source = true,
};
int ret;
@@ -2157,7 +2158,7 @@ int bq27xxx_battery_setup(struct bq27xxx_device_info *di)
psy_desc->get_property = bq27xxx_battery_get_property;
psy_desc->external_power_changed = bq27xxx_external_power_changed;
- di->bat = devm_power_supply_register_no_ws(di->dev, psy_desc, &psy_cfg);
+ di->bat = devm_power_supply_register(di->dev, psy_desc, &psy_cfg);
if (IS_ERR(di->bat))
return dev_err_probe(di->dev, PTR_ERR(di->bat),
"failed to register battery\n");
--
2.46.2
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 4/8] power: supply: bq27xxx_battery: register power supply with power_supply_register()
2024-10-05 10:05 ` [PATCH 4/8] power: supply: bq27xxx_battery: register power supply with power_supply_register() Thomas Weißschuh
@ 2024-10-11 2:36 ` Tzung-Bi Shih
0 siblings, 0 replies; 21+ messages in thread
From: Tzung-Bi Shih @ 2024-10-11 2:36 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli, linux-pm,
linux-kernel, linux-acpi, chrome-platform
On Sat, Oct 05, 2024 at 12:05:06PM +0200, Thomas Weißschuh wrote:
> devm_power_supply_register_no_ws() is going to be removed.
> Switch to the general registration API.
>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 5/8] power: supply: cros_usbpd-charger: register power supply with devm_power_supply_register()
2024-10-05 10:05 [PATCH 0/8] power: supply: core: remove {,devm_}power_supply_register_no_ws() Thomas Weißschuh
` (3 preceding siblings ...)
2024-10-05 10:05 ` [PATCH 4/8] power: supply: bq27xxx_battery: register power supply with power_supply_register() Thomas Weißschuh
@ 2024-10-05 10:05 ` Thomas Weißschuh
2024-10-11 2:36 ` Tzung-Bi Shih
2024-10-05 10:05 ` [PATCH 6/8] power: supply: lenovo_yoga_c630_battery: register power supplies with power_supply_register() Thomas Weißschuh
` (3 subsequent siblings)
8 siblings, 1 reply; 21+ messages in thread
From: Thomas Weißschuh @ 2024-10-05 10:05 UTC (permalink / raw)
To: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli
Cc: linux-pm, linux-kernel, linux-acpi, chrome-platform,
Thomas Weißschuh
devm_power_supply_register_no_ws() is going to be removed.
Switch to the general registration API.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
drivers/power/supply/cros_usbpd-charger.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/power/supply/cros_usbpd-charger.c b/drivers/power/supply/cros_usbpd-charger.c
index bed3e2e9bfea971142f10956ed499b1ac2d834dd..47d3f58aa15ceb792b3c3dc2468e770890d76b7e 100644
--- a/drivers/power/supply/cros_usbpd-charger.c
+++ b/drivers/power/supply/cros_usbpd-charger.c
@@ -618,6 +618,7 @@ static int cros_usbpd_charger_probe(struct platform_device *pd)
psy_desc->external_power_changed =
cros_usbpd_charger_power_changed;
psy_cfg.drv_data = port;
+ psy_cfg.no_wakeup_source = true;
if (cros_usbpd_charger_port_is_dedicated(port)) {
sprintf(port->name, CHARGER_DEDICATED_DIR_NAME);
@@ -644,8 +645,7 @@ static int cros_usbpd_charger_probe(struct platform_device *pd)
psy_desc->name = port->name;
- psy = devm_power_supply_register_no_ws(dev, psy_desc,
- &psy_cfg);
+ psy = devm_power_supply_register(dev, psy_desc, &psy_cfg);
if (IS_ERR(psy)) {
dev_err(dev, "Failed to register power supply\n");
continue;
--
2.46.2
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 5/8] power: supply: cros_usbpd-charger: register power supply with devm_power_supply_register()
2024-10-05 10:05 ` [PATCH 5/8] power: supply: cros_usbpd-charger: register power supply with devm_power_supply_register() Thomas Weißschuh
@ 2024-10-11 2:36 ` Tzung-Bi Shih
0 siblings, 0 replies; 21+ messages in thread
From: Tzung-Bi Shih @ 2024-10-11 2:36 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli, linux-pm,
linux-kernel, linux-acpi, chrome-platform
On Sat, Oct 05, 2024 at 12:05:07PM +0200, Thomas Weißschuh wrote:
> devm_power_supply_register_no_ws() is going to be removed.
> Switch to the general registration API.
>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Tzung-Bi Shih <tzungbi@kernel.org>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 6/8] power: supply: lenovo_yoga_c630_battery: register power supplies with power_supply_register()
2024-10-05 10:05 [PATCH 0/8] power: supply: core: remove {,devm_}power_supply_register_no_ws() Thomas Weißschuh
` (4 preceding siblings ...)
2024-10-05 10:05 ` [PATCH 5/8] power: supply: cros_usbpd-charger: register power supply with devm_power_supply_register() Thomas Weißschuh
@ 2024-10-05 10:05 ` Thomas Weißschuh
2024-10-11 2:36 ` Tzung-Bi Shih
2024-10-05 10:05 ` [PATCH 7/8] power: supply: max77976_charger: register power supply with devm_power_supply_register() Thomas Weißschuh
` (2 subsequent siblings)
8 siblings, 1 reply; 21+ messages in thread
From: Thomas Weißschuh @ 2024-10-05 10:05 UTC (permalink / raw)
To: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli
Cc: linux-pm, linux-kernel, linux-acpi, chrome-platform,
Thomas Weißschuh
{,devm_}power_supply_register_no_ws() are going to be removed.
Switch to the general registration API.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
drivers/power/supply/lenovo_yoga_c630_battery.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/drivers/power/supply/lenovo_yoga_c630_battery.c b/drivers/power/supply/lenovo_yoga_c630_battery.c
index f98f65e00831a5c463b133f7c074182c7db00e7e..7a6c8af9e8c24810abf2b6448fe061991738f87c 100644
--- a/drivers/power/supply/lenovo_yoga_c630_battery.c
+++ b/drivers/power/supply/lenovo_yoga_c630_battery.c
@@ -368,11 +368,12 @@ static int yoga_c630_psy_register_bat_psy(struct yoga_c630_psy *ecbat)
bat_cfg.drv_data = ecbat;
bat_cfg.fwnode = ecbat->fwnode;
- ecbat->bat_psy = power_supply_register_no_ws(ecbat->dev,
- ecbat->unit_mA ?
- &yoga_c630_psy_bat_psy_desc_mA :
- &yoga_c630_psy_bat_psy_desc_mWh,
- &bat_cfg);
+ bat_cfg.no_wakeup_source = true;
+ ecbat->bat_psy = power_supply_register(ecbat->dev,
+ ecbat->unit_mA ?
+ &yoga_c630_psy_bat_psy_desc_mA :
+ &yoga_c630_psy_bat_psy_desc_mWh,
+ &bat_cfg);
if (IS_ERR(ecbat->bat_psy)) {
dev_err(ecbat->dev, "failed to register battery supply\n");
return PTR_ERR(ecbat->bat_psy);
@@ -442,7 +443,8 @@ static int yoga_c630_psy_probe(struct auxiliary_device *adev,
adp_cfg.fwnode = ecbat->fwnode;
adp_cfg.supplied_to = (char **)&yoga_c630_psy_bat_psy_desc_mA.name;
adp_cfg.num_supplicants = 1;
- ecbat->adp_psy = devm_power_supply_register_no_ws(dev, &yoga_c630_psy_adpt_psy_desc, &adp_cfg);
+ adp_cfg.no_wakeup_source = true;
+ ecbat->adp_psy = devm_power_supply_register(dev, &yoga_c630_psy_adpt_psy_desc, &adp_cfg);
if (IS_ERR(ecbat->adp_psy)) {
dev_err(dev, "failed to register AC adapter supply\n");
return PTR_ERR(ecbat->adp_psy);
--
2.46.2
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 6/8] power: supply: lenovo_yoga_c630_battery: register power supplies with power_supply_register()
2024-10-05 10:05 ` [PATCH 6/8] power: supply: lenovo_yoga_c630_battery: register power supplies with power_supply_register() Thomas Weißschuh
@ 2024-10-11 2:36 ` Tzung-Bi Shih
0 siblings, 0 replies; 21+ messages in thread
From: Tzung-Bi Shih @ 2024-10-11 2:36 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli, linux-pm,
linux-kernel, linux-acpi, chrome-platform
On Sat, Oct 05, 2024 at 12:05:08PM +0200, Thomas Weißschuh wrote:
> {,devm_}power_supply_register_no_ws() are going to be removed.
> Switch to the general registration API.
>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 7/8] power: supply: max77976_charger: register power supply with devm_power_supply_register()
2024-10-05 10:05 [PATCH 0/8] power: supply: core: remove {,devm_}power_supply_register_no_ws() Thomas Weißschuh
` (5 preceding siblings ...)
2024-10-05 10:05 ` [PATCH 6/8] power: supply: lenovo_yoga_c630_battery: register power supplies with power_supply_register() Thomas Weißschuh
@ 2024-10-05 10:05 ` Thomas Weißschuh
2024-10-08 7:14 ` Luca Ceresoli
2024-10-11 2:36 ` Tzung-Bi Shih
2024-10-05 10:05 ` [PATCH 8/8] power: supply: core: remove {,devm_}power_supply_register_no_ws() Thomas Weißschuh
2024-10-15 21:01 ` [PATCH 0/8] " Sebastian Reichel
8 siblings, 2 replies; 21+ messages in thread
From: Thomas Weißschuh @ 2024-10-05 10:05 UTC (permalink / raw)
To: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli
Cc: linux-pm, linux-kernel, linux-acpi, chrome-platform,
Thomas Weißschuh
devm_power_supply_register_no_ws() is going to be removed.
Switch to the general registration API.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
drivers/power/supply/max77976_charger.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/power/supply/max77976_charger.c b/drivers/power/supply/max77976_charger.c
index d7e520da768864f7f7e5177195ec0a16a51724f5..e6fe68cebc32b6fa39df71616ca293ce20098150 100644
--- a/drivers/power/supply/max77976_charger.c
+++ b/drivers/power/supply/max77976_charger.c
@@ -452,6 +452,7 @@ static int max77976_probe(struct i2c_client *client)
i2c_set_clientdata(client, chg);
psy_cfg.drv_data = chg;
+ psy_cfg.no_wakeup_source = true;
chg->client = client;
chg->regmap = devm_regmap_init_i2c(client, &max77976_regmap_config);
@@ -475,7 +476,7 @@ static int max77976_probe(struct i2c_client *client)
if (err)
return err;
- psy = devm_power_supply_register_no_ws(dev, &max77976_psy_desc, &psy_cfg);
+ psy = devm_power_supply_register(dev, &max77976_psy_desc, &psy_cfg);
if (IS_ERR(psy))
return dev_err_probe(dev, PTR_ERR(psy), "cannot register\n");
--
2.46.2
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 7/8] power: supply: max77976_charger: register power supply with devm_power_supply_register()
2024-10-05 10:05 ` [PATCH 7/8] power: supply: max77976_charger: register power supply with devm_power_supply_register() Thomas Weißschuh
@ 2024-10-08 7:14 ` Luca Ceresoli
2024-10-11 2:36 ` Tzung-Bi Shih
1 sibling, 0 replies; 21+ messages in thread
From: Luca Ceresoli @ 2024-10-08 7:14 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, linux-pm, linux-kernel, linux-acpi,
chrome-platform
Hello Thomas,
On Sat, 05 Oct 2024 12:05:09 +0200
Thomas Weißschuh <linux@weissschuh.net> wrote:
> devm_power_supply_register_no_ws() is going to be removed.
> Switch to the general registration API.
>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 7/8] power: supply: max77976_charger: register power supply with devm_power_supply_register()
2024-10-05 10:05 ` [PATCH 7/8] power: supply: max77976_charger: register power supply with devm_power_supply_register() Thomas Weißschuh
2024-10-08 7:14 ` Luca Ceresoli
@ 2024-10-11 2:36 ` Tzung-Bi Shih
1 sibling, 0 replies; 21+ messages in thread
From: Tzung-Bi Shih @ 2024-10-11 2:36 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli, linux-pm,
linux-kernel, linux-acpi, chrome-platform
On Sat, Oct 05, 2024 at 12:05:09PM +0200, Thomas Weißschuh wrote:
> devm_power_supply_register_no_ws() is going to be removed.
> Switch to the general registration API.
>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 8/8] power: supply: core: remove {,devm_}power_supply_register_no_ws()
2024-10-05 10:05 [PATCH 0/8] power: supply: core: remove {,devm_}power_supply_register_no_ws() Thomas Weißschuh
` (6 preceding siblings ...)
2024-10-05 10:05 ` [PATCH 7/8] power: supply: max77976_charger: register power supply with devm_power_supply_register() Thomas Weißschuh
@ 2024-10-05 10:05 ` Thomas Weißschuh
2024-10-11 2:37 ` Tzung-Bi Shih
2024-10-15 21:01 ` [PATCH 0/8] " Sebastian Reichel
8 siblings, 1 reply; 21+ messages in thread
From: Thomas Weißschuh @ 2024-10-05 10:05 UTC (permalink / raw)
To: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli
Cc: linux-pm, linux-kernel, linux-acpi, chrome-platform,
Thomas Weißschuh
The same functionality is available through
power_supply_config::no_wakeup_source, which is more idiomatic.
All users of the old API have been converted.
Also remove the argument "ws" from __power_supply_register(),
as it is now always "true".
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
drivers/power/supply/power_supply_core.c | 71 ++------------------------------
include/linux/power_supply.h | 8 ----
2 files changed, 4 insertions(+), 75 deletions(-)
diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
index 5b5a3abca0b554d809054026f8cf32b2d18a3362..650da0d1331f87a9682f92084b937ed879105b39 100644
--- a/drivers/power/supply/power_supply_core.c
+++ b/drivers/power/supply/power_supply_core.c
@@ -1342,8 +1342,7 @@ static void psy_unregister_thermal(struct power_supply *psy)
static struct power_supply *__must_check
__power_supply_register(struct device *parent,
const struct power_supply_desc *desc,
- const struct power_supply_config *cfg,
- bool ws)
+ const struct power_supply_config *cfg)
{
struct device *dev;
struct power_supply *psy;
@@ -1410,10 +1409,7 @@ __power_supply_register(struct device *parent,
if (rc)
goto device_add_failed;
- if (cfg && cfg->no_wakeup_source)
- ws = false;
-
- rc = device_init_wakeup(dev, ws);
+ rc = device_init_wakeup(dev, cfg ? !cfg->no_wakeup_source : true);
if (rc)
goto wakeup_init_failed;
@@ -1479,33 +1475,10 @@ struct power_supply *__must_check power_supply_register(struct device *parent,
const struct power_supply_desc *desc,
const struct power_supply_config *cfg)
{
- return __power_supply_register(parent, desc, cfg, true);
+ return __power_supply_register(parent, desc, cfg);
}
EXPORT_SYMBOL_GPL(power_supply_register);
-/**
- * power_supply_register_no_ws() - Register new non-waking-source power supply
- * @parent: Device to be a parent of power supply's device, usually
- * the device which probe function calls this
- * @desc: Description of power supply, must be valid through whole
- * lifetime of this power supply
- * @cfg: Run-time specific configuration accessed during registering,
- * may be NULL
- *
- * Return: A pointer to newly allocated power_supply on success
- * or ERR_PTR otherwise.
- * Use power_supply_unregister() on returned power_supply pointer to release
- * resources.
- */
-struct power_supply *__must_check
-power_supply_register_no_ws(struct device *parent,
- const struct power_supply_desc *desc,
- const struct power_supply_config *cfg)
-{
- return __power_supply_register(parent, desc, cfg, false);
-}
-EXPORT_SYMBOL_GPL(power_supply_register_no_ws);
-
static void devm_power_supply_release(struct device *dev, void *res)
{
struct power_supply **psy = res;
@@ -1538,7 +1511,7 @@ devm_power_supply_register(struct device *parent,
if (!ptr)
return ERR_PTR(-ENOMEM);
- psy = __power_supply_register(parent, desc, cfg, true);
+ psy = __power_supply_register(parent, desc, cfg);
if (IS_ERR(psy)) {
devres_free(ptr);
} else {
@@ -1549,42 +1522,6 @@ devm_power_supply_register(struct device *parent,
}
EXPORT_SYMBOL_GPL(devm_power_supply_register);
-/**
- * devm_power_supply_register_no_ws() - Register managed non-waking-source power supply
- * @parent: Device to be a parent of power supply's device, usually
- * the device which probe function calls this
- * @desc: Description of power supply, must be valid through whole
- * lifetime of this power supply
- * @cfg: Run-time specific configuration accessed during registering,
- * may be NULL
- *
- * Return: A pointer to newly allocated power_supply on success
- * or ERR_PTR otherwise.
- * The returned power_supply pointer will be automatically unregistered
- * on driver detach.
- */
-struct power_supply *__must_check
-devm_power_supply_register_no_ws(struct device *parent,
- const struct power_supply_desc *desc,
- const struct power_supply_config *cfg)
-{
- struct power_supply **ptr, *psy;
-
- ptr = devres_alloc(devm_power_supply_release, sizeof(*ptr), GFP_KERNEL);
-
- if (!ptr)
- return ERR_PTR(-ENOMEM);
- psy = __power_supply_register(parent, desc, cfg, false);
- if (IS_ERR(psy)) {
- devres_free(ptr);
- } else {
- *ptr = psy;
- devres_add(parent, ptr);
- }
- return psy;
-}
-EXPORT_SYMBOL_GPL(devm_power_supply_register_no_ws);
-
/**
* power_supply_unregister() - Remove this power supply from system
* @psy: Pointer to power supply to unregister
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index 412646e055d79ff23346a99c4485e594363857ed..6562d52151f62fadfefa718483b954067d088875 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -874,17 +874,9 @@ power_supply_register(struct device *parent,
const struct power_supply_desc *desc,
const struct power_supply_config *cfg);
extern struct power_supply *__must_check
-power_supply_register_no_ws(struct device *parent,
- const struct power_supply_desc *desc,
- const struct power_supply_config *cfg);
-extern struct power_supply *__must_check
devm_power_supply_register(struct device *parent,
const struct power_supply_desc *desc,
const struct power_supply_config *cfg);
-extern struct power_supply *__must_check
-devm_power_supply_register_no_ws(struct device *parent,
- const struct power_supply_desc *desc,
- const struct power_supply_config *cfg);
extern void power_supply_unregister(struct power_supply *psy);
extern int power_supply_powers(struct power_supply *psy, struct device *dev);
--
2.46.2
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 8/8] power: supply: core: remove {,devm_}power_supply_register_no_ws()
2024-10-05 10:05 ` [PATCH 8/8] power: supply: core: remove {,devm_}power_supply_register_no_ws() Thomas Weißschuh
@ 2024-10-11 2:37 ` Tzung-Bi Shih
0 siblings, 0 replies; 21+ messages in thread
From: Tzung-Bi Shih @ 2024-10-11 2:37 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli, linux-pm,
linux-kernel, linux-acpi, chrome-platform
On Sat, Oct 05, 2024 at 12:05:10PM +0200, Thomas Weißschuh wrote:
> The same functionality is available through
> power_supply_config::no_wakeup_source, which is more idiomatic.
> All users of the old API have been converted.
>
> Also remove the argument "ws" from __power_supply_register(),
> as it is now always "true".
>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 0/8] power: supply: core: remove {,devm_}power_supply_register_no_ws()
2024-10-05 10:05 [PATCH 0/8] power: supply: core: remove {,devm_}power_supply_register_no_ws() Thomas Weißschuh
` (7 preceding siblings ...)
2024-10-05 10:05 ` [PATCH 8/8] power: supply: core: remove {,devm_}power_supply_register_no_ws() Thomas Weißschuh
@ 2024-10-15 21:01 ` Sebastian Reichel
8 siblings, 0 replies; 21+ messages in thread
From: Sebastian Reichel @ 2024-10-15 21:01 UTC (permalink / raw)
To: Sebastian Reichel, Rafael J. Wysocki, Len Brown, Pali Rohár,
Benson Leung, Guenter Roeck, Luca Ceresoli, Thomas Weißschuh
Cc: linux-pm, linux-kernel, linux-acpi, chrome-platform
On Sat, 05 Oct 2024 12:05:02 +0200, Thomas Weißschuh wrote:
> The meaning of the _no_ws() suffix is not immediately clear when reading
> the code. Furthermore there is already a dedicated API to configure the
> details of the created power supply in "struct power_supply_config".
> Migrate the functionality to "struct power_supply_config" and remove the
> special functions.
>
>
> [...]
Applied, thanks!
[1/8] power: supply: core: add wakeup source inhibit by power_supply_config
commit: 49000fee9e639f62ba1f965ed2ae4c5ad18d19e2
[2/8] ACPI: battery: Register power supply with power_supply_register()
commit: 2de244e91ddf5cfcf7d88275ad2dbe7f0367e57e
[3/8] power: supply: acer_a500_battery: register power supply with devm_power_supply_register()
commit: 8c3985bb4e78fb487621dce733fae387fce174a8
[4/8] power: supply: bq27xxx_battery: register power supply with power_supply_register()
commit: 1011646d4bd6c2eedb68d131ba7ddaf9ecd2aa9e
[5/8] power: supply: cros_usbpd-charger: register power supply with devm_power_supply_register()
commit: e8d2dfa6d246b2b879287c79098a1960b3856533
[6/8] power: supply: lenovo_yoga_c630_battery: register power supplies with power_supply_register()
commit: 705833305a7a68d6ff163626abd81735940b7751
[7/8] power: supply: max77976_charger: register power supply with devm_power_supply_register()
commit: 79b9630e6fc80f225e1564b42cae154970f31136
[8/8] power: supply: core: remove {,devm_}power_supply_register_no_ws()
commit: 85d319e14f301e1c68131b74c1dceabae73d1e81
Best regards,
--
Sebastian Reichel <sebastian.reichel@collabora.com>
^ permalink raw reply [flat|nested] 21+ messages in thread