spi: mxic: differentiate between unsupported and invalid requests
authorMiquel Raynal <miquel.raynal@bootlin.com>
Wed, 22 May 2024 14:52:53 +0000 (16:52 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 27 May 2024 00:33:05 +0000 (01:33 +0100)
If the request is out of range, returning -EINVAL seems
sensible. However if there is no direct mapping available (which is a
possible case), no direct mapping will ever be allowed, hence -EOPNOTSUP
is probably more relevant in this case.

>From a caller (and reviewer) point of view, distinguising between the
two may be helpful because somehow one can be "fixed" while the other
will always be refused no matter how hard we try.

As part of a wider work to bring spi-nand continuous reads, it was
useful to easily catch the upper limit direct mapping boundaries for
each controller, with the idea of enlarging this area from a page to an
eraseblock, without risking too many regressions.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://msgid.link/r/20240522145255.995778-3-miquel.raynal@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-mxic.c

index 60c9f3048ac9a43291632021208347f735e58cd0..6156d691630a56b52ead0371f317559e86ec3f07 100644 (file)
@@ -496,7 +496,7 @@ static int mxic_spi_mem_dirmap_create(struct spi_mem_dirmap_desc *desc)
        struct mxic_spi *mxic = spi_controller_get_devdata(desc->mem->spi->controller);
 
        if (!mxic->linear.map)
-               return -EINVAL;
+               return -EOPNOTSUPP;
 
        if (desc->info.offset + desc->info.length > U32_MAX)
                return -EINVAL;