2022-12-07 07:58:43

by ye.xingchen

[permalink] [raw]
Subject: [PATCH] iio: st_sensors: Convert to use sysfs_emit_at() API

From: ye xingchen <[email protected]>

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 <[email protected]>
---
drivers/iio/common/st_sensors/st_sensors_core.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c
index c77d7bdcc121..44e374f84197 100644
--- a/drivers/iio/common/st_sensors/st_sensors_core.c
+++ b/drivers/iio/common/st_sensors/st_sensors_core.c
@@ -628,8 +628,7 @@ ssize_t st_sensors_sysfs_sampling_frequency_avail(struct device *dev,
if (sdata->sensor_settings->odr.odr_avl[i].hz == 0)
break;

- len += scnprintf(buf + len, PAGE_SIZE - len, "%d ",
- sdata->sensor_settings->odr.odr_avl[i].hz);
+ len += sysfs_emit_at(buf, len, "%d ", sdata->sensor_settings->odr.odr_avl[i].hz);
}
buf[len - 1] = '\n';

@@ -651,7 +650,7 @@ ssize_t st_sensors_sysfs_scale_avail(struct device *dev,
q = sdata->sensor_settings->fs.fs_avl[i].gain / 1000000;
r = sdata->sensor_settings->fs.fs_avl[i].gain % 1000000;

- len += scnprintf(buf + len, PAGE_SIZE - len, "%u.%06u ", q, r);
+ len += sysfs_emit_at(buf, len, "%u.%06u ", q, r);
}
buf[len - 1] = '\n';

--
2.25.1


2022-12-11 12:40:36

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] iio: st_sensors: Convert to use sysfs_emit_at() API

On Wed, 7 Dec 2022 15:53:55 +0800 (CST)
<[email protected]> wrote:

> From: ye xingchen <[email protected]>
>
> 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 <[email protected]>
> ---
> drivers/iio/common/st_sensors/st_sensors_core.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c
> index c77d7bdcc121..44e374f84197 100644
> --- a/drivers/iio/common/st_sensors/st_sensors_core.c
> +++ b/drivers/iio/common/st_sensors/st_sensors_core.c
> @@ -628,8 +628,7 @@ ssize_t st_sensors_sysfs_sampling_frequency_avail(struct device *dev,
> if (sdata->sensor_settings->odr.odr_avl[i].hz == 0)
> break;
>
> - len += scnprintf(buf + len, PAGE_SIZE - len, "%d ",
> - sdata->sensor_settings->odr.odr_avl[i].hz);
> + len += sysfs_emit_at(buf, len, "%d ", sdata->sensor_settings->odr.odr_avl[i].hz);

Another case where I would prefer we keep the line break.

> }
> buf[len - 1] = '\n';
>
> @@ -651,7 +650,7 @@ ssize_t st_sensors_sysfs_scale_avail(struct device *dev,
> q = sdata->sensor_settings->fs.fs_avl[i].gain / 1000000;
> r = sdata->sensor_settings->fs.fs_avl[i].gain % 1000000;
>
> - len += scnprintf(buf + len, PAGE_SIZE - len, "%u.%06u ", q, r);
> + len += sysfs_emit_at(buf, len, "%u.%06u ", q, r);
> }
> buf[len - 1] = '\n';
>