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

ye.xingchen@zte.com.cn posted 1 patch 1 year, 4 months ago
There is a newer version of this series
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(-)
[PATCH linux-next] power: supply: use sysfs_emit() to instead of scnprintf()
Posted by ye.xingchen@zte.com.cn 1 year, 4 months ago
From: ye xingchen <ye.xingchen@zte.com.cn>

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@zte.com.cn>
---
 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
Re: [PATCH linux-next] power: supply: use sysfs_emit() to instead of scnprintf()
Posted by Sebastian Reichel 1 year, 4 months ago
Hi,

On Mon, Dec 05, 2022 at 11:07:58AM +0800, ye.xingchen@zte.com.cn wrote:
> From: ye xingchen <ye.xingchen@zte.com.cn>
> 
> 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@zte.com.cn>
> ---

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