Re: [PATCH linux-next] power: supply: use sysfs_emit() to instead of scnprintf()

From: Sebastian Reichel
Date: Mon Dec 05 2022 - 17:24:15 EST


Hi,

On Mon, Dec 05, 2022 at 11:07:58AM +0800, ye.xingchen@xxxxxxxxxx wrote:
> From: ye xingchen <ye.xingchen@xxxxxxxxxx>
>
> Follow the advice of the Documentation/filesystems/sysfs.rst and show()
> should only use sysfs_emit() or sysfs_emit_at() when formatting the
> value to be returned to user space.
>
> Signed-off-by: ye xingchen <ye.xingchen@xxxxxxxxxx>
> ---

Looks sensible. But the merge window will open soon, so this will
have to wait. It would be nice if you can prepare a v2, which
includes

* Moving remaining scnprintf to sysfs_emit_at in
drivers/power/supply/twl4030_charger.c
* Updateing usage of sprintf based sysfs show()
routines in addition to the scnprintf ones

Thanks,

-- Sebastian

> drivers/power/supply/ab8500_fg.c | 18 +++++++++---------
> drivers/power/supply/bq24190_charger.c | 2 +-
> drivers/power/supply/bq24257_charger.c | 8 +++-----
> drivers/power/supply/lp8788-charger.c | 7 +++----
> drivers/power/supply/max14577_charger.c | 2 +-
> drivers/power/supply/max77693_charger.c | 6 +++---
> 6 files changed, 20 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/power/supply/ab8500_fg.c b/drivers/power/supply/ab8500_fg.c
> index c6c9804280db..d989eadaa933 100644
> --- a/drivers/power/supply/ab8500_fg.c
> +++ b/drivers/power/supply/ab8500_fg.c
> @@ -2594,7 +2594,7 @@ static ssize_t ab8505_powercut_flagtime_read(struct device *dev,
> goto fail;
> }
>
> - return scnprintf(buf, PAGE_SIZE, "%d\n", (reg_value & 0x7F));
> + return sysfs_emit(buf, "%d\n", (reg_value & 0x7F));
>
> fail:
> return ret;
> @@ -2644,7 +2644,7 @@ static ssize_t ab8505_powercut_maxtime_read(struct device *dev,
> goto fail;
> }
>
> - return scnprintf(buf, PAGE_SIZE, "%d\n", (reg_value & 0x7F));
> + return sysfs_emit(buf, "%d\n", (reg_value & 0x7F));
>
> fail:
> return ret;
> @@ -2695,7 +2695,7 @@ static ssize_t ab8505_powercut_restart_read(struct device *dev,
> goto fail;
> }
>
> - return scnprintf(buf, PAGE_SIZE, "%d\n", (reg_value & 0xF));
> + return sysfs_emit(buf, "%d\n", (reg_value & 0xF));
>
> fail:
> return ret;
> @@ -2746,7 +2746,7 @@ static ssize_t ab8505_powercut_timer_read(struct device *dev,
> goto fail;
> }
>
> - return scnprintf(buf, PAGE_SIZE, "%d\n", (reg_value & 0x7F));
> + return sysfs_emit(buf, "%d\n", (reg_value & 0x7F));
>
> fail:
> return ret;
> @@ -2769,7 +2769,7 @@ static ssize_t ab8505_powercut_restart_counter_read(struct device *dev,
> goto fail;
> }
>
> - return scnprintf(buf, PAGE_SIZE, "%d\n", (reg_value & 0xF0) >> 4);
> + return sysfs_emit(buf, "%d\n", (reg_value & 0xF0) >> 4);
>
> fail:
> return ret;
> @@ -2790,7 +2790,7 @@ static ssize_t ab8505_powercut_read(struct device *dev,
> if (ret < 0)
> goto fail;
>
> - return scnprintf(buf, PAGE_SIZE, "%d\n", (reg_value & 0x1));
> + return sysfs_emit(buf, "%d\n", (reg_value & 0x1));
>
> fail:
> return ret;
> @@ -2841,7 +2841,7 @@ static ssize_t ab8505_powercut_flag_read(struct device *dev,
> goto fail;
> }
>
> - return scnprintf(buf, PAGE_SIZE, "%d\n", ((reg_value & 0x10) >> 4));
> + return sysfs_emit(buf, "%d\n", ((reg_value & 0x10) >> 4));
>
> fail:
> return ret;
> @@ -2864,7 +2864,7 @@ static ssize_t ab8505_powercut_debounce_read(struct device *dev,
> goto fail;
> }
>
> - return scnprintf(buf, PAGE_SIZE, "%d\n", (reg_value & 0x7));
> + return sysfs_emit(buf, "%d\n", (reg_value & 0x7));
>
> fail:
> return ret;
> @@ -2914,7 +2914,7 @@ static ssize_t ab8505_powercut_enable_status_read(struct device *dev,
> goto fail;
> }
>
> - return scnprintf(buf, PAGE_SIZE, "%d\n", ((reg_value & 0x20) >> 5));
> + return sysfs_emit(buf, "%d\n", ((reg_value & 0x20) >> 5));
>
> fail:
> return ret;
> diff --git a/drivers/power/supply/bq24190_charger.c b/drivers/power/supply/bq24190_charger.c
> index 2b2c3a4391c1..be34b9848450 100644
> --- a/drivers/power/supply/bq24190_charger.c
> +++ b/drivers/power/supply/bq24190_charger.c
> @@ -463,7 +463,7 @@ static ssize_t bq24190_sysfs_show(struct device *dev,
> if (ret)
> count = ret;
> else
> - count = scnprintf(buf, PAGE_SIZE, "%hhx\n", v);
> + count = sysfs_emit(buf, "%hhx\n", v);
>
> pm_runtime_mark_last_busy(bdi->dev);
> pm_runtime_put_autosuspend(bdi->dev);
> diff --git a/drivers/power/supply/bq24257_charger.c b/drivers/power/supply/bq24257_charger.c
> index ab4c49788c58..103ddc2b3def 100644
> --- a/drivers/power/supply/bq24257_charger.c
> +++ b/drivers/power/supply/bq24257_charger.c
> @@ -767,8 +767,7 @@ static ssize_t bq24257_show_ovp_voltage(struct device *dev,
> struct power_supply *psy = dev_get_drvdata(dev);
> struct bq24257_device *bq = power_supply_get_drvdata(psy);
>
> - return scnprintf(buf, PAGE_SIZE, "%u\n",
> - bq24257_vovp_map[bq->init_data.vovp]);
> + return sysfs_emit(buf, "%u\n", bq24257_vovp_map[bq->init_data.vovp]);
> }
>
> static ssize_t bq24257_show_in_dpm_voltage(struct device *dev,
> @@ -778,8 +777,7 @@ static ssize_t bq24257_show_in_dpm_voltage(struct device *dev,
> struct power_supply *psy = dev_get_drvdata(dev);
> struct bq24257_device *bq = power_supply_get_drvdata(psy);
>
> - return scnprintf(buf, PAGE_SIZE, "%u\n",
> - bq24257_vindpm_map[bq->init_data.vindpm]);
> + return sysfs_emit(buf, "%u\n", bq24257_vindpm_map[bq->init_data.vindpm]);
> }
>
> static ssize_t bq24257_sysfs_show_enable(struct device *dev,
> @@ -800,7 +798,7 @@ static ssize_t bq24257_sysfs_show_enable(struct device *dev,
> if (ret < 0)
> return ret;
>
> - return scnprintf(buf, PAGE_SIZE, "%d\n", ret);
> + return sysfs_emit(buf, "%d\n", ret);
> }
>
> static ssize_t bq24257_sysfs_set_enable(struct device *dev,
> diff --git a/drivers/power/supply/lp8788-charger.c b/drivers/power/supply/lp8788-charger.c
> index f5f47a0aa1e3..755b6a4379b8 100644
> --- a/drivers/power/supply/lp8788-charger.c
> +++ b/drivers/power/supply/lp8788-charger.c
> @@ -602,7 +602,7 @@ static ssize_t lp8788_show_charger_status(struct device *dev,
> lp8788_read_byte(pchg->lp, LP8788_CHG_STATUS, &data);
> state = (data & LP8788_CHG_STATE_M) >> LP8788_CHG_STATE_S;
>
> - return scnprintf(buf, PAGE_SIZE, "%s\n", desc[state]);
> + return sysfs_emit(buf, "%s\n", desc[state]);
> }
>
> static ssize_t lp8788_show_eoc_time(struct device *dev,
> @@ -618,8 +618,7 @@ static ssize_t lp8788_show_eoc_time(struct device *dev,
> lp8788_read_byte(pchg->lp, LP8788_CHG_EOC, &val);
> val = (val & LP8788_CHG_EOC_TIME_M) >> LP8788_CHG_EOC_TIME_S;
>
> - return scnprintf(buf, PAGE_SIZE, "End Of Charge Time: %s\n",
> - stime[val]);
> + return sysfs_emit(buf, "End Of Charge Time: %s\n", stime[val]);
> }
>
> static ssize_t lp8788_show_eoc_level(struct device *dev,
> @@ -642,7 +641,7 @@ static ssize_t lp8788_show_eoc_level(struct device *dev,
> val = (val & LP8788_CHG_EOC_LEVEL_M) >> LP8788_CHG_EOC_LEVEL_S;
> level = mode ? abs_level[val] : relative_level[val];
>
> - return scnprintf(buf, PAGE_SIZE, "End Of Charge Level: %s\n", level);
> + return sysfs_emit(buf, "End Of Charge Level: %s\n", level);
> }
>
> static DEVICE_ATTR(charger_status, S_IRUSR, lp8788_show_charger_status, NULL);
> diff --git a/drivers/power/supply/max14577_charger.c b/drivers/power/supply/max14577_charger.c
> index f244cd902eb9..96f9de775043 100644
> --- a/drivers/power/supply/max14577_charger.c
> +++ b/drivers/power/supply/max14577_charger.c
> @@ -532,7 +532,7 @@ static ssize_t show_fast_charge_timer(struct device *dev,
> break;
> }
>
> - return scnprintf(buf, PAGE_SIZE, "%u\n", val);
> + return sysfs_emit(buf, "%u\n", val);
> }
>
> static ssize_t store_fast_charge_timer(struct device *dev,
> diff --git a/drivers/power/supply/max77693_charger.c b/drivers/power/supply/max77693_charger.c
> index a2c5c9858639..794c8c054450 100644
> --- a/drivers/power/supply/max77693_charger.c
> +++ b/drivers/power/supply/max77693_charger.c
> @@ -296,7 +296,7 @@ static ssize_t fast_charge_timer_show(struct device *dev,
> break;
> }
>
> - return scnprintf(buf, PAGE_SIZE, "%u\n", val);
> + return sysfs_emit(buf, "%u\n", val);
> }
>
> static int max77693_set_fast_charge_timer(struct max77693_charger *chg,
> @@ -357,7 +357,7 @@ static ssize_t top_off_threshold_current_show(struct device *dev,
> else
> val = data * 50000;
>
> - return scnprintf(buf, PAGE_SIZE, "%u\n", val);
> + return sysfs_emit(buf, "%u\n", val);
> }
>
> static int max77693_set_top_off_threshold_current(struct max77693_charger *chg,
> @@ -405,7 +405,7 @@ static ssize_t top_off_timer_show(struct device *dev,
>
> val = data * 10;
>
> - return scnprintf(buf, PAGE_SIZE, "%u\n", val);
> + return sysfs_emit(buf, "%u\n", val);
> }
>
> static int max77693_set_top_off_timer(struct max77693_charger *chg,
> --
> 2.25.1

Attachment: signature.asc
Description: PGP signature