Re: [PATCH v5 1/2] spi: Replace -ENOTSUPP with -EOPNOTSUPP in op checking

From: AceLan Kao
Date: Fri Nov 10 2023 - 13:29:26 EST


Hi Michael,

Michael Walle <michael@xxxxxxxx> 於 2023年11月9日 週四 下午6:56寫道:
>
> Hi,
>
> Am 2023-11-08 10:43, schrieb AceLan Kao:
> > From: "Chia-Lin Kao (AceLan)" <acelan.kao@xxxxxxxxxxxxx>
> >
> > No functional changes are introduced by this patch; it's a code cleanup
> > to use the correct error code.
>
> This error code might be returned to userspace (I guess?).

It's not likely the value will be returned to userspace.
I didn't find a path that the value will go to usepsace.
>
> > Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao@xxxxxxxxxxxxx>
> >
> > ---
> > v5. distinguish -EOPNOTSUPP from -ENOTSUPP
> > ---
> > drivers/mtd/nand/spi/core.c | 2 +-
> > drivers/spi/atmel-quadspi.c | 2 +-
> > drivers/spi/spi-ath79.c | 2 +-
> > drivers/spi/spi-bcm-qspi.c | 2 +-
> > drivers/spi/spi-mem.c | 6 +++---
> > drivers/spi/spi-npcm-fiu.c | 2 +-
> > drivers/spi/spi-ti-qspi.c | 4 ++--
> > drivers/spi/spi-wpcm-fiu.c | 2 +-
>
> This is missing a user in spi-nor/core.c (in
> spi_nor_set_4byte_addr_mode()).
Right, we should change the check to -EOPNOTSUPP
>
> -michael
>
> > 8 files changed, 11 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
> > index 393ff37f0d23..d1df5cd401cf 100644
> > --- a/drivers/mtd/nand/spi/core.c
> > +++ b/drivers/mtd/nand/spi/core.c
> > @@ -973,7 +973,7 @@ static int spinand_manufacturer_match(struct
> > spinand_device *spinand,
> > spinand->manufacturer = manufacturer;
> > return 0;
> > }
> > - return -ENOTSUPP;
> > + return -EOPNOTSUPP;
> > }
> >
> > static int spinand_id_detect(struct spinand_device *spinand)
> > diff --git a/drivers/spi/atmel-quadspi.c b/drivers/spi/atmel-quadspi.c
> > index 3d1252566134..370c4d1572ed 100644
> > --- a/drivers/spi/atmel-quadspi.c
> > +++ b/drivers/spi/atmel-quadspi.c
> > @@ -272,7 +272,7 @@ static int atmel_qspi_find_mode(const struct
> > spi_mem_op *op)
> > if (atmel_qspi_is_compatible(op, &atmel_qspi_modes[i]))
> > return i;
> >
> > - return -ENOTSUPP;
> > + return -EOPNOTSUPP;
> > }
> >
> > static bool atmel_qspi_supports_op(struct spi_mem *mem,
> > diff --git a/drivers/spi/spi-ath79.c b/drivers/spi/spi-ath79.c
> > index c9f1d1e1dcf7..b7ada981464a 100644
> > --- a/drivers/spi/spi-ath79.c
> > +++ b/drivers/spi/spi-ath79.c
> > @@ -146,7 +146,7 @@ static int ath79_exec_mem_op(struct spi_mem *mem,
> > /* Only use for fast-read op. */
> > if (op->cmd.opcode != 0x0b || op->data.dir != SPI_MEM_DATA_IN ||
> > op->addr.nbytes != 3 || op->dummy.nbytes != 1)
> > - return -ENOTSUPP;
> > + return -EOPNOTSUPP;
> >
> > /* disable GPIO mode */
> > ath79_spi_wr(sp, AR71XX_SPI_REG_FS, 0);
> > diff --git a/drivers/spi/spi-bcm-qspi.c b/drivers/spi/spi-bcm-qspi.c
> > index ef08fcac2f6d..d96222e6d7d2 100644
> > --- a/drivers/spi/spi-bcm-qspi.c
> > +++ b/drivers/spi/spi-bcm-qspi.c
> > @@ -1199,7 +1199,7 @@ static int bcm_qspi_exec_mem_op(struct spi_mem
> > *mem,
> >
> > if (!op->data.nbytes || !op->addr.nbytes || op->addr.nbytes > 4 ||
> > op->data.dir != SPI_MEM_DATA_IN)
> > - return -ENOTSUPP;
> > + return -EOPNOTSUPP;
> >
> > buf = op->data.buf.in;
> > addr = op->addr.val;
> > diff --git a/drivers/spi/spi-mem.c b/drivers/spi/spi-mem.c
> > index edd7430d4c05..2dc8ceb85374 100644
> > --- a/drivers/spi/spi-mem.c
> > +++ b/drivers/spi/spi-mem.c
> > @@ -323,7 +323,7 @@ int spi_mem_exec_op(struct spi_mem *mem, const
> > struct spi_mem_op *op)
> > return ret;
> >
> > if (!spi_mem_internal_supports_op(mem, op))
> > - return -ENOTSUPP;
> > + return -EOPNOTSUPP;
> >
> > if (ctlr->mem_ops && ctlr->mem_ops->exec_op &&
> > !spi_get_csgpiod(mem->spi, 0)) {
> > ret = spi_mem_access_start(mem);
> > @@ -339,7 +339,7 @@ int spi_mem_exec_op(struct spi_mem *mem, const
> > struct spi_mem_op *op)
> > * read path) and expect the core to use the regular SPI
> > * interface in other cases.
> > */
> > - if (!ret || ret != -ENOTSUPP)
> > + if (!ret || ret != -ENOTSUPP || ret != -EOPNOTSUPP)
> > return ret;
> > }
> >
> > @@ -559,7 +559,7 @@ spi_mem_dirmap_create(struct spi_mem *mem,
> > if (ret) {
> > desc->nodirmap = true;
> > if (!spi_mem_supports_op(desc->mem, &desc->info.op_tmpl))
> > - ret = -ENOTSUPP;
> > + ret = -EOPNOTSUPP;
> > else
> > ret = 0;
> > }
> > diff --git a/drivers/spi/spi-npcm-fiu.c b/drivers/spi/spi-npcm-fiu.c
> > index 03db9f016a11..f3bb8bbc192f 100644
> > --- a/drivers/spi/spi-npcm-fiu.c
> > +++ b/drivers/spi/spi-npcm-fiu.c
> > @@ -556,7 +556,7 @@ static int npcm_fiu_exec_op(struct spi_mem *mem,
> > const struct spi_mem_op *op)
> > op->data.nbytes);
> >
> > if (fiu->spix_mode || op->addr.nbytes > 4)
> > - return -ENOTSUPP;
> > + return -EOPNOTSUPP;
> >
> > if (fiu->clkrate != chip->clkrate) {
> > ret = clk_set_rate(fiu->clk, chip->clkrate);
> > diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c
> > index 4c81516b67db..0877dc5058a1 100644
> > --- a/drivers/spi/spi-ti-qspi.c
> > +++ b/drivers/spi/spi-ti-qspi.c
> > @@ -613,12 +613,12 @@ static int ti_qspi_exec_mem_op(struct spi_mem
> > *mem,
> > /* Only optimize read path. */
> > if (!op->data.nbytes || op->data.dir != SPI_MEM_DATA_IN ||
> > !op->addr.nbytes || op->addr.nbytes > 4)
> > - return -ENOTSUPP;
> > + return -EOPNOTSUPP;
> >
> > /* Address exceeds MMIO window size, fall back to regular mode. */
> > from = op->addr.val;
> > if (from + op->data.nbytes > qspi->mmap_size)
> > - return -ENOTSUPP;
> > + return -EOPNOTSUPP;
> >
> > mutex_lock(&qspi->list_lock);
> >
> > diff --git a/drivers/spi/spi-wpcm-fiu.c b/drivers/spi/spi-wpcm-fiu.c
> > index 852ffe013d32..d76f7b5a9b97 100644
> > --- a/drivers/spi/spi-wpcm-fiu.c
> > +++ b/drivers/spi/spi-wpcm-fiu.c
> > @@ -361,7 +361,7 @@ static int wpcm_fiu_exec_op(struct spi_mem *mem,
> > const struct spi_mem_op *op)
> >
> > wpcm_fiu_stall_host(fiu, false);
> >
> > - return -ENOTSUPP;
> > + return -EOPNOTSUPP;
> > }
> >
> > static int wpcm_fiu_adjust_op_size(struct spi_mem *mem, struct
> > spi_mem_op *op)