diff options
| author | Huang Shijie <shijie8@gmail.com> | 2012-08-14 22:38:45 -0400 | 
|---|---|---|
| committer | David Woodhouse <David.Woodhouse@intel.com> | 2012-09-29 15:00:46 +0100 | 
| commit | 657f28f8811c92724db10d18bbbec70d540147d6 (patch) | |
| tree | 1d8cb32d57eec27f46a74cad73a1ceff43f5e099 /drivers/mtd/nand/fsl_ifc_nand.c | |
| parent | 8da28681eb1430fb6715c7aef67001acfbbbcba5 (diff) | |
| download | olio-linux-3.10-657f28f8811c92724db10d18bbbec70d540147d6.tar.xz olio-linux-3.10-657f28f8811c92724db10d18bbbec70d540147d6.zip  | |
mtd: kill MTD_NAND_VERIFY_WRITE
Just as Artem suggested:
"Both UBI and JFFS2 are able to read verify what they wrote already.
There are also MTD tests which do this verification. So I think there
is no reason to keep this in the NAND layer, let alone wasting RAM in
the driver to support this feature. Besides, it does not work for sub-pages
and many drivers have it broken. It hurts more than it provides benefits."
So kill MTD_NAND_VERIFY_WRITE entirely.
Signed-off-by: Huang Shijie <shijie8@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/nand/fsl_ifc_nand.c')
| -rw-r--r-- | drivers/mtd/nand/fsl_ifc_nand.c | 41 | 
1 files changed, 0 insertions, 41 deletions
diff --git a/drivers/mtd/nand/fsl_ifc_nand.c b/drivers/mtd/nand/fsl_ifc_nand.c index 1f71b545062..e92d223e5e1 100644 --- a/drivers/mtd/nand/fsl_ifc_nand.c +++ b/drivers/mtd/nand/fsl_ifc_nand.c @@ -627,46 +627,6 @@ static void fsl_ifc_read_buf(struct mtd_info *mtd, u8 *buf, int len)  }  /* - * Verify buffer against the IFC Controller Data Buffer - */ -static int fsl_ifc_verify_buf(struct mtd_info *mtd, -			       const u_char *buf, int len) -{ -	struct nand_chip *chip = mtd->priv; -	struct fsl_ifc_mtd *priv = chip->priv; -	struct fsl_ifc_ctrl *ctrl = priv->ctrl; -	struct fsl_ifc_nand_ctrl *nctrl = ifc_nand_ctrl; -	int i; - -	if (len < 0) { -		dev_err(priv->dev, "%s: write_buf of %d bytes", __func__, len); -		return -EINVAL; -	} - -	if ((unsigned int)len > nctrl->read_bytes - nctrl->index) { -		dev_err(priv->dev, -			"%s: beyond end of buffer (%d requested, %u available)\n", -			__func__, len, nctrl->read_bytes - nctrl->index); - -		nctrl->index = nctrl->read_bytes; -		return -EINVAL; -	} - -	for (i = 0; i < len; i++) -		if (in_8(&nctrl->addr[nctrl->index + i]) != buf[i]) -			break; - -	nctrl->index += len; - -	if (i != len) -		return -EIO; -	if (ctrl->nand_stat != IFC_NAND_EVTER_STAT_OPC) -		return -EIO; - -	return 0; -} - -/*   * This function is called after Program and Erase Operations to   * check for success or failure.   */ @@ -796,7 +756,6 @@ static int fsl_ifc_chip_init(struct fsl_ifc_mtd *priv)  	chip->write_buf = fsl_ifc_write_buf;  	chip->read_buf = fsl_ifc_read_buf; -	chip->verify_buf = fsl_ifc_verify_buf;  	chip->select_chip = fsl_ifc_select_chip;  	chip->cmdfunc = fsl_ifc_cmdfunc;  	chip->waitfunc = fsl_ifc_wait;  |