Messages in this thread Patch in this message | | | From | Chris Packham <> | Subject | [PATCH v2 3/4] mtd: mchp23k256: add partitioning support | Date | Mon, 22 May 2017 17:00:34 +1200 |
| |
Setting the of_node for the mtd device allows the generic mtd code to setup the partitions. Additionally we must specify a non-zero erasesize for the partitions to be writeable.
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Tested-by: Andrew Lunn <andrew@lunn.ch> --- Changes in v2 - collect revew/test from Andrew
drivers/mtd/devices/mchp23k256.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/drivers/mtd/devices/mchp23k256.c b/drivers/mtd/devices/mchp23k256.c index 2542f5b8b63f..02c6b9dcbd3e 100644 --- a/drivers/mtd/devices/mchp23k256.c +++ b/drivers/mtd/devices/mchp23k256.c @@ -143,6 +143,7 @@ static int mchp23k256_probe(struct spi_device *spi) data = dev_get_platdata(&spi->dev); + mtd_set_of_node(&flash->mtd, spi->dev.of_node); flash->mtd.dev.parent = &spi->dev; flash->mtd.type = MTD_RAM; flash->mtd.flags = MTD_CAP_RAM; @@ -151,6 +152,10 @@ static int mchp23k256_probe(struct spi_device *spi) flash->mtd._read = mchp23k256_read; flash->mtd._write = mchp23k256_write; + flash->mtd.erasesize = PAGE_SIZE; + while (flash->mtd.size & (flash->mtd.erasesize - 1)) + flash->mtd.erasesize >>= 1; + err = mtd_device_register(&flash->mtd, data ? data->parts : NULL, data ? data->nr_parts : 0); if (err) -- 2.11.0.24.ge6920cf
| |