2024-03-29 08:19:36

by Thomas Weißschuh

[permalink] [raw]
Subject: [PATCH] power: supply: core: simplify charge_behaviour formatting

The function power_supply_show_charge_behaviour() is not needed and can
be removed completely.
Removing the function also saves a spurious read of the property from
the driver on each call.

The convulted logic was a leftover from an earlier patch revision.
Some restructuring made this cleanup possible.

Suggested-by: Hans de Goede <[email protected]>
Link: https://lore.kernel.org/all/[email protected]/
Fixes: 4e61f1e9d58f ("power: supply: core: fix charge_behaviour formatting")
Signed-off-by: Thomas Weißschuh <[email protected]>
---
drivers/power/supply/power_supply_sysfs.c | 20 ++------------------
1 file changed, 2 insertions(+), 18 deletions(-)

diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c
index 0d2c3724d0bc..b86e11bdc07e 100644
--- a/drivers/power/supply/power_supply_sysfs.c
+++ b/drivers/power/supply/power_supply_sysfs.c
@@ -271,23 +271,6 @@ static ssize_t power_supply_show_usb_type(struct device *dev,
return count;
}

-static ssize_t power_supply_show_charge_behaviour(struct device *dev,
- struct power_supply *psy,
- union power_supply_propval *value,
- char *buf)
-{
- int ret;
-
- ret = power_supply_get_property(psy,
- POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR,
- value);
- if (ret < 0)
- return ret;
-
- return power_supply_charge_behaviour_show(dev, psy->desc->charge_behaviours,
- value->intval, buf);
-}
-
static ssize_t power_supply_show_property(struct device *dev,
struct device_attribute *attr,
char *buf) {
@@ -321,7 +304,8 @@ static ssize_t power_supply_show_property(struct device *dev,
&value, buf);
break;
case POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR:
- ret = power_supply_show_charge_behaviour(dev, psy, &value, buf);
+ ret = power_supply_charge_behaviour_show(dev, psy->desc->charge_behaviours,
+ value.intval, buf);
break;
case POWER_SUPPLY_PROP_MODEL_NAME ... POWER_SUPPLY_PROP_SERIAL_NUMBER:
ret = sysfs_emit(buf, "%s\n", value.strval);

---
base-commit: 070c1470ae24317e7b19bd3882b300b6d69922a4
change-id: 20240329-power-supply-simplify-5722806eefdd

Best regards,
--
Thomas Weißschuh <[email protected]>



2024-03-29 11:32:51

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH] power: supply: core: simplify charge_behaviour formatting

Hi,

On 3/29/24 9:18 AM, Thomas Weißschuh wrote:
> The function power_supply_show_charge_behaviour() is not needed and can
> be removed completely.
> Removing the function also saves a spurious read of the property from
> the driver on each call.
>
> The convulted logic was a leftover from an earlier patch revision.
> Some restructuring made this cleanup possible.
>
> Suggested-by: Hans de Goede <[email protected]>
> Link: https://lore.kernel.org/all/[email protected]/
> Fixes: 4e61f1e9d58f ("power: supply: core: fix charge_behaviour formatting")
> Signed-off-by: Thomas Weißschuh <[email protected]>

Thanks, patch looks good to me:

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

Regards,

Hans



> ---
> drivers/power/supply/power_supply_sysfs.c | 20 ++------------------
> 1 file changed, 2 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c
> index 0d2c3724d0bc..b86e11bdc07e 100644
> --- a/drivers/power/supply/power_supply_sysfs.c
> +++ b/drivers/power/supply/power_supply_sysfs.c
> @@ -271,23 +271,6 @@ static ssize_t power_supply_show_usb_type(struct device *dev,
> return count;
> }
>
> -static ssize_t power_supply_show_charge_behaviour(struct device *dev,
> - struct power_supply *psy,
> - union power_supply_propval *value,
> - char *buf)
> -{
> - int ret;
> -
> - ret = power_supply_get_property(psy,
> - POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR,
> - value);
> - if (ret < 0)
> - return ret;
> -
> - return power_supply_charge_behaviour_show(dev, psy->desc->charge_behaviours,
> - value->intval, buf);
> -}
> -
> static ssize_t power_supply_show_property(struct device *dev,
> struct device_attribute *attr,
> char *buf) {
> @@ -321,7 +304,8 @@ static ssize_t power_supply_show_property(struct device *dev,
> &value, buf);
> break;
> case POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR:
> - ret = power_supply_show_charge_behaviour(dev, psy, &value, buf);
> + ret = power_supply_charge_behaviour_show(dev, psy->desc->charge_behaviours,
> + value.intval, buf);
> break;
> case POWER_SUPPLY_PROP_MODEL_NAME ... POWER_SUPPLY_PROP_SERIAL_NUMBER:
> ret = sysfs_emit(buf, "%s\n", value.strval);
>
> ---
> base-commit: 070c1470ae24317e7b19bd3882b300b6d69922a4
> change-id: 20240329-power-supply-simplify-5722806eefdd
>
> Best regards,


2024-03-30 23:01:52

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH] power: supply: core: simplify charge_behaviour formatting


On Fri, 29 Mar 2024 09:18:29 +0100, Thomas Weißschuh wrote:
> The function power_supply_show_charge_behaviour() is not needed and can
> be removed completely.
> Removing the function also saves a spurious read of the property from
> the driver on each call.
>
> The convulted logic was a leftover from an earlier patch revision.
> Some restructuring made this cleanup possible.
>
> [...]

Applied, thanks!

[1/1] power: supply: core: simplify charge_behaviour formatting
commit: 91b623cda43e449a49177ba99b6723f551a4bfbe

Best regards,
--
Sebastian Reichel <[email protected]>