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

From: Boris Brezillon
Date: Thu Mar 28 2019 - 15:55:30 EST


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.

>
> 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;
> }
>
> /**