summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mtd/nand/core.c7
-rw-r--r--drivers/mtd/nand/raw/cadence_nand.c2
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/mtd/nand/core.c b/drivers/mtd/nand/core.c
index 472ad0bdefb..01ff6e3befa 100644
--- a/drivers/mtd/nand/core.c
+++ b/drivers/mtd/nand/core.c
@@ -201,8 +201,8 @@ EXPORT_SYMBOL_GPL(nanddev_mtd_erase);
int nanddev_init(struct nand_device *nand, const struct nand_ops *ops,
struct module *owner)
{
- struct mtd_info *mtd = nanddev_to_mtd(nand);
- struct nand_memory_organization *memorg = nanddev_get_memorg(nand);
+ struct mtd_info *mtd;
+ struct nand_memory_organization *memorg;
if (!nand || !ops)
return -EINVAL;
@@ -210,6 +210,9 @@ int nanddev_init(struct nand_device *nand, const struct nand_ops *ops,
if (!ops->erase || !ops->markbad || !ops->isbad)
return -EINVAL;
+ mtd = nanddev_to_mtd(nand);
+ memorg = nanddev_get_memorg(nand);
+
if (!memorg->bits_per_cell || !memorg->pagesize ||
!memorg->pages_per_eraseblock || !memorg->eraseblocks_per_lun ||
!memorg->planes_per_lun || !memorg->luns_per_target ||
diff --git a/drivers/mtd/nand/raw/cadence_nand.c b/drivers/mtd/nand/raw/cadence_nand.c
index 27aa7f97a45..4771440d1de 100644
--- a/drivers/mtd/nand/raw/cadence_nand.c
+++ b/drivers/mtd/nand/raw/cadence_nand.c
@@ -2196,7 +2196,7 @@ static int cadence_nand_chip_init(struct cadence_nand_info *cadence, ofnode node
chip->controller = &cadence->controller;
nand_set_flash_node(chip, node);
mtd = nand_to_mtd(chip);
- mtd->dev->parent = cadence->dev;
+ mtd->dev = cadence->dev;
chip->options |= NAND_BUSWIDTH_AUTO;
chip->select_chip = cadence_nand_select_chip;