RE: [LINUX PATCH 2/3] spi: spi-mem: call spi_mem_default_supports_op() first

From: Naga Sureshkumar Relli
Date: Fri Mar 29 2019 - 07:09:01 EST


Hi Vignesh,

> -----Original Message-----
> From: linux-spi-owner@xxxxxxxxxxxxxxx <linux-spi-owner@xxxxxxxxxxxxxxx> On Behalf Of
> Vignesh Raghavendra
> Sent: Friday, March 29, 2019 4:32 PM
> To: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx>; Naga Sureshkumar Relli
> <nagasure@xxxxxxxxxx>
> Cc: broonie@xxxxxxxxxx; bbrezillon@xxxxxxxxxx; linux-spi@xxxxxxxxxxxxxxx;
> dwmw2@xxxxxxxxxxxxx; marek.vasut@xxxxxxxxx; richard@xxxxxx; linux-
> mtd@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Michal Simek <michals@xxxxxxxxxx>;
> nagasuresh12@xxxxxxxxx
> Subject: Re: [LINUX PATCH 2/3] spi: spi-mem: call spi_mem_default_supports_op() first
>
> Hi Naga Sureshkumar
>
> On 29/03/19 1:25 AM, Boris Brezillon wrote:
> > On Thu, 28 Mar 2019 16:46:24 +0530
> > Naga Sureshkumar Relli <naga.sureshkumar.relli@xxxxxxxxxx> wrote:
> >
> >> Call spi_mem_default_supports_op() first, before calling controller
> >> specific ctlr->supports_op().
> >> With this, controller drivers can drop checking the buswidths again.
> >
> > No, this was done on purpose, in case the controller does not want the
> > default check to be applied (say it does not need bus-width props to
> > be defined and has another way to check if a device can be accessed in
> > dual, quad or octal mode).
> > Just call spi_mem_default_supports_op() from your driver
> > ->supports_op() hook if needed.
> >
>
> Could you rework to follow Boris's suggestion here?
Sure. I will update.

Thanks,
Naga Sureshkumar Relli
>
> >>
> >> Suggested-by: Vignesh Raghavendra <vigneshr@xxxxxx>
> >> Signed-off-by: Naga Sureshkumar Relli
> >> <naga.sureshkumar.relli@xxxxxxxxxx>
> >> ---
> >> Details can be found at https://lkml.org/lkml/2019/3/1/183
> >> ---
> >> drivers/spi/spi-mem.c | 7 +++++--
> >> 1 file changed, 5 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/spi/spi-mem.c b/drivers/spi/spi-mem.c index
> >> 5217a56..56aa158 100644
> >> --- a/drivers/spi/spi-mem.c
> >> +++ b/drivers/spi/spi-mem.c
> >> @@ -189,11 +189,14 @@ static bool spi_mem_internal_supports_op(struct spi_mem
> *mem,
> >> const struct spi_mem_op *op)
> >> {
> >> struct spi_controller *ctlr = mem->spi->controller;
> >> + bool ret;
> >> +
> >> + ret = spi_mem_default_supports_op(mem, op);
> >>
> >> if (ctlr->mem_ops && ctlr->mem_ops->supports_op)
> >> - return ctlr->mem_ops->supports_op(mem, op);
> >> + ret = ctlr->mem_ops->supports_op(mem, op);
> >>
> >> - return spi_mem_default_supports_op(mem, op);
> >> + return ret;
> >> }
> >>
> >> /**
> >
>
> --
> Regards
> Vignesh