It needs to be possible to define the partitions of an MTD device from an OF
devicetree.  This patch adds a call to of_mtd_parse_partitions if:

i)   there are no commandline partitions defined
ii)  there are no partitions set up by platform_data
iii) and an of_node is present on the device

This permits the following devicetree structure:

flash0: m...@0 {
        compatible = "st,m25p10";
        reg = <0>;
        spi-max-frequency = <100000000>;

        #address-cells = <1>;
        #size-cells = <1>;

        partit...@0 {
                label = "bootloader";
                reg = <0x00000000 0x00018000>;
                read-only;
        }

        partit...@18000 {
                label = "data";
                reg = <0x00018000 0x00008000>;
        };
};

Signed-off-by: Jonas Bonn <[email protected]>
---
 drivers/mtd/devices/m25p80.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
index 6f512b5..a349498 100644
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
@@ -924,6 +924,10 @@ static int __devinit m25p_probe(struct spi_device *spi)
                        nr_parts = data->nr_parts;
                }
 
+               if (nr_parts <= 0 && spi->dev.of_node) {
+                       nr_parts = of_mtd_parse_partitions(&spi->dev, 
spi->dev.of_node, &parts);
+               }
+
                if (nr_parts > 0) {
                        for (i = 0; i < nr_parts; i++) {
                                DEBUG(MTD_DEBUG_LEVEL2, "partitions[%d] = "
-- 
1.7.1

_______________________________________________
devicetree-discuss mailing list
[email protected]
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to