Re: [RESEND v5 09/21] mtd: rawnand: Create a new enumeration to describe properly ECC types
From: Boris Brezillon <boris.brezillon@collabora.com>
Date: 2020-05-27 08:50:56
On Wed, 27 May 2020 10:44:30 +0200 Boris Brezillon [off-list ref] wrote:
On Wed, 27 May 2020 10:33:56 +0200 Miquel Raynal [off-list ref] wrote:quoted
Boris Brezillon [off-list ref] wrote on Wed, 27 May 2020 00:59:28 +0200:quoted
On Tue, 26 May 2020 21:56:21 +0200 Miquel Raynal [off-list ref] wrote:quoted
Now that the misleading mix between ECC engine type and OOB placement has been addressed, add a new enumeration to properly define ECC types (also called provider or mode). Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> --- drivers/mtd/nand/raw/nand_base.c | 7 +++++++ include/linux/mtd/rawnand.h | 16 ++++++++++++++++ 2 files changed, 23 insertions(+)diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c index 515cd4681660..5c6ab5b93270 100644 --- a/drivers/mtd/nand/raw/nand_base.c +++ b/drivers/mtd/nand/raw/nand_base.c@@ -5018,6 +5018,13 @@ static const char * const nand_ecc_modes[] = { [NAND_ECC_ON_DIE] = "on-die", }; +static const char * const nand_ecc_engine_providers[] = {This table is not used here, are you sure it should be introduced now?quoted
+ [NAND_ECC_ENGINE_NONE] = "none", + [NAND_ECC_ENGINE_SOFT] = "soft", + [NAND_ECC_ENGINE_CONTROLLER] = "hw",^ "on-controller" ?This would break DT backward compatibility, I am afraid I cannot do that.You can always keep a translation table for the old prop (nand-ecc-mode) and have a new one for the new prop (nand-ecc-engine-type). But maybe you're not introducing a new property in this series, in which case the translation table here is just fine.
BTW, this DT prop is more a way to select among several ECC engines when you have a choice, so maybe it should be named nand-use-ecc-engine-type/nand-select-ecc-engine-type instead of nand-ecc-provider/nand-ecc-engine-type.