Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 432420c0 authored by Boris Brezillon's avatar Boris Brezillon Committed by Brian Norris
Browse files

mtd: nand: omap2: use the mtd instance embedded in struct nand_chip



struct nand_chip now embeds an mtd device. Make use of this mtd instance.

Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent 396a9c43
Loading
Loading
Loading
Loading
+7 −7
Original line number Original line Diff line number Diff line
@@ -152,7 +152,6 @@ static struct nand_hw_control omap_gpmc_controller = {


struct omap_nand_info {
struct omap_nand_info {
	struct omap_nand_platform_data	*pdata;
	struct omap_nand_platform_data	*pdata;
	struct mtd_info			mtd;
	struct nand_chip		nand;
	struct nand_chip		nand;
	struct platform_device		*pdev;
	struct platform_device		*pdev;


@@ -179,8 +178,9 @@ struct omap_nand_info {


static inline struct omap_nand_info *mtd_to_omap(struct mtd_info *mtd)
static inline struct omap_nand_info *mtd_to_omap(struct mtd_info *mtd)
{
{
	return container_of(mtd, struct omap_nand_info, mtd);
	return container_of(mtd_to_nand(mtd), struct omap_nand_info, nand);
}
}

/**
/**
 * omap_prefetch_enable - configures and starts prefetch transfer
 * omap_prefetch_enable - configures and starts prefetch transfer
 * @cs: cs (chip select) number
 * @cs: cs (chip select) number
@@ -1670,10 +1670,10 @@ static int omap_nand_probe(struct platform_device *pdev)
	info->reg		= pdata->reg;
	info->reg		= pdata->reg;
	info->of_node		= pdata->of_node;
	info->of_node		= pdata->of_node;
	info->ecc_opt		= pdata->ecc_opt;
	info->ecc_opt		= pdata->ecc_opt;
	mtd			= &info->mtd;
	nand_chip		= &info->nand;
	mtd			= nand_to_mtd(nand_chip);
	mtd->priv		= &info->nand;
	mtd->priv		= &info->nand;
	mtd->dev.parent		= &pdev->dev;
	mtd->dev.parent		= &pdev->dev;
	nand_chip		= &info->nand;
	nand_chip->ecc.priv	= NULL;
	nand_chip->ecc.priv	= NULL;
	nand_set_flash_node(nand_chip, pdata->of_node);
	nand_set_flash_node(nand_chip, pdata->of_node);


@@ -1897,7 +1897,7 @@ static int omap_nand_probe(struct platform_device *pdev)
				ecclayout->eccpos[ecclayout->eccbytes - 1] + 1;
				ecclayout->eccpos[ecclayout->eccbytes - 1] + 1;


		err = elm_config(info->elm_dev, BCH4_ECC,
		err = elm_config(info->elm_dev, BCH4_ECC,
				 info->mtd.writesize / nand_chip->ecc.size,
				 mtd->writesize / nand_chip->ecc.size,
				 nand_chip->ecc.size, nand_chip->ecc.bytes);
				 nand_chip->ecc.size, nand_chip->ecc.bytes);
		if (err < 0)
		if (err < 0)
			goto return_error;
			goto return_error;
@@ -1951,7 +1951,7 @@ static int omap_nand_probe(struct platform_device *pdev)
		nand_chip->ecc.write_page	= omap_write_page_bch;
		nand_chip->ecc.write_page	= omap_write_page_bch;


		err = elm_config(info->elm_dev, BCH8_ECC,
		err = elm_config(info->elm_dev, BCH8_ECC,
				 info->mtd.writesize / nand_chip->ecc.size,
				 mtd->writesize / nand_chip->ecc.size,
				 nand_chip->ecc.size, nand_chip->ecc.bytes);
				 nand_chip->ecc.size, nand_chip->ecc.bytes);
		if (err < 0)
		if (err < 0)
			goto return_error;
			goto return_error;
@@ -1981,7 +1981,7 @@ static int omap_nand_probe(struct platform_device *pdev)
		nand_chip->ecc.write_page	= omap_write_page_bch;
		nand_chip->ecc.write_page	= omap_write_page_bch;


		err = elm_config(info->elm_dev, BCH16_ECC,
		err = elm_config(info->elm_dev, BCH16_ECC,
				 info->mtd.writesize / nand_chip->ecc.size,
				 mtd->writesize / nand_chip->ecc.size,
				 nand_chip->ecc.size, nand_chip->ecc.bytes);
				 nand_chip->ecc.size, nand_chip->ecc.bytes);
		if (err < 0)
		if (err < 0)
			goto return_error;
			goto return_error;