openwrtv3/target/linux/lantiq/patches-4.4/0047-mtd-plat-nand-pass-of-node.patch
Mathias Kresin 860210c373 lantiq: backport kernel patch to pass of node to nand_dt_init
Backport upstream commit a61ae81a1907af1987ad4c77300508327bc48b23.

The actually purpose of the patch was to do some cleanup. As a side
effect of this cleanup, the device node is now passed to nand_dt_init.

This allows to use the common nand device tree properties

 - nand-bus-width
 - nand-on-flash-bbt
 - nand-ecc-mode
 - nand-ecc-step-size
 - nand-ecc-strength

for the plat_nand driver.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-29 21:40:16 +01:00

27 lines
890 B
Diff

--- a/drivers/mtd/nand/plat_nand.c
+++ b/drivers/mtd/nand/plat_nand.c
@@ -31,6 +31,7 @@ static int plat_nand_probe(struct platfo
{
struct platform_nand_data *pdata = dev_get_platdata(&pdev->dev);
struct mtd_part_parser_data ppdata;
+ struct device_node *np = pdev->dev.of_node;
struct plat_nand_data *data;
struct resource *res;
const char **part_types;
@@ -58,6 +59,7 @@ static int plat_nand_probe(struct platfo
return PTR_ERR(data->io_base);
data->chip.priv = &data;
+ data->chip.flash_node = np;
data->mtd.priv = &data->chip;
data->mtd.dev.parent = &pdev->dev;
@@ -105,7 +107,7 @@ static int plat_nand_probe(struct platfo
part_types = pdata->chip.part_probe_types;
- ppdata.of_node = pdev->dev.of_node;
+ ppdata.of_node = np;
err = mtd_device_parse_register(&data->mtd, part_types, &ppdata,
pdata->chip.partitions,
pdata->chip.nr_partitions);