2023-06-20 17:03:31

by Alisa Roman

[permalink] [raw]
Subject: [PATCH] iio: adc: ad7192: Use sysfs_emit_at

Replace scnprintf with sysfs_emit_at which is the preferred alternative.

Also make sure each fractional digit is in its place by padding with
zeros up to 3 digits: "...%03d...".

Signed-off-by: Alisa Roman <[email protected]>
---
drivers/iio/adc/ad7192.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c
index e23d9a7dcc9e..c980bc871412 100644
--- a/drivers/iio/adc/ad7192.c
+++ b/drivers/iio/adc/ad7192.c
@@ -561,9 +561,8 @@ static ssize_t ad7192_show_filter_avail(struct device *dev,
ad7192_get_available_filter_freq(st, freq_avail);

for (i = 0; i < ARRAY_SIZE(freq_avail); i++)
- len += scnprintf(buf + len, PAGE_SIZE - len,
- "%d.%d ", freq_avail[i] / 1000,
- freq_avail[i] % 1000);
+ len += sysfs_emit_at(buf, len, "%d.%03d ", freq_avail[i] / 1000,
+ freq_avail[i] % 1000);

buf[len - 1] = '\n';

--
2.34.1



2023-06-26 11:34:24

by Nuno Sá

[permalink] [raw]
Subject: Re: [PATCH] iio: adc: ad7192: Use sysfs_emit_at

On Tue, 2023-06-20 at 19:31 +0300, Alisa Roman wrote:
> Replace scnprintf with sysfs_emit_at which is the preferred alternative.
>
> Also make sure each fractional digit is in its place by padding with
> zeros up to 3 digits: "...%03d...".
>
> Signed-off-by: Alisa Roman <[email protected]>
> ---

Reviewed-by: Nuno Sa <[email protected]>

>  drivers/iio/adc/ad7192.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c
> index e23d9a7dcc9e..c980bc871412 100644
> --- a/drivers/iio/adc/ad7192.c
> +++ b/drivers/iio/adc/ad7192.c
> @@ -561,9 +561,8 @@ static ssize_t ad7192_show_filter_avail(struct device *dev,
>         ad7192_get_available_filter_freq(st, freq_avail);
>  
>         for (i = 0; i < ARRAY_SIZE(freq_avail); i++)
> -               len += scnprintf(buf + len, PAGE_SIZE - len,
> -                                "%d.%d ", freq_avail[i] / 1000,
> -                                freq_avail[i] % 1000);
> +               len += sysfs_emit_at(buf, len, "%d.%03d ", freq_avail[i] / 1000,
> +                                    freq_avail[i] % 1000);
>  
>         buf[len - 1] = '\n';
>  

2023-07-08 14:46:10

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] iio: adc: ad7192: Use sysfs_emit_at

On Mon, 26 Jun 2023 13:19:49 +0200
Nuno Sá <[email protected]> wrote:

> On Tue, 2023-06-20 at 19:31 +0300, Alisa Roman wrote:
> > Replace scnprintf with sysfs_emit_at which is the preferred alternative.
> >
> > Also make sure each fractional digit is in its place by padding with
> > zeros up to 3 digits: "...%03d...".
> >
> > Signed-off-by: Alisa Roman <[email protected]>
> > ---
>
> Reviewed-by: Nuno Sa <[email protected]>
Applied to the togreg branch of iio.git. Not that as we are mid merge window
I'll wait to rebase on rc1 before pushing out as togreg. In meantime 0-day gets
to see what it can find on this branch as testing.

Jonathan

>
> >  drivers/iio/adc/ad7192.c | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c
> > index e23d9a7dcc9e..c980bc871412 100644
> > --- a/drivers/iio/adc/ad7192.c
> > +++ b/drivers/iio/adc/ad7192.c
> > @@ -561,9 +561,8 @@ static ssize_t ad7192_show_filter_avail(struct device *dev,
> >         ad7192_get_available_filter_freq(st, freq_avail);
> >  
> >         for (i = 0; i < ARRAY_SIZE(freq_avail); i++)
> > -               len += scnprintf(buf + len, PAGE_SIZE - len,
> > -                                "%d.%d ", freq_avail[i] / 1000,
> > -                                freq_avail[i] % 1000);
> > +               len += sysfs_emit_at(buf, len, "%d.%03d ", freq_avail[i] / 1000,
> > +                                    freq_avail[i] % 1000);
> >  
> >         buf[len - 1] = '\n';
> >  
>