Re: [PATCH] gpio: mockup: use simple_read_from_buffer() in debugfs read callback

From: Bartosz Golaszewski
Date: Thu Mar 28 2019 - 09:42:39 EST


czw., 28 mar 2019 o 14:11 Mukesh Ojha <mojha@xxxxxxxxxxxxxx> napisaÅ(a):
>
>
> On 3/28/2019 4:30 PM, Bartosz Golaszewski wrote:
> > From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
> >
> > Calling read() for a single byte read will return 2 currently. Use
> > simple_read_from_buffer() which correctly handles all sizes.
> >
> > Fixes: 2a9e27408e12 ("gpio: mockup: rework debugfs interface")
> > Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
> > ---
> > drivers/gpio/gpio-mockup.c | 7 +------
> > 1 file changed, 1 insertion(+), 6 deletions(-)
> >
> > diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
> > index 74ba8b1d71d8..859585dce5c9 100644
> > --- a/drivers/gpio/gpio-mockup.c
> > +++ b/drivers/gpio/gpio-mockup.c
> > @@ -219,12 +219,7 @@ static ssize_t gpio_mockup_debugfs_read(struct file *file,
> > val = gpio_mockup_get(gc, priv->offset);
> > cnt = snprintf(buf, sizeof(buf), "%d\n", val);
>
>
> why \n is inserted in the buf..
>

Because this is how all the attributes work - you read the value + '\n'.

> rv variable is unused now.
>
> >
> > - rv = copy_to_user(usr_buf, buf, cnt);
> > - if (rv)
> > - return rv;
> > -
> > - *ppos += cnt;
> > - return cnt;
> > + return simple_read_from_buffer(usr_buf, size, ppos, buf, cnt);
>
>
>
> Looks good to me.
> Remove the unused variable.
>

Thanks, removed that and a stray newline.

Bart

> Reviewed-by: Mukesh Ojha <mojha@xxxxxxxxxxxxxx>
>
> -Mukesh
>
> > }
> >
> > static ssize_t gpio_mockup_debugfs_write(struct file *file,