Re: [PATCH 0/4] serdev: make serdev_device_write() more usable

From: Johan Hovold
Date: Tue Nov 20 2018 - 12:11:13 EST


On Mon, Nov 19, 2018 at 09:16:35AM -0600, Rob Herring wrote:
> On Wed, Nov 14, 2018 at 9:10 AM Johan Hovold <johan@xxxxxxxxxx> wrote:
> >
> > This series make the synchronous serdev_device_write() helper more
> > usable by
> >
> > 1) allowing drivers to pass a zero timeout to indicate that they
> > want to wait forever;
> >
> > 2) returning the number of bytes actually written (buffered)
> > if the helper is interrupted;
> >
> > 3) make the helper use interruptible wait so that the helper can
> > be used on behalf of user space.
> >
> > Finally, the two write functions are documented using kernel-doc.
> >
> > Turns out I was using the wrong timeout for two gnss drivers that
> > expected the helper to wait indefinitely. I've fixed up those separately
> > (by using MAX_SCHEDULE_TIMEOUT for now), but for the helper to be usable
> > when using flow control we really want it to be interruptible.
> >
> > Besides the two gnss drivers, there's currently only one other in-kernel
> > user of this helper and that driver (rave-sp) uses a non-zero timeout
> > and doesn't check the return value and therefore does not need to be
> > updated.
> >
> > Note that this series depends on the two above mentioned GNSS fixes
> > (submitted for v4.20-rc3).
> >
> > Johan
> >
> >
> > Johan Hovold (4):
> > serdev: use zero to indicate infinite write timeout
> > serdev: make synchronous write return bytes written
> > serdev: make synchronous write helper interruptible
> > serdev: document the write functions using kernel-doc
>
> Other than the one nit, for the series:
>
> Reviewed-by: Rob Herring <robh@xxxxxxxxxx>

Thanks for reviewing.

Greg, note that these still depend on the two gnss fixes currently in
your char-misc-linus branch.

Johan