Message ID | 20190919193141.7865-3-miquel.raynal@bootlin.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Introduce the generic ECC engine abstraction | expand |
On Thu, 19 Sep 2019 21:31:02 +0200 Miquel Raynal <miquel.raynal@bootlin.com> wrote: > NAND ECC modes (or providers) have their own enumeration but, unlike > their algorithms counterpart, there is no invalid or uninitialized > value to discriminate between an error and having chosen a no-ECC > situation. Add an "invalid" entry for this purpose. > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> > --- > drivers/mtd/nand/raw/nand_base.c | 2 +- > include/linux/mtd/rawnand.h | 1 + > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c > index 3bf2d56eced2..e6c483ec191a 100644 > --- a/drivers/mtd/nand/raw/nand_base.c > +++ b/drivers/mtd/nand/raw/nand_base.c > @@ -4851,7 +4851,7 @@ static int of_get_nand_ecc_mode(struct device_node *np) > if (err < 0) > return err; > > - for (i = 0; i < ARRAY_SIZE(nand_ecc_modes); i++) > + for (i = NAND_ECC_NONE; i < ARRAY_SIZE(nand_ecc_modes); i++) > if (!strcasecmp(pm, nand_ecc_modes[i])) > return i; > > diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h > index cd834e9f7e78..ccdc0c314acc 100644 > --- a/include/linux/mtd/rawnand.h > +++ b/include/linux/mtd/rawnand.h > @@ -84,6 +84,7 @@ struct nand_chip; > * Constants for ECC_MODES > */ > enum nand_ecc_mode { > + NAND_ECC_INVALID, Just nitpicking, but I feel -1 would be better fit for this INVALID value. NAND_ECC_INVALID = -1, NAND_ECC_NONE = 0, Unless you plan to add an entry for ECC_INVALID in nand_ecc_modes, of course, in which case you indeed want to start at 0. Regardless of that, the change looks good to me: Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> > NAND_ECC_NONE, > NAND_ECC_SOFT, > NAND_ECC_HW,
diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c index 3bf2d56eced2..e6c483ec191a 100644 --- a/drivers/mtd/nand/raw/nand_base.c +++ b/drivers/mtd/nand/raw/nand_base.c @@ -4851,7 +4851,7 @@ static int of_get_nand_ecc_mode(struct device_node *np) if (err < 0) return err; - for (i = 0; i < ARRAY_SIZE(nand_ecc_modes); i++) + for (i = NAND_ECC_NONE; i < ARRAY_SIZE(nand_ecc_modes); i++) if (!strcasecmp(pm, nand_ecc_modes[i])) return i; diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h index cd834e9f7e78..ccdc0c314acc 100644 --- a/include/linux/mtd/rawnand.h +++ b/include/linux/mtd/rawnand.h @@ -84,6 +84,7 @@ struct nand_chip; * Constants for ECC_MODES */ enum nand_ecc_mode { + NAND_ECC_INVALID, NAND_ECC_NONE, NAND_ECC_SOFT, NAND_ECC_HW,
NAND ECC modes (or providers) have their own enumeration but, unlike their algorithms counterpart, there is no invalid or uninitialized value to discriminate between an error and having chosen a no-ECC situation. Add an "invalid" entry for this purpose. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> --- drivers/mtd/nand/raw/nand_base.c | 2 +- include/linux/mtd/rawnand.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)