All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boris Brezillon <boris.brezillon@collabora.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Tudor Ambarus <Tudor.Ambarus@microchip.com>,
	<linux-mtd@lists.infradead.org>, Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>, <devicetree@vger.kernel.org>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Paul Cercueil <paul@crapouillou.net>,
	Chuanhong Guo <gch981213@gmail.com>,
	Weijie Gao <weijie.gao@mediatek.com>,
	<linux-arm-kernel@lists.infradead.org>,
	Mason Yang <masonccyang@mxic.com.tw>,
	Julien Su <juliensu@mxic.com.tw>
Subject: Re: [PATCH v6 06/18] mtd: rawnand: Rename the ECC algorithm enumeration items
Date: Thu, 28 May 2020 16:26:34 +0200	[thread overview]
Message-ID: <20200528162634.31179552@collabora.com> (raw)
In-Reply-To: <20200528113113.9166-7-miquel.raynal@bootlin.com>

On Thu, 28 May 2020 13:31:01 +0200
Miquel Raynal <miquel.raynal@bootlin.com> wrote:

> NAND_ECC_ is not a meaningful prefix, use NAND_ECC_ALGO_ instead.
> 
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>

> ---
>  drivers/mtd/nand/raw/ams-delta.c              |  2 +-
>  drivers/mtd/nand/raw/arasan-nand-controller.c |  2 +-
>  drivers/mtd/nand/raw/atmel/nand-controller.c  |  2 +-
>  drivers/mtd/nand/raw/au1550nd.c               |  2 +-
>  drivers/mtd/nand/raw/brcmnand/brcmnand.c      | 12 ++++-----
>  drivers/mtd/nand/raw/davinci_nand.c           |  8 +++---
>  drivers/mtd/nand/raw/fsl_elbc_nand.c          |  2 +-
>  drivers/mtd/nand/raw/fsl_ifc_nand.c           |  2 +-
>  drivers/mtd/nand/raw/fsl_upm.c                |  2 +-
>  drivers/mtd/nand/raw/fsmc_nand.c              |  2 +-
>  drivers/mtd/nand/raw/gpio.c                   |  2 +-
>  drivers/mtd/nand/raw/marvell_nand.c           | 10 +++----
>  drivers/mtd/nand/raw/mpc5121_nfc.c            |  2 +-
>  drivers/mtd/nand/raw/mxc_nand.c               |  2 +-
>  drivers/mtd/nand/raw/nand_base.c              | 26 +++++++++----------
>  drivers/mtd/nand/raw/nand_micron.c            |  2 +-
>  drivers/mtd/nand/raw/nandsim.c                |  4 +--
>  drivers/mtd/nand/raw/omap2.c                  |  2 +-
>  drivers/mtd/nand/raw/orion_nand.c             |  2 +-
>  drivers/mtd/nand/raw/pasemi_nand.c            |  2 +-
>  drivers/mtd/nand/raw/plat_nand.c              |  2 +-
>  drivers/mtd/nand/raw/s3c2410.c                |  4 +--
>  drivers/mtd/nand/raw/sh_flctl.c               |  2 +-
>  drivers/mtd/nand/raw/socrates_nand.c          |  2 +-
>  drivers/mtd/nand/raw/tango_nand.c             |  2 +-
>  drivers/mtd/nand/raw/tegra_nand.c             | 20 +++++++-------
>  drivers/mtd/nand/raw/xway_nand.c              |  2 +-
>  include/linux/mtd/rawnand.h                   | 16 ++++++------
>  28 files changed, 70 insertions(+), 70 deletions(-)
> 
> diff --git a/drivers/mtd/nand/raw/ams-delta.c b/drivers/mtd/nand/raw/ams-delta.c
> index 3711e7a0436c..72a44b2411c1 100644
> --- a/drivers/mtd/nand/raw/ams-delta.c
> +++ b/drivers/mtd/nand/raw/ams-delta.c
> @@ -261,7 +261,7 @@ static int gpio_nand_probe(struct platform_device *pdev)
>  	}
>  
>  	this->ecc.mode = NAND_ECC_SOFT;
> -	this->ecc.algo = NAND_ECC_HAMMING;
> +	this->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	platform_set_drvdata(pdev, priv);
>  
> diff --git a/drivers/mtd/nand/raw/arasan-nand-controller.c b/drivers/mtd/nand/raw/arasan-nand-controller.c
> index 7141dcccba3c..076736351bc6 100644
> --- a/drivers/mtd/nand/raw/arasan-nand-controller.c
> +++ b/drivers/mtd/nand/raw/arasan-nand-controller.c
> @@ -983,7 +983,7 @@ static int anfc_init_hw_ecc_controller(struct arasan_nfc *nfc,
>  	mtd_set_ooblayout(mtd, &nand_ooblayout_lp_ops);
>  
>  	ecc->steps = mtd->writesize / ecc->size;
> -	ecc->algo = NAND_ECC_BCH;
> +	ecc->algo = NAND_ECC_ALGO_BCH;
>  	anand->ecc_bits = bch_gf_mag * ecc->strength;
>  	ecc->bytes = DIV_ROUND_UP(anand->ecc_bits, 8);
>  	anand->ecc_total = DIV_ROUND_UP(anand->ecc_bits * ecc->steps, 8);
> diff --git a/drivers/mtd/nand/raw/atmel/nand-controller.c b/drivers/mtd/nand/raw/atmel/nand-controller.c
> index 46a3724a788e..d9839461e460 100644
> --- a/drivers/mtd/nand/raw/atmel/nand-controller.c
> +++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
> @@ -1099,7 +1099,7 @@ static int atmel_nand_pmecc_init(struct nand_chip *chip)
>  	if (IS_ERR(nand->pmecc))
>  		return PTR_ERR(nand->pmecc);
>  
> -	chip->ecc.algo = NAND_ECC_BCH;
> +	chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  	chip->ecc.size = req.ecc.sectorsize;
>  	chip->ecc.bytes = req.ecc.bytes / req.ecc.nsectors;
>  	chip->ecc.strength = req.ecc.strength;
> diff --git a/drivers/mtd/nand/raw/au1550nd.c b/drivers/mtd/nand/raw/au1550nd.c
> index f7b4f421b2b0..e9140bf5cbac 100644
> --- a/drivers/mtd/nand/raw/au1550nd.c
> +++ b/drivers/mtd/nand/raw/au1550nd.c
> @@ -295,7 +295,7 @@ static int au1550nd_probe(struct platform_device *pdev)
>  	ctx->controller.ops = &au1550nd_ops;
>  	this->controller = &ctx->controller;
>  	this->ecc.mode = NAND_ECC_SOFT;
> -	this->ecc.algo = NAND_ECC_HAMMING;
> +	this->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	if (pd->devwidth)
>  		this->options |= NAND_BUSWIDTH_16;
> diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> index 4a0a7053fb7a..2a9f2ff89fe7 100644
> --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> @@ -2545,17 +2545,17 @@ static int brcmnand_setup_dev(struct brcmnand_host *host)
>  		return -EINVAL;
>  	}
>  
> -	if (chip->ecc.algo == NAND_ECC_UNKNOWN) {
> +	if (chip->ecc.algo == NAND_ECC_ALGO_UNKNOWN) {
>  		if (chip->ecc.strength == 1 && chip->ecc.size == 512)
>  			/* Default to Hamming for 1-bit ECC, if unspecified */
> -			chip->ecc.algo = NAND_ECC_HAMMING;
> +			chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		else
>  			/* Otherwise, BCH */
> -			chip->ecc.algo = NAND_ECC_BCH;
> +			chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  	}
>  
> -	if (chip->ecc.algo == NAND_ECC_HAMMING && (chip->ecc.strength != 1 ||
> -						   chip->ecc.size != 512)) {
> +	if (chip->ecc.algo == NAND_ECC_ALGO_HAMMING &&
> +	    (chip->ecc.strength != 1 || chip->ecc.size != 512)) {
>  		dev_err(ctrl->dev, "invalid Hamming params: %d bits per %d bytes\n",
>  			chip->ecc.strength, chip->ecc.size);
>  		return -EINVAL;
> @@ -2574,7 +2574,7 @@ static int brcmnand_setup_dev(struct brcmnand_host *host)
>  
>  	switch (chip->ecc.size) {
>  	case 512:
> -		if (chip->ecc.algo == NAND_ECC_HAMMING)
> +		if (chip->ecc.algo == NAND_ECC_ALGO_HAMMING)
>  			cfg->ecc_level = 15;
>  		else
>  			cfg->ecc_level = chip->ecc.strength;
> diff --git a/drivers/mtd/nand/raw/davinci_nand.c b/drivers/mtd/nand/raw/davinci_nand.c
> index 2e5d6c113b56..3640c7e45e15 100644
> --- a/drivers/mtd/nand/raw/davinci_nand.c
> +++ b/drivers/mtd/nand/raw/davinci_nand.c
> @@ -593,11 +593,11 @@ static int davinci_nand_attach_chip(struct nand_chip *chip)
>  		pdata->ecc_bits = 0;
>  		/*
>  		 * This driver expects Hamming based ECC when ecc_mode is set
> -		 * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_HAMMING to
> +		 * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_ALGO_HAMMING to
>  		 * avoid adding an extra ->ecc_algo field to
>  		 * davinci_nand_pdata.
>  		 */
> -		info->chip.ecc.algo = NAND_ECC_HAMMING;
> +		info->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		break;
>  	case NAND_ECC_HW:
>  		if (pdata->ecc_bits == 4) {
> @@ -629,7 +629,7 @@ static int davinci_nand_attach_chip(struct nand_chip *chip)
>  			info->chip.ecc.hwctl = nand_davinci_hwctl_4bit;
>  			info->chip.ecc.bytes = 10;
>  			info->chip.ecc.options = NAND_ECC_GENERIC_ERASED_CHECK;
> -			info->chip.ecc.algo = NAND_ECC_BCH;
> +			info->chip.ecc.algo = NAND_ECC_ALGO_BCH;
>  
>  			/*
>  			 * Update ECC layout if needed ... for 1-bit HW ECC, the
> @@ -656,7 +656,7 @@ static int davinci_nand_attach_chip(struct nand_chip *chip)
>  			info->chip.ecc.correct = nand_davinci_correct_1bit;
>  			info->chip.ecc.hwctl = nand_davinci_hwctl_1bit;
>  			info->chip.ecc.bytes = 3;
> -			info->chip.ecc.algo = NAND_ECC_HAMMING;
> +			info->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		}
>  		info->chip.ecc.size = 512;
>  		info->chip.ecc.strength = pdata->ecc_bits;
> diff --git a/drivers/mtd/nand/raw/fsl_elbc_nand.c b/drivers/mtd/nand/raw/fsl_elbc_nand.c
> index 088692b2e27a..da89389faaae 100644
> --- a/drivers/mtd/nand/raw/fsl_elbc_nand.c
> +++ b/drivers/mtd/nand/raw/fsl_elbc_nand.c
> @@ -748,7 +748,7 @@ static int fsl_elbc_attach_chip(struct nand_chip *chip)
>  		} else {
>  			/* otherwise fall back to default software ECC */
>  			chip->ecc.mode = NAND_ECC_SOFT;
> -			chip->ecc.algo = NAND_ECC_HAMMING;
> +			chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		}
>  		break;
>  
> diff --git a/drivers/mtd/nand/raw/fsl_ifc_nand.c b/drivers/mtd/nand/raw/fsl_ifc_nand.c
> index 00ae7a910b03..b2ae759dd14e 100644
> --- a/drivers/mtd/nand/raw/fsl_ifc_nand.c
> +++ b/drivers/mtd/nand/raw/fsl_ifc_nand.c
> @@ -926,7 +926,7 @@ static int fsl_ifc_chip_init(struct fsl_ifc_mtd *priv)
>  		}
>  	} else {
>  		chip->ecc.mode = NAND_ECC_SOFT;
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  	}
>  
>  	ret = fsl_ifc_sram_init(priv);
> diff --git a/drivers/mtd/nand/raw/fsl_upm.c b/drivers/mtd/nand/raw/fsl_upm.c
> index 627deb26db51..49592b7e03a3 100644
> --- a/drivers/mtd/nand/raw/fsl_upm.c
> +++ b/drivers/mtd/nand/raw/fsl_upm.c
> @@ -164,7 +164,7 @@ static int fun_chip_init(struct fsl_upm_nand *fun,
>  	fun->chip.legacy.read_buf = fun_read_buf;
>  	fun->chip.legacy.write_buf = fun_write_buf;
>  	fun->chip.ecc.mode = NAND_ECC_SOFT;
> -	fun->chip.ecc.algo = NAND_ECC_HAMMING;
> +	fun->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  	if (fun->mchip_count > 1)
>  		fun->chip.legacy.select_chip = fun_select_chip;
>  
> diff --git a/drivers/mtd/nand/raw/fsmc_nand.c b/drivers/mtd/nand/raw/fsmc_nand.c
> index 3909752b14c5..ced570987e85 100644
> --- a/drivers/mtd/nand/raw/fsmc_nand.c
> +++ b/drivers/mtd/nand/raw/fsmc_nand.c
> @@ -911,7 +911,7 @@ static int fsmc_nand_attach_chip(struct nand_chip *nand)
>  		break;
>  
>  	case NAND_ECC_SOFT:
> -		if (nand->ecc.algo == NAND_ECC_BCH) {
> +		if (nand->ecc.algo == NAND_ECC_ALGO_BCH) {
>  			dev_info(host->dev,
>  				 "Using 4-bit SW BCH ECC scheme\n");
>  			break;
> diff --git a/drivers/mtd/nand/raw/gpio.c b/drivers/mtd/nand/raw/gpio.c
> index 938077e5c6a9..667807c7100b 100644
> --- a/drivers/mtd/nand/raw/gpio.c
> +++ b/drivers/mtd/nand/raw/gpio.c
> @@ -276,7 +276,7 @@ static int gpio_nand_probe(struct platform_device *pdev)
>  	nand_set_flash_node(chip, pdev->dev.of_node);
>  	chip->legacy.IO_ADDR_W	= chip->legacy.IO_ADDR_R;
>  	chip->ecc.mode		= NAND_ECC_SOFT;
> -	chip->ecc.algo		= NAND_ECC_HAMMING;
> +	chip->ecc.algo		= NAND_ECC_ALGO_HAMMING;
>  	chip->options		= gpiomtd->plat.options;
>  	chip->legacy.chip_delay	= gpiomtd->plat.chip_delay;
>  	chip->legacy.cmd_ctrl	= gpio_nand_cmd_ctrl;
> diff --git a/drivers/mtd/nand/raw/marvell_nand.c b/drivers/mtd/nand/raw/marvell_nand.c
> index 260a0430313e..3969cca7d925 100644
> --- a/drivers/mtd/nand/raw/marvell_nand.c
> +++ b/drivers/mtd/nand/raw/marvell_nand.c
> @@ -780,7 +780,7 @@ static void marvell_nfc_enable_hw_ecc(struct nand_chip *chip)
>  		 * When enabling BCH, set threshold to 0 to always know the
>  		 * number of corrected bitflips.
>  		 */
> -		if (chip->ecc.algo == NAND_ECC_BCH)
> +		if (chip->ecc.algo == NAND_ECC_ALGO_BCH)
>  			writel_relaxed(NDECCCTRL_BCH_EN, nfc->regs + NDECCCTRL);
>  	}
>  }
> @@ -792,7 +792,7 @@ static void marvell_nfc_disable_hw_ecc(struct nand_chip *chip)
>  
>  	if (ndcr & NDCR_ECC_EN) {
>  		writel_relaxed(ndcr & ~NDCR_ECC_EN, nfc->regs + NDCR);
> -		if (chip->ecc.algo == NAND_ECC_BCH)
> +		if (chip->ecc.algo == NAND_ECC_ALGO_BCH)
>  			writel_relaxed(0, nfc->regs + NDECCCTRL);
>  	}
>  }
> @@ -966,7 +966,7 @@ static int marvell_nfc_hw_ecc_check_bitflips(struct nand_chip *chip,
>  	if (ndsr & NDSR_CORERR) {
>  		writel_relaxed(ndsr, nfc->regs + NDSR);
>  
> -		if (chip->ecc.algo == NAND_ECC_BCH)
> +		if (chip->ecc.algo == NAND_ECC_ALGO_BCH)
>  			bf = NDSR_ERRCNT(ndsr);
>  		else
>  			bf = 1;
> @@ -2215,7 +2215,7 @@ static int marvell_nand_hw_ecc_controller_init(struct mtd_info *mtd,
>  	ecc->size = l->data_bytes;
>  
>  	if (ecc->strength == 1) {
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		ecc->read_page_raw = marvell_nfc_hw_ecc_hmg_read_page_raw;
>  		ecc->read_page = marvell_nfc_hw_ecc_hmg_read_page;
>  		ecc->read_oob_raw = marvell_nfc_hw_ecc_hmg_read_oob_raw;
> @@ -2225,7 +2225,7 @@ static int marvell_nand_hw_ecc_controller_init(struct mtd_info *mtd,
>  		ecc->write_oob_raw = marvell_nfc_hw_ecc_hmg_write_oob_raw;
>  		ecc->write_oob = ecc->write_oob_raw;
>  	} else {
> -		chip->ecc.algo = NAND_ECC_BCH;
> +		chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  		ecc->strength = 16;
>  		ecc->read_page_raw = marvell_nfc_hw_ecc_bch_read_page_raw;
>  		ecc->read_page = marvell_nfc_hw_ecc_bch_read_page;
> diff --git a/drivers/mtd/nand/raw/mpc5121_nfc.c b/drivers/mtd/nand/raw/mpc5121_nfc.c
> index 18ecb096a32d..a67eded226db 100644
> --- a/drivers/mtd/nand/raw/mpc5121_nfc.c
> +++ b/drivers/mtd/nand/raw/mpc5121_nfc.c
> @@ -689,7 +689,7 @@ static int mpc5121_nfc_probe(struct platform_device *op)
>  	chip->legacy.get_features = nand_get_set_features_notsupp;
>  	chip->bbt_options = NAND_BBT_USE_FLASH;
>  	chip->ecc.mode = NAND_ECC_SOFT;
> -	chip->ecc.algo = NAND_ECC_HAMMING;
> +	chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	/* Support external chip-select logic on ADS5121 board */
>  	if (of_machine_is_compatible("fsl,mpc5121ads")) {
> diff --git a/drivers/mtd/nand/raw/mxc_nand.c b/drivers/mtd/nand/raw/mxc_nand.c
> index 09dacb83cb5a..c2e9759cfba8 100644
> --- a/drivers/mtd/nand/raw/mxc_nand.c
> +++ b/drivers/mtd/nand/raw/mxc_nand.c
> @@ -1846,7 +1846,7 @@ static int mxcnd_probe(struct platform_device *pdev)
>  		this->ecc.mode = NAND_ECC_HW;
>  	} else {
>  		this->ecc.mode = NAND_ECC_SOFT;
> -		this->ecc.algo = NAND_ECC_HAMMING;
> +		this->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  	}
>  
>  	/* NAND bus width determines access functions used by upper layer */
> diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
> index fd0bfe9bf7ae..4cf53b9dddee 100644
> --- a/drivers/mtd/nand/raw/nand_base.c
> +++ b/drivers/mtd/nand/raw/nand_base.c
> @@ -5076,9 +5076,9 @@ enum nand_ecc_placement of_get_nand_ecc_placement(struct device_node *np)
>  }
>  
>  static const char * const nand_ecc_algos[] = {
> -	[NAND_ECC_HAMMING]	= "hamming",
> -	[NAND_ECC_BCH]		= "bch",
> -	[NAND_ECC_RS]		= "rs",
> +	[NAND_ECC_ALGO_HAMMING]	= "hamming",
> +	[NAND_ECC_ALGO_BCH]	= "bch",
> +	[NAND_ECC_ALGO_RS]	= "rs",
>  };
>  
>  static enum nand_ecc_algo of_get_nand_ecc_algo(struct device_node *np)
> @@ -5089,7 +5089,7 @@ static enum nand_ecc_algo of_get_nand_ecc_algo(struct device_node *np)
>  
>  	err = of_property_read_string(np, "nand-ecc-algo", &pm);
>  	if (!err) {
> -		for (ecc_algo = NAND_ECC_HAMMING;
> +		for (ecc_algo = NAND_ECC_ALGO_HAMMING;
>  		     ecc_algo < ARRAY_SIZE(nand_ecc_algos);
>  		     ecc_algo++) {
>  			if (!strcasecmp(pm, nand_ecc_algos[ecc_algo]))
> @@ -5104,12 +5104,12 @@ static enum nand_ecc_algo of_get_nand_ecc_algo(struct device_node *np)
>  	err = of_property_read_string(np, "nand-ecc-mode", &pm);
>  	if (!err) {
>  		if (!strcasecmp(pm, "soft"))
> -			return NAND_ECC_HAMMING;
> +			return NAND_ECC_ALGO_HAMMING;
>  		else if (!strcasecmp(pm, "soft_bch"))
> -			return NAND_ECC_BCH;
> +			return NAND_ECC_ALGO_BCH;
>  	}
>  
> -	return NAND_ECC_UNKNOWN;
> +	return NAND_ECC_ALGO_UNKNOWN;
>  }
>  
>  static int of_get_nand_ecc_step_size(struct device_node *np)
> @@ -5178,7 +5178,7 @@ static int nand_dt_init(struct nand_chip *chip)
>  	if (ecc_mode >= 0)
>  		chip->ecc.mode = ecc_mode;
>  
> -	if (ecc_algo != NAND_ECC_UNKNOWN)
> +	if (ecc_algo != NAND_ECC_ALGO_UNKNOWN)
>  		chip->ecc.algo = ecc_algo;
>  
>  	if (ecc_strength >= 0)
> @@ -5302,7 +5302,7 @@ static int nand_set_ecc_soft_ops(struct nand_chip *chip)
>  		return -EINVAL;
>  
>  	switch (ecc->algo) {
> -	case NAND_ECC_HAMMING:
> +	case NAND_ECC_ALGO_HAMMING:
>  		ecc->calculate = nand_calculate_ecc;
>  		ecc->correct = nand_correct_data;
>  		ecc->read_page = nand_read_page_swecc;
> @@ -5323,7 +5323,7 @@ static int nand_set_ecc_soft_ops(struct nand_chip *chip)
>  			ecc->options |= NAND_ECC_SOFT_HAMMING_SM_ORDER;
>  
>  		return 0;
> -	case NAND_ECC_BCH:
> +	case NAND_ECC_ALGO_BCH:
>  		if (!mtd_nand_has_bch()) {
>  			WARN(1, "CONFIG_MTD_NAND_ECC_SW_BCH not enabled\n");
>  			return -EINVAL;
> @@ -5763,7 +5763,7 @@ static int nand_scan_tail(struct nand_chip *chip)
>  	 * If no default placement scheme is given, select an appropriate one.
>  	 */
>  	if (!mtd->ooblayout &&
> -	    !(ecc->mode == NAND_ECC_SOFT && ecc->algo == NAND_ECC_BCH)) {
> +	    !(ecc->mode == NAND_ECC_SOFT && ecc->algo == NAND_ECC_ALGO_BCH)) {
>  		switch (mtd->oobsize) {
>  		case 8:
>  		case 16:
> @@ -5858,7 +5858,7 @@ static int nand_scan_tail(struct nand_chip *chip)
>  			pr_warn("%d byte HW ECC not possible on %d byte page size, fallback to SW ECC\n",
>  				ecc->size, mtd->writesize);
>  			ecc->mode = NAND_ECC_SOFT;
> -			ecc->algo = NAND_ECC_HAMMING;
> +			ecc->algo = NAND_ECC_ALGO_HAMMING;
>  			break;
>  
>  		default:
> @@ -6124,7 +6124,7 @@ EXPORT_SYMBOL(nand_scan_with_ids);
>  void nand_cleanup(struct nand_chip *chip)
>  {
>  	if (chip->ecc.mode == NAND_ECC_SOFT &&
> -	    chip->ecc.algo == NAND_ECC_BCH)
> +	    chip->ecc.algo == NAND_ECC_ALGO_BCH)
>  		nand_bch_free((struct nand_bch_control *)chip->ecc.priv);
>  
>  	nanddev_cleanup(&chip->base);
> diff --git a/drivers/mtd/nand/raw/nand_micron.c b/drivers/mtd/nand/raw/nand_micron.c
> index 3589b4fce0d4..a43b4d17bc69 100644
> --- a/drivers/mtd/nand/raw/nand_micron.c
> +++ b/drivers/mtd/nand/raw/nand_micron.c
> @@ -543,7 +543,7 @@ static int micron_nand_init(struct nand_chip *chip)
>  		chip->ecc.bytes = chip->base.eccreq.strength * 2;
>  		chip->ecc.size = 512;
>  		chip->ecc.strength = chip->base.eccreq.strength;
> -		chip->ecc.algo = NAND_ECC_BCH;
> +		chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  		chip->ecc.read_page = micron_nand_read_page_on_die_ecc;
>  		chip->ecc.write_page = micron_nand_write_page_on_die_ecc;
>  
> diff --git a/drivers/mtd/nand/raw/nandsim.c b/drivers/mtd/nand/raw/nandsim.c
> index 0a5cb77966cc..9bcf1b9d4987 100644
> --- a/drivers/mtd/nand/raw/nandsim.c
> +++ b/drivers/mtd/nand/raw/nandsim.c
> @@ -2235,7 +2235,7 @@ static int ns_attach_chip(struct nand_chip *chip)
>  	}
>  
>  	chip->ecc.mode = NAND_ECC_SOFT;
> -	chip->ecc.algo = NAND_ECC_BCH;
> +	chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  	chip->ecc.size = 512;
>  	chip->ecc.strength = bch;
>  	chip->ecc.bytes = eccbytes;
> @@ -2275,7 +2275,7 @@ static int __init ns_init_module(void)
>  	nand_set_controller_data(chip, (void *)ns);
>  
>  	chip->ecc.mode   = NAND_ECC_SOFT;
> -	chip->ecc.algo   = NAND_ECC_HAMMING;
> +	chip->ecc.algo   = NAND_ECC_ALGO_HAMMING;
>  	/* The NAND_SKIP_BBTSCAN option is necessary for 'overridesize' */
>  	/* and 'badblocks' parameters to work */
>  	chip->options   |= NAND_SKIP_BBTSCAN;
> diff --git a/drivers/mtd/nand/raw/omap2.c b/drivers/mtd/nand/raw/omap2.c
> index eb7fcfd9276b..967ddbda1c48 100644
> --- a/drivers/mtd/nand/raw/omap2.c
> +++ b/drivers/mtd/nand/raw/omap2.c
> @@ -2011,7 +2011,7 @@ static int omap_nand_attach_chip(struct nand_chip *chip)
>  	 */
>  	if (info->ecc_opt == OMAP_ECC_HAM1_CODE_SW) {
>  		chip->ecc.mode = NAND_ECC_SOFT;
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		return 0;
>  	}
>  
> diff --git a/drivers/mtd/nand/raw/orion_nand.c b/drivers/mtd/nand/raw/orion_nand.c
> index 880b54ca1b41..7a5cfa3d883f 100644
> --- a/drivers/mtd/nand/raw/orion_nand.c
> +++ b/drivers/mtd/nand/raw/orion_nand.c
> @@ -140,7 +140,7 @@ static int __init orion_nand_probe(struct platform_device *pdev)
>  	nc->legacy.cmd_ctrl = orion_nand_cmd_ctrl;
>  	nc->legacy.read_buf = orion_nand_read_buf;
>  	nc->ecc.mode = NAND_ECC_SOFT;
> -	nc->ecc.algo = NAND_ECC_HAMMING;
> +	nc->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	if (board->chip_delay)
>  		nc->legacy.chip_delay = board->chip_delay;
> diff --git a/drivers/mtd/nand/raw/pasemi_nand.c b/drivers/mtd/nand/raw/pasemi_nand.c
> index d8eca8c3fdcd..3eddc284614d 100644
> --- a/drivers/mtd/nand/raw/pasemi_nand.c
> +++ b/drivers/mtd/nand/raw/pasemi_nand.c
> @@ -133,7 +133,7 @@ static int pasemi_nand_probe(struct platform_device *ofdev)
>  	chip->legacy.write_buf = pasemi_write_buf;
>  	chip->legacy.chip_delay = 0;
>  	chip->ecc.mode = NAND_ECC_SOFT;
> -	chip->ecc.algo = NAND_ECC_HAMMING;
> +	chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	/* Enable the following for a flash based bad block table */
>  	chip->bbt_options = NAND_BBT_USE_FLASH;
> diff --git a/drivers/mtd/nand/raw/plat_nand.c b/drivers/mtd/nand/raw/plat_nand.c
> index 556182f26057..dbc089c8872f 100644
> --- a/drivers/mtd/nand/raw/plat_nand.c
> +++ b/drivers/mtd/nand/raw/plat_nand.c
> @@ -67,7 +67,7 @@ static int plat_nand_probe(struct platform_device *pdev)
>  	data->chip.bbt_options |= pdata->chip.bbt_options;
>  
>  	data->chip.ecc.mode = NAND_ECC_SOFT;
> -	data->chip.ecc.algo = NAND_ECC_HAMMING;
> +	data->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	platform_set_drvdata(pdev, data);
>  
> diff --git a/drivers/mtd/nand/raw/s3c2410.c b/drivers/mtd/nand/raw/s3c2410.c
> index f86dff311464..dfe5a0f07385 100644
> --- a/drivers/mtd/nand/raw/s3c2410.c
> +++ b/drivers/mtd/nand/raw/s3c2410.c
> @@ -938,11 +938,11 @@ static int s3c2410_nand_attach_chip(struct nand_chip *chip)
>  	case NAND_ECC_SOFT:
>  		/*
>  		 * This driver expects Hamming based ECC when ecc_mode is set
> -		 * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_HAMMING to
> +		 * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_ALGO_HAMMING to
>  		 * avoid adding an extra ecc_algo field to
>  		 * s3c2410_platform_nand.
>  		 */
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		dev_info(info->device, "soft ECC\n");
>  		break;
>  
> diff --git a/drivers/mtd/nand/raw/sh_flctl.c b/drivers/mtd/nand/raw/sh_flctl.c
> index a661b8bb2dd5..9dbd6fdbe264 100644
> --- a/drivers/mtd/nand/raw/sh_flctl.c
> +++ b/drivers/mtd/nand/raw/sh_flctl.c
> @@ -1045,7 +1045,7 @@ static int flctl_chip_attach_chip(struct nand_chip *chip)
>  		flctl->flcmncr_base |= _4ECCEN;
>  	} else {
>  		chip->ecc.mode = NAND_ECC_SOFT;
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  	}
>  
>  	return 0;
> diff --git a/drivers/mtd/nand/raw/socrates_nand.c b/drivers/mtd/nand/raw/socrates_nand.c
> index 243b34cfbc1b..72a3a7f98282 100644
> --- a/drivers/mtd/nand/raw/socrates_nand.c
> +++ b/drivers/mtd/nand/raw/socrates_nand.c
> @@ -154,7 +154,7 @@ static int socrates_nand_probe(struct platform_device *ofdev)
>  	nand_chip->legacy.dev_ready = socrates_nand_device_ready;
>  
>  	nand_chip->ecc.mode = NAND_ECC_SOFT;	/* enable ECC */
> -	nand_chip->ecc.algo = NAND_ECC_HAMMING;
> +	nand_chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	/* TODO: I have no idea what real delay is. */
>  	nand_chip->legacy.chip_delay = 20;	/* 20us command delay time */
> diff --git a/drivers/mtd/nand/raw/tango_nand.c b/drivers/mtd/nand/raw/tango_nand.c
> index 246871e01027..2154b6f860dd 100644
> --- a/drivers/mtd/nand/raw/tango_nand.c
> +++ b/drivers/mtd/nand/raw/tango_nand.c
> @@ -512,7 +512,7 @@ static int tango_attach_chip(struct nand_chip *chip)
>  	struct nand_ecc_ctrl *ecc = &chip->ecc;
>  
>  	ecc->mode = NAND_ECC_HW;
> -	ecc->algo = NAND_ECC_BCH;
> +	ecc->algo = NAND_ECC_ALGO_BCH;
>  	ecc->bytes = DIV_ROUND_UP(ecc->strength * FIELD_ORDER, BITS_PER_BYTE);
>  
>  	ecc->read_page_raw = tango_read_page_raw;
> diff --git a/drivers/mtd/nand/raw/tegra_nand.c b/drivers/mtd/nand/raw/tegra_nand.c
> index f9d046b2cd3b..e2e13effc8a6 100644
> --- a/drivers/mtd/nand/raw/tegra_nand.c
> +++ b/drivers/mtd/nand/raw/tegra_nand.c
> @@ -479,7 +479,7 @@ static void tegra_nand_hw_ecc(struct tegra_nand_controller *ctrl,
>  {
>  	struct tegra_nand_chip *nand = to_tegra_chip(chip);
>  
> -	if (chip->ecc.algo == NAND_ECC_BCH && enable)
> +	if (chip->ecc.algo == NAND_ECC_ALGO_BCH && enable)
>  		writel_relaxed(nand->bch_config, ctrl->regs + BCH_CONFIG);
>  	else
>  		writel_relaxed(0, ctrl->regs + BCH_CONFIG);
> @@ -877,7 +877,7 @@ static int tegra_nand_select_strength(struct nand_chip *chip, int oobsize)
>  	int strength_len, bits_per_step;
>  
>  	switch (chip->ecc.algo) {
> -	case NAND_ECC_RS:
> +	case NAND_ECC_ALGO_RS:
>  		bits_per_step = BITS_PER_STEP_RS;
>  		if (chip->options & NAND_IS_BOOT_MEDIUM) {
>  			strength = rs_strength_bootable;
> @@ -887,7 +887,7 @@ static int tegra_nand_select_strength(struct nand_chip *chip, int oobsize)
>  			strength_len = ARRAY_SIZE(rs_strength);
>  		}
>  		break;
> -	case NAND_ECC_BCH:
> +	case NAND_ECC_ALGO_BCH:
>  		bits_per_step = BITS_PER_STEP_BCH;
>  		if (chip->options & NAND_IS_BOOT_MEDIUM) {
>  			strength = bch_strength_bootable;
> @@ -935,14 +935,14 @@ static int tegra_nand_attach_chip(struct nand_chip *chip)
>  	if (chip->options & NAND_BUSWIDTH_16)
>  		nand->config |= CONFIG_BUS_WIDTH_16;
>  
> -	if (chip->ecc.algo == NAND_ECC_UNKNOWN) {
> +	if (chip->ecc.algo == NAND_ECC_ALGO_UNKNOWN) {
>  		if (mtd->writesize < 2048)
> -			chip->ecc.algo = NAND_ECC_RS;
> +			chip->ecc.algo = NAND_ECC_ALGO_RS;
>  		else
> -			chip->ecc.algo = NAND_ECC_BCH;
> +			chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  	}
>  
> -	if (chip->ecc.algo == NAND_ECC_BCH && mtd->writesize < 2048) {
> +	if (chip->ecc.algo == NAND_ECC_ALGO_BCH && mtd->writesize < 2048) {
>  		dev_err(ctrl->dev, "BCH supports 2K or 4K page size only\n");
>  		return -EINVAL;
>  	}
> @@ -963,7 +963,7 @@ static int tegra_nand_attach_chip(struct nand_chip *chip)
>  			   CONFIG_SKIP_SPARE_SIZE_4;
>  
>  	switch (chip->ecc.algo) {
> -	case NAND_ECC_RS:
> +	case NAND_ECC_ALGO_RS:
>  		bits_per_step = BITS_PER_STEP_RS * chip->ecc.strength;
>  		mtd_set_ooblayout(mtd, &tegra_nand_oob_rs_ops);
>  		nand->config_ecc |= CONFIG_HW_ECC | CONFIG_ECC_SEL |
> @@ -984,7 +984,7 @@ static int tegra_nand_attach_chip(struct nand_chip *chip)
>  			return -EINVAL;
>  		}
>  		break;
> -	case NAND_ECC_BCH:
> +	case NAND_ECC_ALGO_BCH:
>  		bits_per_step = BITS_PER_STEP_BCH * chip->ecc.strength;
>  		mtd_set_ooblayout(mtd, &tegra_nand_oob_bch_ops);
>  		nand->bch_config = BCH_ENABLE;
> @@ -1013,7 +1013,7 @@ static int tegra_nand_attach_chip(struct nand_chip *chip)
>  	}
>  
>  	dev_info(ctrl->dev, "Using %s with strength %d per 512 byte step\n",
> -		 chip->ecc.algo == NAND_ECC_BCH ? "BCH" : "RS",
> +		 chip->ecc.algo == NAND_ECC_ALGO_BCH ? "BCH" : "RS",
>  		 chip->ecc.strength);
>  
>  	chip->ecc.bytes = DIV_ROUND_UP(bits_per_step, BITS_PER_BYTE);
> diff --git a/drivers/mtd/nand/raw/xway_nand.c b/drivers/mtd/nand/raw/xway_nand.c
> index 94bfba994326..909072e82a68 100644
> --- a/drivers/mtd/nand/raw/xway_nand.c
> +++ b/drivers/mtd/nand/raw/xway_nand.c
> @@ -181,7 +181,7 @@ static int xway_nand_probe(struct platform_device *pdev)
>  	data->chip.legacy.chip_delay = 30;
>  
>  	data->chip.ecc.mode = NAND_ECC_SOFT;
> -	data->chip.ecc.algo = NAND_ECC_HAMMING;
> +	data->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	platform_set_drvdata(pdev, data);
>  	nand_set_controller_data(&data->chip, data);
> diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h
> index 6699ec7f4d40..8d040312c301 100644
> --- a/include/linux/mtd/rawnand.h
> +++ b/include/linux/mtd/rawnand.h
> @@ -108,16 +108,16 @@ enum nand_ecc_placement {
>  
>  /**
>   * enum nand_ecc_algo - NAND ECC algorithm
> - * @NAND_ECC_UNKNOWN: Unknown algorithm
> - * @NAND_ECC_HAMMING: Hamming algorithm
> - * @NAND_ECC_BCH: Bose-Chaudhuri-Hocquenghem algorithm
> - * @NAND_ECC_RS: Reed-Solomon algorithm
> + * @NAND_ECC_ALGO_UNKNOWN: Unknown algorithm
> + * @NAND_ECC_ALGO_HAMMING: Hamming algorithm
> + * @NAND_ECC_ALGO_BCH: Bose-Chaudhuri-Hocquenghem algorithm
> + * @NAND_ECC_ALGO_RS: Reed-Solomon algorithm
>   */
>  enum nand_ecc_algo {
> -	NAND_ECC_UNKNOWN,
> -	NAND_ECC_HAMMING,
> -	NAND_ECC_BCH,
> -	NAND_ECC_RS,
> +	NAND_ECC_ALGO_UNKNOWN,
> +	NAND_ECC_ALGO_HAMMING,
> +	NAND_ECC_ALGO_BCH,
> +	NAND_ECC_ALGO_RS,
>  };
>  
>  /*


WARNING: multiple messages have this Message-ID (diff)
From: Boris Brezillon <boris.brezillon@collabora.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, Vignesh Raghavendra <vigneshr@ti.com>,
	Tudor Ambarus <Tudor.Ambarus@microchip.com>,
	Julien Su <juliensu@mxic.com.tw>,
	Richard Weinberger <richard@nod.at>,
	Weijie Gao <weijie.gao@mediatek.com>,
	Paul Cercueil <paul@crapouillou.net>,
	Rob Herring <robh+dt@kernel.org>,
	linux-mtd@lists.infradead.org,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Mason Yang <masonccyang@mxic.com.tw>,
	Chuanhong Guo <gch981213@gmail.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v6 06/18] mtd: rawnand: Rename the ECC algorithm enumeration items
Date: Thu, 28 May 2020 16:26:34 +0200	[thread overview]
Message-ID: <20200528162634.31179552@collabora.com> (raw)
In-Reply-To: <20200528113113.9166-7-miquel.raynal@bootlin.com>

On Thu, 28 May 2020 13:31:01 +0200
Miquel Raynal <miquel.raynal@bootlin.com> wrote:

> NAND_ECC_ is not a meaningful prefix, use NAND_ECC_ALGO_ instead.
> 
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>

> ---
>  drivers/mtd/nand/raw/ams-delta.c              |  2 +-
>  drivers/mtd/nand/raw/arasan-nand-controller.c |  2 +-
>  drivers/mtd/nand/raw/atmel/nand-controller.c  |  2 +-
>  drivers/mtd/nand/raw/au1550nd.c               |  2 +-
>  drivers/mtd/nand/raw/brcmnand/brcmnand.c      | 12 ++++-----
>  drivers/mtd/nand/raw/davinci_nand.c           |  8 +++---
>  drivers/mtd/nand/raw/fsl_elbc_nand.c          |  2 +-
>  drivers/mtd/nand/raw/fsl_ifc_nand.c           |  2 +-
>  drivers/mtd/nand/raw/fsl_upm.c                |  2 +-
>  drivers/mtd/nand/raw/fsmc_nand.c              |  2 +-
>  drivers/mtd/nand/raw/gpio.c                   |  2 +-
>  drivers/mtd/nand/raw/marvell_nand.c           | 10 +++----
>  drivers/mtd/nand/raw/mpc5121_nfc.c            |  2 +-
>  drivers/mtd/nand/raw/mxc_nand.c               |  2 +-
>  drivers/mtd/nand/raw/nand_base.c              | 26 +++++++++----------
>  drivers/mtd/nand/raw/nand_micron.c            |  2 +-
>  drivers/mtd/nand/raw/nandsim.c                |  4 +--
>  drivers/mtd/nand/raw/omap2.c                  |  2 +-
>  drivers/mtd/nand/raw/orion_nand.c             |  2 +-
>  drivers/mtd/nand/raw/pasemi_nand.c            |  2 +-
>  drivers/mtd/nand/raw/plat_nand.c              |  2 +-
>  drivers/mtd/nand/raw/s3c2410.c                |  4 +--
>  drivers/mtd/nand/raw/sh_flctl.c               |  2 +-
>  drivers/mtd/nand/raw/socrates_nand.c          |  2 +-
>  drivers/mtd/nand/raw/tango_nand.c             |  2 +-
>  drivers/mtd/nand/raw/tegra_nand.c             | 20 +++++++-------
>  drivers/mtd/nand/raw/xway_nand.c              |  2 +-
>  include/linux/mtd/rawnand.h                   | 16 ++++++------
>  28 files changed, 70 insertions(+), 70 deletions(-)
> 
> diff --git a/drivers/mtd/nand/raw/ams-delta.c b/drivers/mtd/nand/raw/ams-delta.c
> index 3711e7a0436c..72a44b2411c1 100644
> --- a/drivers/mtd/nand/raw/ams-delta.c
> +++ b/drivers/mtd/nand/raw/ams-delta.c
> @@ -261,7 +261,7 @@ static int gpio_nand_probe(struct platform_device *pdev)
>  	}
>  
>  	this->ecc.mode = NAND_ECC_SOFT;
> -	this->ecc.algo = NAND_ECC_HAMMING;
> +	this->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	platform_set_drvdata(pdev, priv);
>  
> diff --git a/drivers/mtd/nand/raw/arasan-nand-controller.c b/drivers/mtd/nand/raw/arasan-nand-controller.c
> index 7141dcccba3c..076736351bc6 100644
> --- a/drivers/mtd/nand/raw/arasan-nand-controller.c
> +++ b/drivers/mtd/nand/raw/arasan-nand-controller.c
> @@ -983,7 +983,7 @@ static int anfc_init_hw_ecc_controller(struct arasan_nfc *nfc,
>  	mtd_set_ooblayout(mtd, &nand_ooblayout_lp_ops);
>  
>  	ecc->steps = mtd->writesize / ecc->size;
> -	ecc->algo = NAND_ECC_BCH;
> +	ecc->algo = NAND_ECC_ALGO_BCH;
>  	anand->ecc_bits = bch_gf_mag * ecc->strength;
>  	ecc->bytes = DIV_ROUND_UP(anand->ecc_bits, 8);
>  	anand->ecc_total = DIV_ROUND_UP(anand->ecc_bits * ecc->steps, 8);
> diff --git a/drivers/mtd/nand/raw/atmel/nand-controller.c b/drivers/mtd/nand/raw/atmel/nand-controller.c
> index 46a3724a788e..d9839461e460 100644
> --- a/drivers/mtd/nand/raw/atmel/nand-controller.c
> +++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
> @@ -1099,7 +1099,7 @@ static int atmel_nand_pmecc_init(struct nand_chip *chip)
>  	if (IS_ERR(nand->pmecc))
>  		return PTR_ERR(nand->pmecc);
>  
> -	chip->ecc.algo = NAND_ECC_BCH;
> +	chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  	chip->ecc.size = req.ecc.sectorsize;
>  	chip->ecc.bytes = req.ecc.bytes / req.ecc.nsectors;
>  	chip->ecc.strength = req.ecc.strength;
> diff --git a/drivers/mtd/nand/raw/au1550nd.c b/drivers/mtd/nand/raw/au1550nd.c
> index f7b4f421b2b0..e9140bf5cbac 100644
> --- a/drivers/mtd/nand/raw/au1550nd.c
> +++ b/drivers/mtd/nand/raw/au1550nd.c
> @@ -295,7 +295,7 @@ static int au1550nd_probe(struct platform_device *pdev)
>  	ctx->controller.ops = &au1550nd_ops;
>  	this->controller = &ctx->controller;
>  	this->ecc.mode = NAND_ECC_SOFT;
> -	this->ecc.algo = NAND_ECC_HAMMING;
> +	this->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	if (pd->devwidth)
>  		this->options |= NAND_BUSWIDTH_16;
> diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> index 4a0a7053fb7a..2a9f2ff89fe7 100644
> --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> @@ -2545,17 +2545,17 @@ static int brcmnand_setup_dev(struct brcmnand_host *host)
>  		return -EINVAL;
>  	}
>  
> -	if (chip->ecc.algo == NAND_ECC_UNKNOWN) {
> +	if (chip->ecc.algo == NAND_ECC_ALGO_UNKNOWN) {
>  		if (chip->ecc.strength == 1 && chip->ecc.size == 512)
>  			/* Default to Hamming for 1-bit ECC, if unspecified */
> -			chip->ecc.algo = NAND_ECC_HAMMING;
> +			chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		else
>  			/* Otherwise, BCH */
> -			chip->ecc.algo = NAND_ECC_BCH;
> +			chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  	}
>  
> -	if (chip->ecc.algo == NAND_ECC_HAMMING && (chip->ecc.strength != 1 ||
> -						   chip->ecc.size != 512)) {
> +	if (chip->ecc.algo == NAND_ECC_ALGO_HAMMING &&
> +	    (chip->ecc.strength != 1 || chip->ecc.size != 512)) {
>  		dev_err(ctrl->dev, "invalid Hamming params: %d bits per %d bytes\n",
>  			chip->ecc.strength, chip->ecc.size);
>  		return -EINVAL;
> @@ -2574,7 +2574,7 @@ static int brcmnand_setup_dev(struct brcmnand_host *host)
>  
>  	switch (chip->ecc.size) {
>  	case 512:
> -		if (chip->ecc.algo == NAND_ECC_HAMMING)
> +		if (chip->ecc.algo == NAND_ECC_ALGO_HAMMING)
>  			cfg->ecc_level = 15;
>  		else
>  			cfg->ecc_level = chip->ecc.strength;
> diff --git a/drivers/mtd/nand/raw/davinci_nand.c b/drivers/mtd/nand/raw/davinci_nand.c
> index 2e5d6c113b56..3640c7e45e15 100644
> --- a/drivers/mtd/nand/raw/davinci_nand.c
> +++ b/drivers/mtd/nand/raw/davinci_nand.c
> @@ -593,11 +593,11 @@ static int davinci_nand_attach_chip(struct nand_chip *chip)
>  		pdata->ecc_bits = 0;
>  		/*
>  		 * This driver expects Hamming based ECC when ecc_mode is set
> -		 * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_HAMMING to
> +		 * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_ALGO_HAMMING to
>  		 * avoid adding an extra ->ecc_algo field to
>  		 * davinci_nand_pdata.
>  		 */
> -		info->chip.ecc.algo = NAND_ECC_HAMMING;
> +		info->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		break;
>  	case NAND_ECC_HW:
>  		if (pdata->ecc_bits == 4) {
> @@ -629,7 +629,7 @@ static int davinci_nand_attach_chip(struct nand_chip *chip)
>  			info->chip.ecc.hwctl = nand_davinci_hwctl_4bit;
>  			info->chip.ecc.bytes = 10;
>  			info->chip.ecc.options = NAND_ECC_GENERIC_ERASED_CHECK;
> -			info->chip.ecc.algo = NAND_ECC_BCH;
> +			info->chip.ecc.algo = NAND_ECC_ALGO_BCH;
>  
>  			/*
>  			 * Update ECC layout if needed ... for 1-bit HW ECC, the
> @@ -656,7 +656,7 @@ static int davinci_nand_attach_chip(struct nand_chip *chip)
>  			info->chip.ecc.correct = nand_davinci_correct_1bit;
>  			info->chip.ecc.hwctl = nand_davinci_hwctl_1bit;
>  			info->chip.ecc.bytes = 3;
> -			info->chip.ecc.algo = NAND_ECC_HAMMING;
> +			info->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		}
>  		info->chip.ecc.size = 512;
>  		info->chip.ecc.strength = pdata->ecc_bits;
> diff --git a/drivers/mtd/nand/raw/fsl_elbc_nand.c b/drivers/mtd/nand/raw/fsl_elbc_nand.c
> index 088692b2e27a..da89389faaae 100644
> --- a/drivers/mtd/nand/raw/fsl_elbc_nand.c
> +++ b/drivers/mtd/nand/raw/fsl_elbc_nand.c
> @@ -748,7 +748,7 @@ static int fsl_elbc_attach_chip(struct nand_chip *chip)
>  		} else {
>  			/* otherwise fall back to default software ECC */
>  			chip->ecc.mode = NAND_ECC_SOFT;
> -			chip->ecc.algo = NAND_ECC_HAMMING;
> +			chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		}
>  		break;
>  
> diff --git a/drivers/mtd/nand/raw/fsl_ifc_nand.c b/drivers/mtd/nand/raw/fsl_ifc_nand.c
> index 00ae7a910b03..b2ae759dd14e 100644
> --- a/drivers/mtd/nand/raw/fsl_ifc_nand.c
> +++ b/drivers/mtd/nand/raw/fsl_ifc_nand.c
> @@ -926,7 +926,7 @@ static int fsl_ifc_chip_init(struct fsl_ifc_mtd *priv)
>  		}
>  	} else {
>  		chip->ecc.mode = NAND_ECC_SOFT;
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  	}
>  
>  	ret = fsl_ifc_sram_init(priv);
> diff --git a/drivers/mtd/nand/raw/fsl_upm.c b/drivers/mtd/nand/raw/fsl_upm.c
> index 627deb26db51..49592b7e03a3 100644
> --- a/drivers/mtd/nand/raw/fsl_upm.c
> +++ b/drivers/mtd/nand/raw/fsl_upm.c
> @@ -164,7 +164,7 @@ static int fun_chip_init(struct fsl_upm_nand *fun,
>  	fun->chip.legacy.read_buf = fun_read_buf;
>  	fun->chip.legacy.write_buf = fun_write_buf;
>  	fun->chip.ecc.mode = NAND_ECC_SOFT;
> -	fun->chip.ecc.algo = NAND_ECC_HAMMING;
> +	fun->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  	if (fun->mchip_count > 1)
>  		fun->chip.legacy.select_chip = fun_select_chip;
>  
> diff --git a/drivers/mtd/nand/raw/fsmc_nand.c b/drivers/mtd/nand/raw/fsmc_nand.c
> index 3909752b14c5..ced570987e85 100644
> --- a/drivers/mtd/nand/raw/fsmc_nand.c
> +++ b/drivers/mtd/nand/raw/fsmc_nand.c
> @@ -911,7 +911,7 @@ static int fsmc_nand_attach_chip(struct nand_chip *nand)
>  		break;
>  
>  	case NAND_ECC_SOFT:
> -		if (nand->ecc.algo == NAND_ECC_BCH) {
> +		if (nand->ecc.algo == NAND_ECC_ALGO_BCH) {
>  			dev_info(host->dev,
>  				 "Using 4-bit SW BCH ECC scheme\n");
>  			break;
> diff --git a/drivers/mtd/nand/raw/gpio.c b/drivers/mtd/nand/raw/gpio.c
> index 938077e5c6a9..667807c7100b 100644
> --- a/drivers/mtd/nand/raw/gpio.c
> +++ b/drivers/mtd/nand/raw/gpio.c
> @@ -276,7 +276,7 @@ static int gpio_nand_probe(struct platform_device *pdev)
>  	nand_set_flash_node(chip, pdev->dev.of_node);
>  	chip->legacy.IO_ADDR_W	= chip->legacy.IO_ADDR_R;
>  	chip->ecc.mode		= NAND_ECC_SOFT;
> -	chip->ecc.algo		= NAND_ECC_HAMMING;
> +	chip->ecc.algo		= NAND_ECC_ALGO_HAMMING;
>  	chip->options		= gpiomtd->plat.options;
>  	chip->legacy.chip_delay	= gpiomtd->plat.chip_delay;
>  	chip->legacy.cmd_ctrl	= gpio_nand_cmd_ctrl;
> diff --git a/drivers/mtd/nand/raw/marvell_nand.c b/drivers/mtd/nand/raw/marvell_nand.c
> index 260a0430313e..3969cca7d925 100644
> --- a/drivers/mtd/nand/raw/marvell_nand.c
> +++ b/drivers/mtd/nand/raw/marvell_nand.c
> @@ -780,7 +780,7 @@ static void marvell_nfc_enable_hw_ecc(struct nand_chip *chip)
>  		 * When enabling BCH, set threshold to 0 to always know the
>  		 * number of corrected bitflips.
>  		 */
> -		if (chip->ecc.algo == NAND_ECC_BCH)
> +		if (chip->ecc.algo == NAND_ECC_ALGO_BCH)
>  			writel_relaxed(NDECCCTRL_BCH_EN, nfc->regs + NDECCCTRL);
>  	}
>  }
> @@ -792,7 +792,7 @@ static void marvell_nfc_disable_hw_ecc(struct nand_chip *chip)
>  
>  	if (ndcr & NDCR_ECC_EN) {
>  		writel_relaxed(ndcr & ~NDCR_ECC_EN, nfc->regs + NDCR);
> -		if (chip->ecc.algo == NAND_ECC_BCH)
> +		if (chip->ecc.algo == NAND_ECC_ALGO_BCH)
>  			writel_relaxed(0, nfc->regs + NDECCCTRL);
>  	}
>  }
> @@ -966,7 +966,7 @@ static int marvell_nfc_hw_ecc_check_bitflips(struct nand_chip *chip,
>  	if (ndsr & NDSR_CORERR) {
>  		writel_relaxed(ndsr, nfc->regs + NDSR);
>  
> -		if (chip->ecc.algo == NAND_ECC_BCH)
> +		if (chip->ecc.algo == NAND_ECC_ALGO_BCH)
>  			bf = NDSR_ERRCNT(ndsr);
>  		else
>  			bf = 1;
> @@ -2215,7 +2215,7 @@ static int marvell_nand_hw_ecc_controller_init(struct mtd_info *mtd,
>  	ecc->size = l->data_bytes;
>  
>  	if (ecc->strength == 1) {
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		ecc->read_page_raw = marvell_nfc_hw_ecc_hmg_read_page_raw;
>  		ecc->read_page = marvell_nfc_hw_ecc_hmg_read_page;
>  		ecc->read_oob_raw = marvell_nfc_hw_ecc_hmg_read_oob_raw;
> @@ -2225,7 +2225,7 @@ static int marvell_nand_hw_ecc_controller_init(struct mtd_info *mtd,
>  		ecc->write_oob_raw = marvell_nfc_hw_ecc_hmg_write_oob_raw;
>  		ecc->write_oob = ecc->write_oob_raw;
>  	} else {
> -		chip->ecc.algo = NAND_ECC_BCH;
> +		chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  		ecc->strength = 16;
>  		ecc->read_page_raw = marvell_nfc_hw_ecc_bch_read_page_raw;
>  		ecc->read_page = marvell_nfc_hw_ecc_bch_read_page;
> diff --git a/drivers/mtd/nand/raw/mpc5121_nfc.c b/drivers/mtd/nand/raw/mpc5121_nfc.c
> index 18ecb096a32d..a67eded226db 100644
> --- a/drivers/mtd/nand/raw/mpc5121_nfc.c
> +++ b/drivers/mtd/nand/raw/mpc5121_nfc.c
> @@ -689,7 +689,7 @@ static int mpc5121_nfc_probe(struct platform_device *op)
>  	chip->legacy.get_features = nand_get_set_features_notsupp;
>  	chip->bbt_options = NAND_BBT_USE_FLASH;
>  	chip->ecc.mode = NAND_ECC_SOFT;
> -	chip->ecc.algo = NAND_ECC_HAMMING;
> +	chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	/* Support external chip-select logic on ADS5121 board */
>  	if (of_machine_is_compatible("fsl,mpc5121ads")) {
> diff --git a/drivers/mtd/nand/raw/mxc_nand.c b/drivers/mtd/nand/raw/mxc_nand.c
> index 09dacb83cb5a..c2e9759cfba8 100644
> --- a/drivers/mtd/nand/raw/mxc_nand.c
> +++ b/drivers/mtd/nand/raw/mxc_nand.c
> @@ -1846,7 +1846,7 @@ static int mxcnd_probe(struct platform_device *pdev)
>  		this->ecc.mode = NAND_ECC_HW;
>  	} else {
>  		this->ecc.mode = NAND_ECC_SOFT;
> -		this->ecc.algo = NAND_ECC_HAMMING;
> +		this->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  	}
>  
>  	/* NAND bus width determines access functions used by upper layer */
> diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
> index fd0bfe9bf7ae..4cf53b9dddee 100644
> --- a/drivers/mtd/nand/raw/nand_base.c
> +++ b/drivers/mtd/nand/raw/nand_base.c
> @@ -5076,9 +5076,9 @@ enum nand_ecc_placement of_get_nand_ecc_placement(struct device_node *np)
>  }
>  
>  static const char * const nand_ecc_algos[] = {
> -	[NAND_ECC_HAMMING]	= "hamming",
> -	[NAND_ECC_BCH]		= "bch",
> -	[NAND_ECC_RS]		= "rs",
> +	[NAND_ECC_ALGO_HAMMING]	= "hamming",
> +	[NAND_ECC_ALGO_BCH]	= "bch",
> +	[NAND_ECC_ALGO_RS]	= "rs",
>  };
>  
>  static enum nand_ecc_algo of_get_nand_ecc_algo(struct device_node *np)
> @@ -5089,7 +5089,7 @@ static enum nand_ecc_algo of_get_nand_ecc_algo(struct device_node *np)
>  
>  	err = of_property_read_string(np, "nand-ecc-algo", &pm);
>  	if (!err) {
> -		for (ecc_algo = NAND_ECC_HAMMING;
> +		for (ecc_algo = NAND_ECC_ALGO_HAMMING;
>  		     ecc_algo < ARRAY_SIZE(nand_ecc_algos);
>  		     ecc_algo++) {
>  			if (!strcasecmp(pm, nand_ecc_algos[ecc_algo]))
> @@ -5104,12 +5104,12 @@ static enum nand_ecc_algo of_get_nand_ecc_algo(struct device_node *np)
>  	err = of_property_read_string(np, "nand-ecc-mode", &pm);
>  	if (!err) {
>  		if (!strcasecmp(pm, "soft"))
> -			return NAND_ECC_HAMMING;
> +			return NAND_ECC_ALGO_HAMMING;
>  		else if (!strcasecmp(pm, "soft_bch"))
> -			return NAND_ECC_BCH;
> +			return NAND_ECC_ALGO_BCH;
>  	}
>  
> -	return NAND_ECC_UNKNOWN;
> +	return NAND_ECC_ALGO_UNKNOWN;
>  }
>  
>  static int of_get_nand_ecc_step_size(struct device_node *np)
> @@ -5178,7 +5178,7 @@ static int nand_dt_init(struct nand_chip *chip)
>  	if (ecc_mode >= 0)
>  		chip->ecc.mode = ecc_mode;
>  
> -	if (ecc_algo != NAND_ECC_UNKNOWN)
> +	if (ecc_algo != NAND_ECC_ALGO_UNKNOWN)
>  		chip->ecc.algo = ecc_algo;
>  
>  	if (ecc_strength >= 0)
> @@ -5302,7 +5302,7 @@ static int nand_set_ecc_soft_ops(struct nand_chip *chip)
>  		return -EINVAL;
>  
>  	switch (ecc->algo) {
> -	case NAND_ECC_HAMMING:
> +	case NAND_ECC_ALGO_HAMMING:
>  		ecc->calculate = nand_calculate_ecc;
>  		ecc->correct = nand_correct_data;
>  		ecc->read_page = nand_read_page_swecc;
> @@ -5323,7 +5323,7 @@ static int nand_set_ecc_soft_ops(struct nand_chip *chip)
>  			ecc->options |= NAND_ECC_SOFT_HAMMING_SM_ORDER;
>  
>  		return 0;
> -	case NAND_ECC_BCH:
> +	case NAND_ECC_ALGO_BCH:
>  		if (!mtd_nand_has_bch()) {
>  			WARN(1, "CONFIG_MTD_NAND_ECC_SW_BCH not enabled\n");
>  			return -EINVAL;
> @@ -5763,7 +5763,7 @@ static int nand_scan_tail(struct nand_chip *chip)
>  	 * If no default placement scheme is given, select an appropriate one.
>  	 */
>  	if (!mtd->ooblayout &&
> -	    !(ecc->mode == NAND_ECC_SOFT && ecc->algo == NAND_ECC_BCH)) {
> +	    !(ecc->mode == NAND_ECC_SOFT && ecc->algo == NAND_ECC_ALGO_BCH)) {
>  		switch (mtd->oobsize) {
>  		case 8:
>  		case 16:
> @@ -5858,7 +5858,7 @@ static int nand_scan_tail(struct nand_chip *chip)
>  			pr_warn("%d byte HW ECC not possible on %d byte page size, fallback to SW ECC\n",
>  				ecc->size, mtd->writesize);
>  			ecc->mode = NAND_ECC_SOFT;
> -			ecc->algo = NAND_ECC_HAMMING;
> +			ecc->algo = NAND_ECC_ALGO_HAMMING;
>  			break;
>  
>  		default:
> @@ -6124,7 +6124,7 @@ EXPORT_SYMBOL(nand_scan_with_ids);
>  void nand_cleanup(struct nand_chip *chip)
>  {
>  	if (chip->ecc.mode == NAND_ECC_SOFT &&
> -	    chip->ecc.algo == NAND_ECC_BCH)
> +	    chip->ecc.algo == NAND_ECC_ALGO_BCH)
>  		nand_bch_free((struct nand_bch_control *)chip->ecc.priv);
>  
>  	nanddev_cleanup(&chip->base);
> diff --git a/drivers/mtd/nand/raw/nand_micron.c b/drivers/mtd/nand/raw/nand_micron.c
> index 3589b4fce0d4..a43b4d17bc69 100644
> --- a/drivers/mtd/nand/raw/nand_micron.c
> +++ b/drivers/mtd/nand/raw/nand_micron.c
> @@ -543,7 +543,7 @@ static int micron_nand_init(struct nand_chip *chip)
>  		chip->ecc.bytes = chip->base.eccreq.strength * 2;
>  		chip->ecc.size = 512;
>  		chip->ecc.strength = chip->base.eccreq.strength;
> -		chip->ecc.algo = NAND_ECC_BCH;
> +		chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  		chip->ecc.read_page = micron_nand_read_page_on_die_ecc;
>  		chip->ecc.write_page = micron_nand_write_page_on_die_ecc;
>  
> diff --git a/drivers/mtd/nand/raw/nandsim.c b/drivers/mtd/nand/raw/nandsim.c
> index 0a5cb77966cc..9bcf1b9d4987 100644
> --- a/drivers/mtd/nand/raw/nandsim.c
> +++ b/drivers/mtd/nand/raw/nandsim.c
> @@ -2235,7 +2235,7 @@ static int ns_attach_chip(struct nand_chip *chip)
>  	}
>  
>  	chip->ecc.mode = NAND_ECC_SOFT;
> -	chip->ecc.algo = NAND_ECC_BCH;
> +	chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  	chip->ecc.size = 512;
>  	chip->ecc.strength = bch;
>  	chip->ecc.bytes = eccbytes;
> @@ -2275,7 +2275,7 @@ static int __init ns_init_module(void)
>  	nand_set_controller_data(chip, (void *)ns);
>  
>  	chip->ecc.mode   = NAND_ECC_SOFT;
> -	chip->ecc.algo   = NAND_ECC_HAMMING;
> +	chip->ecc.algo   = NAND_ECC_ALGO_HAMMING;
>  	/* The NAND_SKIP_BBTSCAN option is necessary for 'overridesize' */
>  	/* and 'badblocks' parameters to work */
>  	chip->options   |= NAND_SKIP_BBTSCAN;
> diff --git a/drivers/mtd/nand/raw/omap2.c b/drivers/mtd/nand/raw/omap2.c
> index eb7fcfd9276b..967ddbda1c48 100644
> --- a/drivers/mtd/nand/raw/omap2.c
> +++ b/drivers/mtd/nand/raw/omap2.c
> @@ -2011,7 +2011,7 @@ static int omap_nand_attach_chip(struct nand_chip *chip)
>  	 */
>  	if (info->ecc_opt == OMAP_ECC_HAM1_CODE_SW) {
>  		chip->ecc.mode = NAND_ECC_SOFT;
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		return 0;
>  	}
>  
> diff --git a/drivers/mtd/nand/raw/orion_nand.c b/drivers/mtd/nand/raw/orion_nand.c
> index 880b54ca1b41..7a5cfa3d883f 100644
> --- a/drivers/mtd/nand/raw/orion_nand.c
> +++ b/drivers/mtd/nand/raw/orion_nand.c
> @@ -140,7 +140,7 @@ static int __init orion_nand_probe(struct platform_device *pdev)
>  	nc->legacy.cmd_ctrl = orion_nand_cmd_ctrl;
>  	nc->legacy.read_buf = orion_nand_read_buf;
>  	nc->ecc.mode = NAND_ECC_SOFT;
> -	nc->ecc.algo = NAND_ECC_HAMMING;
> +	nc->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	if (board->chip_delay)
>  		nc->legacy.chip_delay = board->chip_delay;
> diff --git a/drivers/mtd/nand/raw/pasemi_nand.c b/drivers/mtd/nand/raw/pasemi_nand.c
> index d8eca8c3fdcd..3eddc284614d 100644
> --- a/drivers/mtd/nand/raw/pasemi_nand.c
> +++ b/drivers/mtd/nand/raw/pasemi_nand.c
> @@ -133,7 +133,7 @@ static int pasemi_nand_probe(struct platform_device *ofdev)
>  	chip->legacy.write_buf = pasemi_write_buf;
>  	chip->legacy.chip_delay = 0;
>  	chip->ecc.mode = NAND_ECC_SOFT;
> -	chip->ecc.algo = NAND_ECC_HAMMING;
> +	chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	/* Enable the following for a flash based bad block table */
>  	chip->bbt_options = NAND_BBT_USE_FLASH;
> diff --git a/drivers/mtd/nand/raw/plat_nand.c b/drivers/mtd/nand/raw/plat_nand.c
> index 556182f26057..dbc089c8872f 100644
> --- a/drivers/mtd/nand/raw/plat_nand.c
> +++ b/drivers/mtd/nand/raw/plat_nand.c
> @@ -67,7 +67,7 @@ static int plat_nand_probe(struct platform_device *pdev)
>  	data->chip.bbt_options |= pdata->chip.bbt_options;
>  
>  	data->chip.ecc.mode = NAND_ECC_SOFT;
> -	data->chip.ecc.algo = NAND_ECC_HAMMING;
> +	data->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	platform_set_drvdata(pdev, data);
>  
> diff --git a/drivers/mtd/nand/raw/s3c2410.c b/drivers/mtd/nand/raw/s3c2410.c
> index f86dff311464..dfe5a0f07385 100644
> --- a/drivers/mtd/nand/raw/s3c2410.c
> +++ b/drivers/mtd/nand/raw/s3c2410.c
> @@ -938,11 +938,11 @@ static int s3c2410_nand_attach_chip(struct nand_chip *chip)
>  	case NAND_ECC_SOFT:
>  		/*
>  		 * This driver expects Hamming based ECC when ecc_mode is set
> -		 * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_HAMMING to
> +		 * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_ALGO_HAMMING to
>  		 * avoid adding an extra ecc_algo field to
>  		 * s3c2410_platform_nand.
>  		 */
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		dev_info(info->device, "soft ECC\n");
>  		break;
>  
> diff --git a/drivers/mtd/nand/raw/sh_flctl.c b/drivers/mtd/nand/raw/sh_flctl.c
> index a661b8bb2dd5..9dbd6fdbe264 100644
> --- a/drivers/mtd/nand/raw/sh_flctl.c
> +++ b/drivers/mtd/nand/raw/sh_flctl.c
> @@ -1045,7 +1045,7 @@ static int flctl_chip_attach_chip(struct nand_chip *chip)
>  		flctl->flcmncr_base |= _4ECCEN;
>  	} else {
>  		chip->ecc.mode = NAND_ECC_SOFT;
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  	}
>  
>  	return 0;
> diff --git a/drivers/mtd/nand/raw/socrates_nand.c b/drivers/mtd/nand/raw/socrates_nand.c
> index 243b34cfbc1b..72a3a7f98282 100644
> --- a/drivers/mtd/nand/raw/socrates_nand.c
> +++ b/drivers/mtd/nand/raw/socrates_nand.c
> @@ -154,7 +154,7 @@ static int socrates_nand_probe(struct platform_device *ofdev)
>  	nand_chip->legacy.dev_ready = socrates_nand_device_ready;
>  
>  	nand_chip->ecc.mode = NAND_ECC_SOFT;	/* enable ECC */
> -	nand_chip->ecc.algo = NAND_ECC_HAMMING;
> +	nand_chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	/* TODO: I have no idea what real delay is. */
>  	nand_chip->legacy.chip_delay = 20;	/* 20us command delay time */
> diff --git a/drivers/mtd/nand/raw/tango_nand.c b/drivers/mtd/nand/raw/tango_nand.c
> index 246871e01027..2154b6f860dd 100644
> --- a/drivers/mtd/nand/raw/tango_nand.c
> +++ b/drivers/mtd/nand/raw/tango_nand.c
> @@ -512,7 +512,7 @@ static int tango_attach_chip(struct nand_chip *chip)
>  	struct nand_ecc_ctrl *ecc = &chip->ecc;
>  
>  	ecc->mode = NAND_ECC_HW;
> -	ecc->algo = NAND_ECC_BCH;
> +	ecc->algo = NAND_ECC_ALGO_BCH;
>  	ecc->bytes = DIV_ROUND_UP(ecc->strength * FIELD_ORDER, BITS_PER_BYTE);
>  
>  	ecc->read_page_raw = tango_read_page_raw;
> diff --git a/drivers/mtd/nand/raw/tegra_nand.c b/drivers/mtd/nand/raw/tegra_nand.c
> index f9d046b2cd3b..e2e13effc8a6 100644
> --- a/drivers/mtd/nand/raw/tegra_nand.c
> +++ b/drivers/mtd/nand/raw/tegra_nand.c
> @@ -479,7 +479,7 @@ static void tegra_nand_hw_ecc(struct tegra_nand_controller *ctrl,
>  {
>  	struct tegra_nand_chip *nand = to_tegra_chip(chip);
>  
> -	if (chip->ecc.algo == NAND_ECC_BCH && enable)
> +	if (chip->ecc.algo == NAND_ECC_ALGO_BCH && enable)
>  		writel_relaxed(nand->bch_config, ctrl->regs + BCH_CONFIG);
>  	else
>  		writel_relaxed(0, ctrl->regs + BCH_CONFIG);
> @@ -877,7 +877,7 @@ static int tegra_nand_select_strength(struct nand_chip *chip, int oobsize)
>  	int strength_len, bits_per_step;
>  
>  	switch (chip->ecc.algo) {
> -	case NAND_ECC_RS:
> +	case NAND_ECC_ALGO_RS:
>  		bits_per_step = BITS_PER_STEP_RS;
>  		if (chip->options & NAND_IS_BOOT_MEDIUM) {
>  			strength = rs_strength_bootable;
> @@ -887,7 +887,7 @@ static int tegra_nand_select_strength(struct nand_chip *chip, int oobsize)
>  			strength_len = ARRAY_SIZE(rs_strength);
>  		}
>  		break;
> -	case NAND_ECC_BCH:
> +	case NAND_ECC_ALGO_BCH:
>  		bits_per_step = BITS_PER_STEP_BCH;
>  		if (chip->options & NAND_IS_BOOT_MEDIUM) {
>  			strength = bch_strength_bootable;
> @@ -935,14 +935,14 @@ static int tegra_nand_attach_chip(struct nand_chip *chip)
>  	if (chip->options & NAND_BUSWIDTH_16)
>  		nand->config |= CONFIG_BUS_WIDTH_16;
>  
> -	if (chip->ecc.algo == NAND_ECC_UNKNOWN) {
> +	if (chip->ecc.algo == NAND_ECC_ALGO_UNKNOWN) {
>  		if (mtd->writesize < 2048)
> -			chip->ecc.algo = NAND_ECC_RS;
> +			chip->ecc.algo = NAND_ECC_ALGO_RS;
>  		else
> -			chip->ecc.algo = NAND_ECC_BCH;
> +			chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  	}
>  
> -	if (chip->ecc.algo == NAND_ECC_BCH && mtd->writesize < 2048) {
> +	if (chip->ecc.algo == NAND_ECC_ALGO_BCH && mtd->writesize < 2048) {
>  		dev_err(ctrl->dev, "BCH supports 2K or 4K page size only\n");
>  		return -EINVAL;
>  	}
> @@ -963,7 +963,7 @@ static int tegra_nand_attach_chip(struct nand_chip *chip)
>  			   CONFIG_SKIP_SPARE_SIZE_4;
>  
>  	switch (chip->ecc.algo) {
> -	case NAND_ECC_RS:
> +	case NAND_ECC_ALGO_RS:
>  		bits_per_step = BITS_PER_STEP_RS * chip->ecc.strength;
>  		mtd_set_ooblayout(mtd, &tegra_nand_oob_rs_ops);
>  		nand->config_ecc |= CONFIG_HW_ECC | CONFIG_ECC_SEL |
> @@ -984,7 +984,7 @@ static int tegra_nand_attach_chip(struct nand_chip *chip)
>  			return -EINVAL;
>  		}
>  		break;
> -	case NAND_ECC_BCH:
> +	case NAND_ECC_ALGO_BCH:
>  		bits_per_step = BITS_PER_STEP_BCH * chip->ecc.strength;
>  		mtd_set_ooblayout(mtd, &tegra_nand_oob_bch_ops);
>  		nand->bch_config = BCH_ENABLE;
> @@ -1013,7 +1013,7 @@ static int tegra_nand_attach_chip(struct nand_chip *chip)
>  	}
>  
>  	dev_info(ctrl->dev, "Using %s with strength %d per 512 byte step\n",
> -		 chip->ecc.algo == NAND_ECC_BCH ? "BCH" : "RS",
> +		 chip->ecc.algo == NAND_ECC_ALGO_BCH ? "BCH" : "RS",
>  		 chip->ecc.strength);
>  
>  	chip->ecc.bytes = DIV_ROUND_UP(bits_per_step, BITS_PER_BYTE);
> diff --git a/drivers/mtd/nand/raw/xway_nand.c b/drivers/mtd/nand/raw/xway_nand.c
> index 94bfba994326..909072e82a68 100644
> --- a/drivers/mtd/nand/raw/xway_nand.c
> +++ b/drivers/mtd/nand/raw/xway_nand.c
> @@ -181,7 +181,7 @@ static int xway_nand_probe(struct platform_device *pdev)
>  	data->chip.legacy.chip_delay = 30;
>  
>  	data->chip.ecc.mode = NAND_ECC_SOFT;
> -	data->chip.ecc.algo = NAND_ECC_HAMMING;
> +	data->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	platform_set_drvdata(pdev, data);
>  	nand_set_controller_data(&data->chip, data);
> diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h
> index 6699ec7f4d40..8d040312c301 100644
> --- a/include/linux/mtd/rawnand.h
> +++ b/include/linux/mtd/rawnand.h
> @@ -108,16 +108,16 @@ enum nand_ecc_placement {
>  
>  /**
>   * enum nand_ecc_algo - NAND ECC algorithm
> - * @NAND_ECC_UNKNOWN: Unknown algorithm
> - * @NAND_ECC_HAMMING: Hamming algorithm
> - * @NAND_ECC_BCH: Bose-Chaudhuri-Hocquenghem algorithm
> - * @NAND_ECC_RS: Reed-Solomon algorithm
> + * @NAND_ECC_ALGO_UNKNOWN: Unknown algorithm
> + * @NAND_ECC_ALGO_HAMMING: Hamming algorithm
> + * @NAND_ECC_ALGO_BCH: Bose-Chaudhuri-Hocquenghem algorithm
> + * @NAND_ECC_ALGO_RS: Reed-Solomon algorithm
>   */
>  enum nand_ecc_algo {
> -	NAND_ECC_UNKNOWN,
> -	NAND_ECC_HAMMING,
> -	NAND_ECC_BCH,
> -	NAND_ECC_RS,
> +	NAND_ECC_ALGO_UNKNOWN,
> +	NAND_ECC_ALGO_HAMMING,
> +	NAND_ECC_ALGO_BCH,
> +	NAND_ECC_ALGO_RS,
>  };
>  
>  /*


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Boris Brezillon <boris.brezillon@collabora.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, Vignesh Raghavendra <vigneshr@ti.com>,
	Tudor Ambarus <Tudor.Ambarus@microchip.com>,
	Julien Su <juliensu@mxic.com.tw>,
	Richard Weinberger <richard@nod.at>,
	Weijie Gao <weijie.gao@mediatek.com>,
	Paul Cercueil <paul@crapouillou.net>,
	Rob Herring <robh+dt@kernel.org>,
	linux-mtd@lists.infradead.org,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Mason Yang <masonccyang@mxic.com.tw>,
	Chuanhong Guo <gch981213@gmail.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v6 06/18] mtd: rawnand: Rename the ECC algorithm enumeration items
Date: Thu, 28 May 2020 16:26:34 +0200	[thread overview]
Message-ID: <20200528162634.31179552@collabora.com> (raw)
In-Reply-To: <20200528113113.9166-7-miquel.raynal@bootlin.com>

On Thu, 28 May 2020 13:31:01 +0200
Miquel Raynal <miquel.raynal@bootlin.com> wrote:

> NAND_ECC_ is not a meaningful prefix, use NAND_ECC_ALGO_ instead.
> 
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>

> ---
>  drivers/mtd/nand/raw/ams-delta.c              |  2 +-
>  drivers/mtd/nand/raw/arasan-nand-controller.c |  2 +-
>  drivers/mtd/nand/raw/atmel/nand-controller.c  |  2 +-
>  drivers/mtd/nand/raw/au1550nd.c               |  2 +-
>  drivers/mtd/nand/raw/brcmnand/brcmnand.c      | 12 ++++-----
>  drivers/mtd/nand/raw/davinci_nand.c           |  8 +++---
>  drivers/mtd/nand/raw/fsl_elbc_nand.c          |  2 +-
>  drivers/mtd/nand/raw/fsl_ifc_nand.c           |  2 +-
>  drivers/mtd/nand/raw/fsl_upm.c                |  2 +-
>  drivers/mtd/nand/raw/fsmc_nand.c              |  2 +-
>  drivers/mtd/nand/raw/gpio.c                   |  2 +-
>  drivers/mtd/nand/raw/marvell_nand.c           | 10 +++----
>  drivers/mtd/nand/raw/mpc5121_nfc.c            |  2 +-
>  drivers/mtd/nand/raw/mxc_nand.c               |  2 +-
>  drivers/mtd/nand/raw/nand_base.c              | 26 +++++++++----------
>  drivers/mtd/nand/raw/nand_micron.c            |  2 +-
>  drivers/mtd/nand/raw/nandsim.c                |  4 +--
>  drivers/mtd/nand/raw/omap2.c                  |  2 +-
>  drivers/mtd/nand/raw/orion_nand.c             |  2 +-
>  drivers/mtd/nand/raw/pasemi_nand.c            |  2 +-
>  drivers/mtd/nand/raw/plat_nand.c              |  2 +-
>  drivers/mtd/nand/raw/s3c2410.c                |  4 +--
>  drivers/mtd/nand/raw/sh_flctl.c               |  2 +-
>  drivers/mtd/nand/raw/socrates_nand.c          |  2 +-
>  drivers/mtd/nand/raw/tango_nand.c             |  2 +-
>  drivers/mtd/nand/raw/tegra_nand.c             | 20 +++++++-------
>  drivers/mtd/nand/raw/xway_nand.c              |  2 +-
>  include/linux/mtd/rawnand.h                   | 16 ++++++------
>  28 files changed, 70 insertions(+), 70 deletions(-)
> 
> diff --git a/drivers/mtd/nand/raw/ams-delta.c b/drivers/mtd/nand/raw/ams-delta.c
> index 3711e7a0436c..72a44b2411c1 100644
> --- a/drivers/mtd/nand/raw/ams-delta.c
> +++ b/drivers/mtd/nand/raw/ams-delta.c
> @@ -261,7 +261,7 @@ static int gpio_nand_probe(struct platform_device *pdev)
>  	}
>  
>  	this->ecc.mode = NAND_ECC_SOFT;
> -	this->ecc.algo = NAND_ECC_HAMMING;
> +	this->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	platform_set_drvdata(pdev, priv);
>  
> diff --git a/drivers/mtd/nand/raw/arasan-nand-controller.c b/drivers/mtd/nand/raw/arasan-nand-controller.c
> index 7141dcccba3c..076736351bc6 100644
> --- a/drivers/mtd/nand/raw/arasan-nand-controller.c
> +++ b/drivers/mtd/nand/raw/arasan-nand-controller.c
> @@ -983,7 +983,7 @@ static int anfc_init_hw_ecc_controller(struct arasan_nfc *nfc,
>  	mtd_set_ooblayout(mtd, &nand_ooblayout_lp_ops);
>  
>  	ecc->steps = mtd->writesize / ecc->size;
> -	ecc->algo = NAND_ECC_BCH;
> +	ecc->algo = NAND_ECC_ALGO_BCH;
>  	anand->ecc_bits = bch_gf_mag * ecc->strength;
>  	ecc->bytes = DIV_ROUND_UP(anand->ecc_bits, 8);
>  	anand->ecc_total = DIV_ROUND_UP(anand->ecc_bits * ecc->steps, 8);
> diff --git a/drivers/mtd/nand/raw/atmel/nand-controller.c b/drivers/mtd/nand/raw/atmel/nand-controller.c
> index 46a3724a788e..d9839461e460 100644
> --- a/drivers/mtd/nand/raw/atmel/nand-controller.c
> +++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
> @@ -1099,7 +1099,7 @@ static int atmel_nand_pmecc_init(struct nand_chip *chip)
>  	if (IS_ERR(nand->pmecc))
>  		return PTR_ERR(nand->pmecc);
>  
> -	chip->ecc.algo = NAND_ECC_BCH;
> +	chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  	chip->ecc.size = req.ecc.sectorsize;
>  	chip->ecc.bytes = req.ecc.bytes / req.ecc.nsectors;
>  	chip->ecc.strength = req.ecc.strength;
> diff --git a/drivers/mtd/nand/raw/au1550nd.c b/drivers/mtd/nand/raw/au1550nd.c
> index f7b4f421b2b0..e9140bf5cbac 100644
> --- a/drivers/mtd/nand/raw/au1550nd.c
> +++ b/drivers/mtd/nand/raw/au1550nd.c
> @@ -295,7 +295,7 @@ static int au1550nd_probe(struct platform_device *pdev)
>  	ctx->controller.ops = &au1550nd_ops;
>  	this->controller = &ctx->controller;
>  	this->ecc.mode = NAND_ECC_SOFT;
> -	this->ecc.algo = NAND_ECC_HAMMING;
> +	this->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	if (pd->devwidth)
>  		this->options |= NAND_BUSWIDTH_16;
> diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> index 4a0a7053fb7a..2a9f2ff89fe7 100644
> --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> @@ -2545,17 +2545,17 @@ static int brcmnand_setup_dev(struct brcmnand_host *host)
>  		return -EINVAL;
>  	}
>  
> -	if (chip->ecc.algo == NAND_ECC_UNKNOWN) {
> +	if (chip->ecc.algo == NAND_ECC_ALGO_UNKNOWN) {
>  		if (chip->ecc.strength == 1 && chip->ecc.size == 512)
>  			/* Default to Hamming for 1-bit ECC, if unspecified */
> -			chip->ecc.algo = NAND_ECC_HAMMING;
> +			chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		else
>  			/* Otherwise, BCH */
> -			chip->ecc.algo = NAND_ECC_BCH;
> +			chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  	}
>  
> -	if (chip->ecc.algo == NAND_ECC_HAMMING && (chip->ecc.strength != 1 ||
> -						   chip->ecc.size != 512)) {
> +	if (chip->ecc.algo == NAND_ECC_ALGO_HAMMING &&
> +	    (chip->ecc.strength != 1 || chip->ecc.size != 512)) {
>  		dev_err(ctrl->dev, "invalid Hamming params: %d bits per %d bytes\n",
>  			chip->ecc.strength, chip->ecc.size);
>  		return -EINVAL;
> @@ -2574,7 +2574,7 @@ static int brcmnand_setup_dev(struct brcmnand_host *host)
>  
>  	switch (chip->ecc.size) {
>  	case 512:
> -		if (chip->ecc.algo == NAND_ECC_HAMMING)
> +		if (chip->ecc.algo == NAND_ECC_ALGO_HAMMING)
>  			cfg->ecc_level = 15;
>  		else
>  			cfg->ecc_level = chip->ecc.strength;
> diff --git a/drivers/mtd/nand/raw/davinci_nand.c b/drivers/mtd/nand/raw/davinci_nand.c
> index 2e5d6c113b56..3640c7e45e15 100644
> --- a/drivers/mtd/nand/raw/davinci_nand.c
> +++ b/drivers/mtd/nand/raw/davinci_nand.c
> @@ -593,11 +593,11 @@ static int davinci_nand_attach_chip(struct nand_chip *chip)
>  		pdata->ecc_bits = 0;
>  		/*
>  		 * This driver expects Hamming based ECC when ecc_mode is set
> -		 * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_HAMMING to
> +		 * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_ALGO_HAMMING to
>  		 * avoid adding an extra ->ecc_algo field to
>  		 * davinci_nand_pdata.
>  		 */
> -		info->chip.ecc.algo = NAND_ECC_HAMMING;
> +		info->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		break;
>  	case NAND_ECC_HW:
>  		if (pdata->ecc_bits == 4) {
> @@ -629,7 +629,7 @@ static int davinci_nand_attach_chip(struct nand_chip *chip)
>  			info->chip.ecc.hwctl = nand_davinci_hwctl_4bit;
>  			info->chip.ecc.bytes = 10;
>  			info->chip.ecc.options = NAND_ECC_GENERIC_ERASED_CHECK;
> -			info->chip.ecc.algo = NAND_ECC_BCH;
> +			info->chip.ecc.algo = NAND_ECC_ALGO_BCH;
>  
>  			/*
>  			 * Update ECC layout if needed ... for 1-bit HW ECC, the
> @@ -656,7 +656,7 @@ static int davinci_nand_attach_chip(struct nand_chip *chip)
>  			info->chip.ecc.correct = nand_davinci_correct_1bit;
>  			info->chip.ecc.hwctl = nand_davinci_hwctl_1bit;
>  			info->chip.ecc.bytes = 3;
> -			info->chip.ecc.algo = NAND_ECC_HAMMING;
> +			info->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		}
>  		info->chip.ecc.size = 512;
>  		info->chip.ecc.strength = pdata->ecc_bits;
> diff --git a/drivers/mtd/nand/raw/fsl_elbc_nand.c b/drivers/mtd/nand/raw/fsl_elbc_nand.c
> index 088692b2e27a..da89389faaae 100644
> --- a/drivers/mtd/nand/raw/fsl_elbc_nand.c
> +++ b/drivers/mtd/nand/raw/fsl_elbc_nand.c
> @@ -748,7 +748,7 @@ static int fsl_elbc_attach_chip(struct nand_chip *chip)
>  		} else {
>  			/* otherwise fall back to default software ECC */
>  			chip->ecc.mode = NAND_ECC_SOFT;
> -			chip->ecc.algo = NAND_ECC_HAMMING;
> +			chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		}
>  		break;
>  
> diff --git a/drivers/mtd/nand/raw/fsl_ifc_nand.c b/drivers/mtd/nand/raw/fsl_ifc_nand.c
> index 00ae7a910b03..b2ae759dd14e 100644
> --- a/drivers/mtd/nand/raw/fsl_ifc_nand.c
> +++ b/drivers/mtd/nand/raw/fsl_ifc_nand.c
> @@ -926,7 +926,7 @@ static int fsl_ifc_chip_init(struct fsl_ifc_mtd *priv)
>  		}
>  	} else {
>  		chip->ecc.mode = NAND_ECC_SOFT;
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  	}
>  
>  	ret = fsl_ifc_sram_init(priv);
> diff --git a/drivers/mtd/nand/raw/fsl_upm.c b/drivers/mtd/nand/raw/fsl_upm.c
> index 627deb26db51..49592b7e03a3 100644
> --- a/drivers/mtd/nand/raw/fsl_upm.c
> +++ b/drivers/mtd/nand/raw/fsl_upm.c
> @@ -164,7 +164,7 @@ static int fun_chip_init(struct fsl_upm_nand *fun,
>  	fun->chip.legacy.read_buf = fun_read_buf;
>  	fun->chip.legacy.write_buf = fun_write_buf;
>  	fun->chip.ecc.mode = NAND_ECC_SOFT;
> -	fun->chip.ecc.algo = NAND_ECC_HAMMING;
> +	fun->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  	if (fun->mchip_count > 1)
>  		fun->chip.legacy.select_chip = fun_select_chip;
>  
> diff --git a/drivers/mtd/nand/raw/fsmc_nand.c b/drivers/mtd/nand/raw/fsmc_nand.c
> index 3909752b14c5..ced570987e85 100644
> --- a/drivers/mtd/nand/raw/fsmc_nand.c
> +++ b/drivers/mtd/nand/raw/fsmc_nand.c
> @@ -911,7 +911,7 @@ static int fsmc_nand_attach_chip(struct nand_chip *nand)
>  		break;
>  
>  	case NAND_ECC_SOFT:
> -		if (nand->ecc.algo == NAND_ECC_BCH) {
> +		if (nand->ecc.algo == NAND_ECC_ALGO_BCH) {
>  			dev_info(host->dev,
>  				 "Using 4-bit SW BCH ECC scheme\n");
>  			break;
> diff --git a/drivers/mtd/nand/raw/gpio.c b/drivers/mtd/nand/raw/gpio.c
> index 938077e5c6a9..667807c7100b 100644
> --- a/drivers/mtd/nand/raw/gpio.c
> +++ b/drivers/mtd/nand/raw/gpio.c
> @@ -276,7 +276,7 @@ static int gpio_nand_probe(struct platform_device *pdev)
>  	nand_set_flash_node(chip, pdev->dev.of_node);
>  	chip->legacy.IO_ADDR_W	= chip->legacy.IO_ADDR_R;
>  	chip->ecc.mode		= NAND_ECC_SOFT;
> -	chip->ecc.algo		= NAND_ECC_HAMMING;
> +	chip->ecc.algo		= NAND_ECC_ALGO_HAMMING;
>  	chip->options		= gpiomtd->plat.options;
>  	chip->legacy.chip_delay	= gpiomtd->plat.chip_delay;
>  	chip->legacy.cmd_ctrl	= gpio_nand_cmd_ctrl;
> diff --git a/drivers/mtd/nand/raw/marvell_nand.c b/drivers/mtd/nand/raw/marvell_nand.c
> index 260a0430313e..3969cca7d925 100644
> --- a/drivers/mtd/nand/raw/marvell_nand.c
> +++ b/drivers/mtd/nand/raw/marvell_nand.c
> @@ -780,7 +780,7 @@ static void marvell_nfc_enable_hw_ecc(struct nand_chip *chip)
>  		 * When enabling BCH, set threshold to 0 to always know the
>  		 * number of corrected bitflips.
>  		 */
> -		if (chip->ecc.algo == NAND_ECC_BCH)
> +		if (chip->ecc.algo == NAND_ECC_ALGO_BCH)
>  			writel_relaxed(NDECCCTRL_BCH_EN, nfc->regs + NDECCCTRL);
>  	}
>  }
> @@ -792,7 +792,7 @@ static void marvell_nfc_disable_hw_ecc(struct nand_chip *chip)
>  
>  	if (ndcr & NDCR_ECC_EN) {
>  		writel_relaxed(ndcr & ~NDCR_ECC_EN, nfc->regs + NDCR);
> -		if (chip->ecc.algo == NAND_ECC_BCH)
> +		if (chip->ecc.algo == NAND_ECC_ALGO_BCH)
>  			writel_relaxed(0, nfc->regs + NDECCCTRL);
>  	}
>  }
> @@ -966,7 +966,7 @@ static int marvell_nfc_hw_ecc_check_bitflips(struct nand_chip *chip,
>  	if (ndsr & NDSR_CORERR) {
>  		writel_relaxed(ndsr, nfc->regs + NDSR);
>  
> -		if (chip->ecc.algo == NAND_ECC_BCH)
> +		if (chip->ecc.algo == NAND_ECC_ALGO_BCH)
>  			bf = NDSR_ERRCNT(ndsr);
>  		else
>  			bf = 1;
> @@ -2215,7 +2215,7 @@ static int marvell_nand_hw_ecc_controller_init(struct mtd_info *mtd,
>  	ecc->size = l->data_bytes;
>  
>  	if (ecc->strength == 1) {
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		ecc->read_page_raw = marvell_nfc_hw_ecc_hmg_read_page_raw;
>  		ecc->read_page = marvell_nfc_hw_ecc_hmg_read_page;
>  		ecc->read_oob_raw = marvell_nfc_hw_ecc_hmg_read_oob_raw;
> @@ -2225,7 +2225,7 @@ static int marvell_nand_hw_ecc_controller_init(struct mtd_info *mtd,
>  		ecc->write_oob_raw = marvell_nfc_hw_ecc_hmg_write_oob_raw;
>  		ecc->write_oob = ecc->write_oob_raw;
>  	} else {
> -		chip->ecc.algo = NAND_ECC_BCH;
> +		chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  		ecc->strength = 16;
>  		ecc->read_page_raw = marvell_nfc_hw_ecc_bch_read_page_raw;
>  		ecc->read_page = marvell_nfc_hw_ecc_bch_read_page;
> diff --git a/drivers/mtd/nand/raw/mpc5121_nfc.c b/drivers/mtd/nand/raw/mpc5121_nfc.c
> index 18ecb096a32d..a67eded226db 100644
> --- a/drivers/mtd/nand/raw/mpc5121_nfc.c
> +++ b/drivers/mtd/nand/raw/mpc5121_nfc.c
> @@ -689,7 +689,7 @@ static int mpc5121_nfc_probe(struct platform_device *op)
>  	chip->legacy.get_features = nand_get_set_features_notsupp;
>  	chip->bbt_options = NAND_BBT_USE_FLASH;
>  	chip->ecc.mode = NAND_ECC_SOFT;
> -	chip->ecc.algo = NAND_ECC_HAMMING;
> +	chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	/* Support external chip-select logic on ADS5121 board */
>  	if (of_machine_is_compatible("fsl,mpc5121ads")) {
> diff --git a/drivers/mtd/nand/raw/mxc_nand.c b/drivers/mtd/nand/raw/mxc_nand.c
> index 09dacb83cb5a..c2e9759cfba8 100644
> --- a/drivers/mtd/nand/raw/mxc_nand.c
> +++ b/drivers/mtd/nand/raw/mxc_nand.c
> @@ -1846,7 +1846,7 @@ static int mxcnd_probe(struct platform_device *pdev)
>  		this->ecc.mode = NAND_ECC_HW;
>  	} else {
>  		this->ecc.mode = NAND_ECC_SOFT;
> -		this->ecc.algo = NAND_ECC_HAMMING;
> +		this->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  	}
>  
>  	/* NAND bus width determines access functions used by upper layer */
> diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
> index fd0bfe9bf7ae..4cf53b9dddee 100644
> --- a/drivers/mtd/nand/raw/nand_base.c
> +++ b/drivers/mtd/nand/raw/nand_base.c
> @@ -5076,9 +5076,9 @@ enum nand_ecc_placement of_get_nand_ecc_placement(struct device_node *np)
>  }
>  
>  static const char * const nand_ecc_algos[] = {
> -	[NAND_ECC_HAMMING]	= "hamming",
> -	[NAND_ECC_BCH]		= "bch",
> -	[NAND_ECC_RS]		= "rs",
> +	[NAND_ECC_ALGO_HAMMING]	= "hamming",
> +	[NAND_ECC_ALGO_BCH]	= "bch",
> +	[NAND_ECC_ALGO_RS]	= "rs",
>  };
>  
>  static enum nand_ecc_algo of_get_nand_ecc_algo(struct device_node *np)
> @@ -5089,7 +5089,7 @@ static enum nand_ecc_algo of_get_nand_ecc_algo(struct device_node *np)
>  
>  	err = of_property_read_string(np, "nand-ecc-algo", &pm);
>  	if (!err) {
> -		for (ecc_algo = NAND_ECC_HAMMING;
> +		for (ecc_algo = NAND_ECC_ALGO_HAMMING;
>  		     ecc_algo < ARRAY_SIZE(nand_ecc_algos);
>  		     ecc_algo++) {
>  			if (!strcasecmp(pm, nand_ecc_algos[ecc_algo]))
> @@ -5104,12 +5104,12 @@ static enum nand_ecc_algo of_get_nand_ecc_algo(struct device_node *np)
>  	err = of_property_read_string(np, "nand-ecc-mode", &pm);
>  	if (!err) {
>  		if (!strcasecmp(pm, "soft"))
> -			return NAND_ECC_HAMMING;
> +			return NAND_ECC_ALGO_HAMMING;
>  		else if (!strcasecmp(pm, "soft_bch"))
> -			return NAND_ECC_BCH;
> +			return NAND_ECC_ALGO_BCH;
>  	}
>  
> -	return NAND_ECC_UNKNOWN;
> +	return NAND_ECC_ALGO_UNKNOWN;
>  }
>  
>  static int of_get_nand_ecc_step_size(struct device_node *np)
> @@ -5178,7 +5178,7 @@ static int nand_dt_init(struct nand_chip *chip)
>  	if (ecc_mode >= 0)
>  		chip->ecc.mode = ecc_mode;
>  
> -	if (ecc_algo != NAND_ECC_UNKNOWN)
> +	if (ecc_algo != NAND_ECC_ALGO_UNKNOWN)
>  		chip->ecc.algo = ecc_algo;
>  
>  	if (ecc_strength >= 0)
> @@ -5302,7 +5302,7 @@ static int nand_set_ecc_soft_ops(struct nand_chip *chip)
>  		return -EINVAL;
>  
>  	switch (ecc->algo) {
> -	case NAND_ECC_HAMMING:
> +	case NAND_ECC_ALGO_HAMMING:
>  		ecc->calculate = nand_calculate_ecc;
>  		ecc->correct = nand_correct_data;
>  		ecc->read_page = nand_read_page_swecc;
> @@ -5323,7 +5323,7 @@ static int nand_set_ecc_soft_ops(struct nand_chip *chip)
>  			ecc->options |= NAND_ECC_SOFT_HAMMING_SM_ORDER;
>  
>  		return 0;
> -	case NAND_ECC_BCH:
> +	case NAND_ECC_ALGO_BCH:
>  		if (!mtd_nand_has_bch()) {
>  			WARN(1, "CONFIG_MTD_NAND_ECC_SW_BCH not enabled\n");
>  			return -EINVAL;
> @@ -5763,7 +5763,7 @@ static int nand_scan_tail(struct nand_chip *chip)
>  	 * If no default placement scheme is given, select an appropriate one.
>  	 */
>  	if (!mtd->ooblayout &&
> -	    !(ecc->mode == NAND_ECC_SOFT && ecc->algo == NAND_ECC_BCH)) {
> +	    !(ecc->mode == NAND_ECC_SOFT && ecc->algo == NAND_ECC_ALGO_BCH)) {
>  		switch (mtd->oobsize) {
>  		case 8:
>  		case 16:
> @@ -5858,7 +5858,7 @@ static int nand_scan_tail(struct nand_chip *chip)
>  			pr_warn("%d byte HW ECC not possible on %d byte page size, fallback to SW ECC\n",
>  				ecc->size, mtd->writesize);
>  			ecc->mode = NAND_ECC_SOFT;
> -			ecc->algo = NAND_ECC_HAMMING;
> +			ecc->algo = NAND_ECC_ALGO_HAMMING;
>  			break;
>  
>  		default:
> @@ -6124,7 +6124,7 @@ EXPORT_SYMBOL(nand_scan_with_ids);
>  void nand_cleanup(struct nand_chip *chip)
>  {
>  	if (chip->ecc.mode == NAND_ECC_SOFT &&
> -	    chip->ecc.algo == NAND_ECC_BCH)
> +	    chip->ecc.algo == NAND_ECC_ALGO_BCH)
>  		nand_bch_free((struct nand_bch_control *)chip->ecc.priv);
>  
>  	nanddev_cleanup(&chip->base);
> diff --git a/drivers/mtd/nand/raw/nand_micron.c b/drivers/mtd/nand/raw/nand_micron.c
> index 3589b4fce0d4..a43b4d17bc69 100644
> --- a/drivers/mtd/nand/raw/nand_micron.c
> +++ b/drivers/mtd/nand/raw/nand_micron.c
> @@ -543,7 +543,7 @@ static int micron_nand_init(struct nand_chip *chip)
>  		chip->ecc.bytes = chip->base.eccreq.strength * 2;
>  		chip->ecc.size = 512;
>  		chip->ecc.strength = chip->base.eccreq.strength;
> -		chip->ecc.algo = NAND_ECC_BCH;
> +		chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  		chip->ecc.read_page = micron_nand_read_page_on_die_ecc;
>  		chip->ecc.write_page = micron_nand_write_page_on_die_ecc;
>  
> diff --git a/drivers/mtd/nand/raw/nandsim.c b/drivers/mtd/nand/raw/nandsim.c
> index 0a5cb77966cc..9bcf1b9d4987 100644
> --- a/drivers/mtd/nand/raw/nandsim.c
> +++ b/drivers/mtd/nand/raw/nandsim.c
> @@ -2235,7 +2235,7 @@ static int ns_attach_chip(struct nand_chip *chip)
>  	}
>  
>  	chip->ecc.mode = NAND_ECC_SOFT;
> -	chip->ecc.algo = NAND_ECC_BCH;
> +	chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  	chip->ecc.size = 512;
>  	chip->ecc.strength = bch;
>  	chip->ecc.bytes = eccbytes;
> @@ -2275,7 +2275,7 @@ static int __init ns_init_module(void)
>  	nand_set_controller_data(chip, (void *)ns);
>  
>  	chip->ecc.mode   = NAND_ECC_SOFT;
> -	chip->ecc.algo   = NAND_ECC_HAMMING;
> +	chip->ecc.algo   = NAND_ECC_ALGO_HAMMING;
>  	/* The NAND_SKIP_BBTSCAN option is necessary for 'overridesize' */
>  	/* and 'badblocks' parameters to work */
>  	chip->options   |= NAND_SKIP_BBTSCAN;
> diff --git a/drivers/mtd/nand/raw/omap2.c b/drivers/mtd/nand/raw/omap2.c
> index eb7fcfd9276b..967ddbda1c48 100644
> --- a/drivers/mtd/nand/raw/omap2.c
> +++ b/drivers/mtd/nand/raw/omap2.c
> @@ -2011,7 +2011,7 @@ static int omap_nand_attach_chip(struct nand_chip *chip)
>  	 */
>  	if (info->ecc_opt == OMAP_ECC_HAM1_CODE_SW) {
>  		chip->ecc.mode = NAND_ECC_SOFT;
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		return 0;
>  	}
>  
> diff --git a/drivers/mtd/nand/raw/orion_nand.c b/drivers/mtd/nand/raw/orion_nand.c
> index 880b54ca1b41..7a5cfa3d883f 100644
> --- a/drivers/mtd/nand/raw/orion_nand.c
> +++ b/drivers/mtd/nand/raw/orion_nand.c
> @@ -140,7 +140,7 @@ static int __init orion_nand_probe(struct platform_device *pdev)
>  	nc->legacy.cmd_ctrl = orion_nand_cmd_ctrl;
>  	nc->legacy.read_buf = orion_nand_read_buf;
>  	nc->ecc.mode = NAND_ECC_SOFT;
> -	nc->ecc.algo = NAND_ECC_HAMMING;
> +	nc->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	if (board->chip_delay)
>  		nc->legacy.chip_delay = board->chip_delay;
> diff --git a/drivers/mtd/nand/raw/pasemi_nand.c b/drivers/mtd/nand/raw/pasemi_nand.c
> index d8eca8c3fdcd..3eddc284614d 100644
> --- a/drivers/mtd/nand/raw/pasemi_nand.c
> +++ b/drivers/mtd/nand/raw/pasemi_nand.c
> @@ -133,7 +133,7 @@ static int pasemi_nand_probe(struct platform_device *ofdev)
>  	chip->legacy.write_buf = pasemi_write_buf;
>  	chip->legacy.chip_delay = 0;
>  	chip->ecc.mode = NAND_ECC_SOFT;
> -	chip->ecc.algo = NAND_ECC_HAMMING;
> +	chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	/* Enable the following for a flash based bad block table */
>  	chip->bbt_options = NAND_BBT_USE_FLASH;
> diff --git a/drivers/mtd/nand/raw/plat_nand.c b/drivers/mtd/nand/raw/plat_nand.c
> index 556182f26057..dbc089c8872f 100644
> --- a/drivers/mtd/nand/raw/plat_nand.c
> +++ b/drivers/mtd/nand/raw/plat_nand.c
> @@ -67,7 +67,7 @@ static int plat_nand_probe(struct platform_device *pdev)
>  	data->chip.bbt_options |= pdata->chip.bbt_options;
>  
>  	data->chip.ecc.mode = NAND_ECC_SOFT;
> -	data->chip.ecc.algo = NAND_ECC_HAMMING;
> +	data->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	platform_set_drvdata(pdev, data);
>  
> diff --git a/drivers/mtd/nand/raw/s3c2410.c b/drivers/mtd/nand/raw/s3c2410.c
> index f86dff311464..dfe5a0f07385 100644
> --- a/drivers/mtd/nand/raw/s3c2410.c
> +++ b/drivers/mtd/nand/raw/s3c2410.c
> @@ -938,11 +938,11 @@ static int s3c2410_nand_attach_chip(struct nand_chip *chip)
>  	case NAND_ECC_SOFT:
>  		/*
>  		 * This driver expects Hamming based ECC when ecc_mode is set
> -		 * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_HAMMING to
> +		 * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_ALGO_HAMMING to
>  		 * avoid adding an extra ecc_algo field to
>  		 * s3c2410_platform_nand.
>  		 */
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  		dev_info(info->device, "soft ECC\n");
>  		break;
>  
> diff --git a/drivers/mtd/nand/raw/sh_flctl.c b/drivers/mtd/nand/raw/sh_flctl.c
> index a661b8bb2dd5..9dbd6fdbe264 100644
> --- a/drivers/mtd/nand/raw/sh_flctl.c
> +++ b/drivers/mtd/nand/raw/sh_flctl.c
> @@ -1045,7 +1045,7 @@ static int flctl_chip_attach_chip(struct nand_chip *chip)
>  		flctl->flcmncr_base |= _4ECCEN;
>  	} else {
>  		chip->ecc.mode = NAND_ECC_SOFT;
> -		chip->ecc.algo = NAND_ECC_HAMMING;
> +		chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  	}
>  
>  	return 0;
> diff --git a/drivers/mtd/nand/raw/socrates_nand.c b/drivers/mtd/nand/raw/socrates_nand.c
> index 243b34cfbc1b..72a3a7f98282 100644
> --- a/drivers/mtd/nand/raw/socrates_nand.c
> +++ b/drivers/mtd/nand/raw/socrates_nand.c
> @@ -154,7 +154,7 @@ static int socrates_nand_probe(struct platform_device *ofdev)
>  	nand_chip->legacy.dev_ready = socrates_nand_device_ready;
>  
>  	nand_chip->ecc.mode = NAND_ECC_SOFT;	/* enable ECC */
> -	nand_chip->ecc.algo = NAND_ECC_HAMMING;
> +	nand_chip->ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	/* TODO: I have no idea what real delay is. */
>  	nand_chip->legacy.chip_delay = 20;	/* 20us command delay time */
> diff --git a/drivers/mtd/nand/raw/tango_nand.c b/drivers/mtd/nand/raw/tango_nand.c
> index 246871e01027..2154b6f860dd 100644
> --- a/drivers/mtd/nand/raw/tango_nand.c
> +++ b/drivers/mtd/nand/raw/tango_nand.c
> @@ -512,7 +512,7 @@ static int tango_attach_chip(struct nand_chip *chip)
>  	struct nand_ecc_ctrl *ecc = &chip->ecc;
>  
>  	ecc->mode = NAND_ECC_HW;
> -	ecc->algo = NAND_ECC_BCH;
> +	ecc->algo = NAND_ECC_ALGO_BCH;
>  	ecc->bytes = DIV_ROUND_UP(ecc->strength * FIELD_ORDER, BITS_PER_BYTE);
>  
>  	ecc->read_page_raw = tango_read_page_raw;
> diff --git a/drivers/mtd/nand/raw/tegra_nand.c b/drivers/mtd/nand/raw/tegra_nand.c
> index f9d046b2cd3b..e2e13effc8a6 100644
> --- a/drivers/mtd/nand/raw/tegra_nand.c
> +++ b/drivers/mtd/nand/raw/tegra_nand.c
> @@ -479,7 +479,7 @@ static void tegra_nand_hw_ecc(struct tegra_nand_controller *ctrl,
>  {
>  	struct tegra_nand_chip *nand = to_tegra_chip(chip);
>  
> -	if (chip->ecc.algo == NAND_ECC_BCH && enable)
> +	if (chip->ecc.algo == NAND_ECC_ALGO_BCH && enable)
>  		writel_relaxed(nand->bch_config, ctrl->regs + BCH_CONFIG);
>  	else
>  		writel_relaxed(0, ctrl->regs + BCH_CONFIG);
> @@ -877,7 +877,7 @@ static int tegra_nand_select_strength(struct nand_chip *chip, int oobsize)
>  	int strength_len, bits_per_step;
>  
>  	switch (chip->ecc.algo) {
> -	case NAND_ECC_RS:
> +	case NAND_ECC_ALGO_RS:
>  		bits_per_step = BITS_PER_STEP_RS;
>  		if (chip->options & NAND_IS_BOOT_MEDIUM) {
>  			strength = rs_strength_bootable;
> @@ -887,7 +887,7 @@ static int tegra_nand_select_strength(struct nand_chip *chip, int oobsize)
>  			strength_len = ARRAY_SIZE(rs_strength);
>  		}
>  		break;
> -	case NAND_ECC_BCH:
> +	case NAND_ECC_ALGO_BCH:
>  		bits_per_step = BITS_PER_STEP_BCH;
>  		if (chip->options & NAND_IS_BOOT_MEDIUM) {
>  			strength = bch_strength_bootable;
> @@ -935,14 +935,14 @@ static int tegra_nand_attach_chip(struct nand_chip *chip)
>  	if (chip->options & NAND_BUSWIDTH_16)
>  		nand->config |= CONFIG_BUS_WIDTH_16;
>  
> -	if (chip->ecc.algo == NAND_ECC_UNKNOWN) {
> +	if (chip->ecc.algo == NAND_ECC_ALGO_UNKNOWN) {
>  		if (mtd->writesize < 2048)
> -			chip->ecc.algo = NAND_ECC_RS;
> +			chip->ecc.algo = NAND_ECC_ALGO_RS;
>  		else
> -			chip->ecc.algo = NAND_ECC_BCH;
> +			chip->ecc.algo = NAND_ECC_ALGO_BCH;
>  	}
>  
> -	if (chip->ecc.algo == NAND_ECC_BCH && mtd->writesize < 2048) {
> +	if (chip->ecc.algo == NAND_ECC_ALGO_BCH && mtd->writesize < 2048) {
>  		dev_err(ctrl->dev, "BCH supports 2K or 4K page size only\n");
>  		return -EINVAL;
>  	}
> @@ -963,7 +963,7 @@ static int tegra_nand_attach_chip(struct nand_chip *chip)
>  			   CONFIG_SKIP_SPARE_SIZE_4;
>  
>  	switch (chip->ecc.algo) {
> -	case NAND_ECC_RS:
> +	case NAND_ECC_ALGO_RS:
>  		bits_per_step = BITS_PER_STEP_RS * chip->ecc.strength;
>  		mtd_set_ooblayout(mtd, &tegra_nand_oob_rs_ops);
>  		nand->config_ecc |= CONFIG_HW_ECC | CONFIG_ECC_SEL |
> @@ -984,7 +984,7 @@ static int tegra_nand_attach_chip(struct nand_chip *chip)
>  			return -EINVAL;
>  		}
>  		break;
> -	case NAND_ECC_BCH:
> +	case NAND_ECC_ALGO_BCH:
>  		bits_per_step = BITS_PER_STEP_BCH * chip->ecc.strength;
>  		mtd_set_ooblayout(mtd, &tegra_nand_oob_bch_ops);
>  		nand->bch_config = BCH_ENABLE;
> @@ -1013,7 +1013,7 @@ static int tegra_nand_attach_chip(struct nand_chip *chip)
>  	}
>  
>  	dev_info(ctrl->dev, "Using %s with strength %d per 512 byte step\n",
> -		 chip->ecc.algo == NAND_ECC_BCH ? "BCH" : "RS",
> +		 chip->ecc.algo == NAND_ECC_ALGO_BCH ? "BCH" : "RS",
>  		 chip->ecc.strength);
>  
>  	chip->ecc.bytes = DIV_ROUND_UP(bits_per_step, BITS_PER_BYTE);
> diff --git a/drivers/mtd/nand/raw/xway_nand.c b/drivers/mtd/nand/raw/xway_nand.c
> index 94bfba994326..909072e82a68 100644
> --- a/drivers/mtd/nand/raw/xway_nand.c
> +++ b/drivers/mtd/nand/raw/xway_nand.c
> @@ -181,7 +181,7 @@ static int xway_nand_probe(struct platform_device *pdev)
>  	data->chip.legacy.chip_delay = 30;
>  
>  	data->chip.ecc.mode = NAND_ECC_SOFT;
> -	data->chip.ecc.algo = NAND_ECC_HAMMING;
> +	data->chip.ecc.algo = NAND_ECC_ALGO_HAMMING;
>  
>  	platform_set_drvdata(pdev, data);
>  	nand_set_controller_data(&data->chip, data);
> diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h
> index 6699ec7f4d40..8d040312c301 100644
> --- a/include/linux/mtd/rawnand.h
> +++ b/include/linux/mtd/rawnand.h
> @@ -108,16 +108,16 @@ enum nand_ecc_placement {
>  
>  /**
>   * enum nand_ecc_algo - NAND ECC algorithm
> - * @NAND_ECC_UNKNOWN: Unknown algorithm
> - * @NAND_ECC_HAMMING: Hamming algorithm
> - * @NAND_ECC_BCH: Bose-Chaudhuri-Hocquenghem algorithm
> - * @NAND_ECC_RS: Reed-Solomon algorithm
> + * @NAND_ECC_ALGO_UNKNOWN: Unknown algorithm
> + * @NAND_ECC_ALGO_HAMMING: Hamming algorithm
> + * @NAND_ECC_ALGO_BCH: Bose-Chaudhuri-Hocquenghem algorithm
> + * @NAND_ECC_ALGO_RS: Reed-Solomon algorithm
>   */
>  enum nand_ecc_algo {
> -	NAND_ECC_UNKNOWN,
> -	NAND_ECC_HAMMING,
> -	NAND_ECC_BCH,
> -	NAND_ECC_RS,
> +	NAND_ECC_ALGO_UNKNOWN,
> +	NAND_ECC_ALGO_HAMMING,
> +	NAND_ECC_ALGO_BCH,
> +	NAND_ECC_ALGO_RS,
>  };
>  
>  /*


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-05-28 14:26 UTC|newest]

Thread overview: 138+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-28 11:30 [PATCH v6 00/18] Introduce the generic ECC engine abstraction Miquel Raynal
2020-05-28 11:30 ` Miquel Raynal
2020-05-28 11:30 ` Miquel Raynal
2020-05-28 11:30 ` [PATCH v6 01/18] dt-bindings: mtd: Document nand-ecc-placement Miquel Raynal
2020-05-28 11:30   ` Miquel Raynal
2020-05-28 11:30   ` Miquel Raynal
2020-05-28 12:02   ` Boris Brezillon
2020-05-28 12:02     ` Boris Brezillon
2020-05-28 12:02     ` Boris Brezillon
2020-05-28 11:30 ` [PATCH v6 02/18] mtd: rawnand: Create a new enumeration to describe OOB placement Miquel Raynal
2020-05-28 11:30   ` Miquel Raynal
2020-05-28 11:30   ` Miquel Raynal
2020-05-28 12:08   ` Boris Brezillon
2020-05-28 12:08     ` Boris Brezillon
2020-05-28 12:08     ` Boris Brezillon
2020-05-28 14:10     ` Miquel Raynal
2020-05-28 14:10       ` Miquel Raynal
2020-05-28 14:10       ` Miquel Raynal
2020-05-28 11:30 ` [PATCH v6 03/18] mtd: rawnand: Separate the ECC engine type and the " Miquel Raynal
2020-05-28 11:30   ` Miquel Raynal
2020-05-28 11:30   ` Miquel Raynal
2020-05-28 14:14   ` Boris Brezillon
2020-05-28 14:14     ` Boris Brezillon
2020-05-28 14:14     ` Boris Brezillon
2020-05-28 11:30 ` [PATCH v6 04/18] mtd: rawnand: Create a helper to retrieve the ECC placement Miquel Raynal
2020-05-28 11:30   ` Miquel Raynal
2020-05-28 11:30   ` Miquel Raynal
2020-05-28 14:22   ` Boris Brezillon
2020-05-28 14:22     ` Boris Brezillon
2020-05-28 14:22     ` Boris Brezillon
2020-05-28 11:31 ` [PATCH v6 05/18] mtd: rawnand: Add a kernel doc to the ECC algorithm enumeration Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 14:26   ` Boris Brezillon
2020-05-28 14:26     ` Boris Brezillon
2020-05-28 14:26     ` Boris Brezillon
2020-05-28 11:31 ` [PATCH v6 06/18] mtd: rawnand: Rename the ECC algorithm enumeration items Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 14:26   ` Boris Brezillon [this message]
2020-05-28 14:26     ` Boris Brezillon
2020-05-28 14:26     ` Boris Brezillon
2020-05-28 11:31 ` [PATCH v6 07/18] mtd: rawnand: Create a new enumeration to describe properly ECC types Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31 ` [PATCH v6 08/18] mtd: rawnand: Use the new ECC engine type enumeration Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 14:31   ` Boris Brezillon
2020-05-28 14:31     ` Boris Brezillon
2020-05-28 14:31     ` Boris Brezillon
2020-05-28 14:45     ` Miquel Raynal
2020-05-28 14:45       ` Miquel Raynal
2020-05-28 14:45       ` Miquel Raynal
2020-05-28 11:31 ` [PATCH v6 09/18] mtd: nand: Move nand_device forward declaration to the top Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31 ` [PATCH v6 10/18] mtd: nand: Add an extra level in the Kconfig hierarchy Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31 ` [PATCH v6 11/18] mtd: nand: Drop useless 'depends on' in Kconfig Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31 ` [PATCH v6 12/18] mtd: nand: Add a NAND page I/O request type Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31 ` [PATCH v6 13/18] mtd: nand: Rename a core structure Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31 ` [PATCH v6 14/18] mtd: nand: Add more parameters to the nand_ecc_props structure Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 14:34   ` Boris Brezillon
2020-05-28 14:34     ` Boris Brezillon
2020-05-28 14:34     ` Boris Brezillon
2020-05-28 14:57     ` Miquel Raynal
2020-05-28 14:57       ` Miquel Raynal
2020-05-28 14:57       ` Miquel Raynal
2020-05-28 15:00       ` Boris Brezillon
2020-05-28 15:00         ` Boris Brezillon
2020-05-28 15:00         ` Boris Brezillon
2020-05-28 15:02         ` Miquel Raynal
2020-05-28 15:02           ` Miquel Raynal
2020-05-28 15:02           ` Miquel Raynal
2020-05-28 11:31 ` [PATCH v6 15/18] mtd: nand: Introduce the ECC engine abstraction Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 18:52   ` Boris Brezillon
2020-05-28 18:52     ` Boris Brezillon
2020-05-28 18:52     ` Boris Brezillon
2020-05-28 23:46     ` Miquel Raynal
2020-05-28 23:46       ` Miquel Raynal
2020-05-28 23:46       ` Miquel Raynal
2020-05-28 11:31 ` [PATCH v6 16/18] mtd: nand: Convert generic NAND bits to use the ECC framework Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 14:39   ` Boris Brezillon
2020-05-28 14:39     ` Boris Brezillon
2020-05-28 14:39     ` Boris Brezillon
2020-05-28 14:49     ` Miquel Raynal
2020-05-28 14:49       ` Miquel Raynal
2020-05-28 14:49       ` Miquel Raynal
2020-05-28 14:52       ` Boris Brezillon
2020-05-28 14:52         ` Boris Brezillon
2020-05-28 14:52         ` Boris Brezillon
2020-05-28 15:04         ` Miquel Raynal
2020-05-28 15:04           ` Miquel Raynal
2020-05-28 15:04           ` Miquel Raynal
2020-05-28 16:00   ` Boris Brezillon
2020-05-28 16:00     ` Boris Brezillon
2020-05-28 16:00     ` Boris Brezillon
2020-05-28 23:48     ` Miquel Raynal
2020-05-28 23:48       ` Miquel Raynal
2020-05-28 23:48       ` Miquel Raynal
2020-05-28 11:31 ` [PATCH v6 17/18] mtd: rawnand: Write a compatibility layer Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 14:42   ` Boris Brezillon
2020-05-28 14:42     ` Boris Brezillon
2020-05-28 14:42     ` Boris Brezillon
2020-05-28 14:53     ` Miquel Raynal
2020-05-28 14:53       ` Miquel Raynal
2020-05-28 14:53       ` Miquel Raynal
2020-05-28 11:31 ` [PATCH v6 18/18] mtd: rawnand: Move generic bits to the ECC framework Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 11:31   ` Miquel Raynal
2020-05-28 14:45   ` Boris Brezillon
2020-05-28 14:45     ` Boris Brezillon
2020-05-28 14:45     ` Boris Brezillon
2020-05-28 15:55   ` Boris Brezillon
2020-05-28 15:55     ` Boris Brezillon
2020-05-28 15:55     ` Boris Brezillon
2020-05-28 15:56   ` Boris Brezillon
2020-05-28 15:56     ` Boris Brezillon
2020-05-28 15:56     ` Boris Brezillon
2020-05-28 23:55     ` Miquel Raynal
2020-05-28 23:55       ` Miquel Raynal
2020-05-28 23:55       ` Miquel Raynal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200528162634.31179552@collabora.com \
    --to=boris.brezillon@collabora.com \
    --cc=Tudor.Ambarus@microchip.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gch981213@gmail.com \
    --cc=juliensu@mxic.com.tw \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=masonccyang@mxic.com.tw \
    --cc=miquel.raynal@bootlin.com \
    --cc=paul@crapouillou.net \
    --cc=richard@nod.at \
    --cc=robh+dt@kernel.org \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=vigneshr@ti.com \
    --cc=weijie.gao@mediatek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.