mtd: nand: vf610: remove the unnecessary of_node_put()
Calling of_node_put() in vf610_nfc_probe() is wrong because nothing in this code retains a reference to the DT node. Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Reviewed-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
This commit is contained in:
parent
532a1cf9a0
commit
f5a666bdd5
|
@ -667,7 +667,7 @@ static int vf610_nfc_probe(struct platform_device *pdev)
|
||||||
dev_err(nfc->dev,
|
dev_err(nfc->dev,
|
||||||
"Only one NAND chip supported!\n");
|
"Only one NAND chip supported!\n");
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
goto error;
|
goto err_clk;
|
||||||
}
|
}
|
||||||
|
|
||||||
nand_set_flash_node(chip, child);
|
nand_set_flash_node(chip, child);
|
||||||
|
@ -697,7 +697,7 @@ static int vf610_nfc_probe(struct platform_device *pdev)
|
||||||
err = devm_request_irq(nfc->dev, irq, vf610_nfc_irq, 0, DRV_NAME, mtd);
|
err = devm_request_irq(nfc->dev, irq, vf610_nfc_irq, 0, DRV_NAME, mtd);
|
||||||
if (err) {
|
if (err) {
|
||||||
dev_err(nfc->dev, "Error requesting IRQ!\n");
|
dev_err(nfc->dev, "Error requesting IRQ!\n");
|
||||||
goto error;
|
goto err_clk;
|
||||||
}
|
}
|
||||||
|
|
||||||
vf610_nfc_preinit_controller(nfc);
|
vf610_nfc_preinit_controller(nfc);
|
||||||
|
@ -705,7 +705,7 @@ static int vf610_nfc_probe(struct platform_device *pdev)
|
||||||
/* first scan to find the device and get the page size */
|
/* first scan to find the device and get the page size */
|
||||||
err = nand_scan_ident(mtd, 1, NULL);
|
err = nand_scan_ident(mtd, 1, NULL);
|
||||||
if (err)
|
if (err)
|
||||||
goto error;
|
goto err_clk;
|
||||||
|
|
||||||
vf610_nfc_init_controller(nfc);
|
vf610_nfc_init_controller(nfc);
|
||||||
|
|
||||||
|
@ -717,20 +717,20 @@ static int vf610_nfc_probe(struct platform_device *pdev)
|
||||||
if (mtd->writesize + mtd->oobsize > PAGE_2K + OOB_MAX - 8) {
|
if (mtd->writesize + mtd->oobsize > PAGE_2K + OOB_MAX - 8) {
|
||||||
dev_err(nfc->dev, "Unsupported flash page size\n");
|
dev_err(nfc->dev, "Unsupported flash page size\n");
|
||||||
err = -ENXIO;
|
err = -ENXIO;
|
||||||
goto error;
|
goto err_clk;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chip->ecc.mode == NAND_ECC_HW) {
|
if (chip->ecc.mode == NAND_ECC_HW) {
|
||||||
if (mtd->writesize != PAGE_2K && mtd->oobsize < 64) {
|
if (mtd->writesize != PAGE_2K && mtd->oobsize < 64) {
|
||||||
dev_err(nfc->dev, "Unsupported flash with hwecc\n");
|
dev_err(nfc->dev, "Unsupported flash with hwecc\n");
|
||||||
err = -ENXIO;
|
err = -ENXIO;
|
||||||
goto error;
|
goto err_clk;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chip->ecc.size != mtd->writesize) {
|
if (chip->ecc.size != mtd->writesize) {
|
||||||
dev_err(nfc->dev, "Step size needs to be page size\n");
|
dev_err(nfc->dev, "Step size needs to be page size\n");
|
||||||
err = -ENXIO;
|
err = -ENXIO;
|
||||||
goto error;
|
goto err_clk;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Only 64 byte ECC layouts known */
|
/* Only 64 byte ECC layouts known */
|
||||||
|
@ -750,7 +750,7 @@ static int vf610_nfc_probe(struct platform_device *pdev)
|
||||||
} else {
|
} else {
|
||||||
dev_err(nfc->dev, "Unsupported ECC strength\n");
|
dev_err(nfc->dev, "Unsupported ECC strength\n");
|
||||||
err = -ENXIO;
|
err = -ENXIO;
|
||||||
goto error;
|
goto err_clk;
|
||||||
}
|
}
|
||||||
|
|
||||||
chip->ecc.read_page = vf610_nfc_read_page;
|
chip->ecc.read_page = vf610_nfc_read_page;
|
||||||
|
@ -762,15 +762,13 @@ static int vf610_nfc_probe(struct platform_device *pdev)
|
||||||
/* second phase scan */
|
/* second phase scan */
|
||||||
err = nand_scan_tail(mtd);
|
err = nand_scan_tail(mtd);
|
||||||
if (err)
|
if (err)
|
||||||
goto error;
|
goto err_clk;
|
||||||
|
|
||||||
platform_set_drvdata(pdev, mtd);
|
platform_set_drvdata(pdev, mtd);
|
||||||
|
|
||||||
/* Register device in MTD */
|
/* Register device in MTD */
|
||||||
return mtd_device_register(mtd, NULL, 0);
|
return mtd_device_register(mtd, NULL, 0);
|
||||||
|
|
||||||
error:
|
|
||||||
of_node_put(nand_get_flash_node(chip));
|
|
||||||
err_clk:
|
err_clk:
|
||||||
clk_disable_unprepare(nfc->clk);
|
clk_disable_unprepare(nfc->clk);
|
||||||
return err;
|
return err;
|
||||||
|
|
Loading…
Reference in New Issue