@@ -532,6 +532,7 @@ static int stm_nand_bch_probe(struct platform_device *pdev)
struct nandi_info *info;
struct nand_chip *chip;
struct mtd_info *mtd;
+ int err;
nandi = nandi_init_resources(pdev);
if (IS_ERR(nandi)) {
@@ -556,6 +557,10 @@ static int stm_nand_bch_probe(struct platform_device *pdev)
nandi_set_mtd_defaults(nandi, mtd, chip);
+ err = nand_scan_ident(mtd, 1, NULL);
+ if (err)
+ return err;
+
return 0;
}
@@ -563,6 +568,8 @@ static int stm_nand_bch_remove(struct platform_device *pdev)
{
struct nandi_controller *nandi = platform_get_drvdata(pdev);
+ nand_release(&nandi->info.mtd);
+
nandi_clk_disable(nandi);
return 0;
Use the core nand_scan_ident() routine to locate connected NAND chips. Signed-off-by: Lee Jones <lee.jones@linaro.org> --- drivers/mtd/nand/stm_nand_bch.c | 7 +++++++ 1 file changed, 7 insertions(+)