@@ -1980,6 +1980,7 @@ static int atmel_nand_probe(struct platform_device *pdev)
host->io_phys = (dma_addr_t)mem->start;
mtd = &host->mtd;
+ mtd_setup_common_members(mtd, nand_chip, pdev);
nand_chip = &host->nand_chip;
host->dev = &pdev->dev;
if (IS_ENABLED(CONFIG_OF) && pdev->dev.of_node) {
@@ -1993,8 +1994,6 @@ static int atmel_nand_probe(struct platform_device *pdev)
}
nand_chip->priv = host; /* link the private data structures */
- mtd->priv = nand_chip;
- mtd->owner = THIS_MODULE;
/* Set address of NAND IO lines */
nand_chip->IO_ADDR_R = host->io_base;
@@ -2124,7 +2123,6 @@ static int atmel_nand_probe(struct platform_device *pdev)
goto err_scan_tail;
}
- mtd->name = "atmel_nand";
ppdata.of_node = pdev->dev.of_node;
res = mtd_device_parse_register(mtd, NULL, &ppdata,
host->board.parts, host->board.num_parts);
Fix a common error in nand-drivers which do not set up a parent device for the mtd-device by using a new inline function. Signed-off-by: Alexander Holler <holler@ahsoftware.de> --- drivers/mtd/nand/atmel_nand.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)