2012-11-02 14:23:03

by Karicheri, Muralidharan

[permalink] [raw]
Subject: [RESEND PATCH] mtd: davinci: add support for parition binding nodes

Enhance the driver to support partition subnodes inside the nand
device bindings to describe partions on the nand device.

Signed-off-by: Murali Karicheri <[email protected]>
---
.../devicetree/bindings/arm/davinci/nand.txt | 8 ++++++++
drivers/mtd/nand/davinci_nand.c | 13 ++++++++++---
2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/davinci/nand.txt b/Documentation/devicetree/bindings/arm/davinci/nand.txt
index e37241f..4746452 100644
--- a/Documentation/devicetree/bindings/arm/davinci/nand.txt
+++ b/Documentation/devicetree/bindings/arm/davinci/nand.txt
@@ -23,6 +23,9 @@ Recommended properties :
- ti,davinci-nand-buswidth: buswidth 8 or 16
- ti,davinci-nand-use-bbt: use flash based bad block table support.

+nand device bindings may contain additional sub-nodes describing
+partitions of the address space. See partition.txt for more detail.
+
Example (enbw_cmc board):
aemif@60000000 {
compatible = "ti,davinci-aemif";
@@ -47,5 +50,10 @@ aemif@60000000 {
ti,davinci-ecc-mode = "hw";
ti,davinci-ecc-bits = <4>;
ti,davinci-nand-use-bbt;
+
+ partition@180000 {
+ label = "ubifs";
+ reg = <0x180000 0x7e80000>;
+ };
};
};
diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c
index df1ab7d..321b053 100644
--- a/drivers/mtd/nand/davinci_nand.c
+++ b/drivers/mtd/nand/davinci_nand.c
@@ -821,9 +821,16 @@ syndrome_done:
if (ret < 0)
goto err_scan;

- ret = mtd_device_parse_register(&info->mtd, NULL, NULL, pdata->parts,
- pdata->nr_parts);
-
+ if (pdata->parts)
+ ret = mtd_device_parse_register(&info->mtd, NULL, NULL,
+ pdata->parts, pdata->nr_parts);
+ else {
+ struct mtd_part_parser_data ppdata;
+
+ ppdata.of_node = pdev->dev.of_node;
+ ret = mtd_device_parse_register(&info->mtd, NULL, &ppdata,
+ NULL, 0);
+ }
if (ret < 0)
goto err_scan;

--
1.7.9.5


2012-11-15 13:15:50

by Grant Likely

[permalink] [raw]
Subject: Re: [linux-keystone] [RESEND PATCH] mtd: davinci: add support for parition binding nodes

On Fri, 2 Nov 2012 10:22:41 -0400, Murali Karicheri <[email protected]> wrote:
> Enhance the driver to support partition subnodes inside the nand
> device bindings to describe partions on the nand device.
>
> Signed-off-by: Murali Karicheri <[email protected]>

Looks fine to me.

Reviewed-by: Grant Likely <[email protected]>

> ---
> .../devicetree/bindings/arm/davinci/nand.txt | 8 ++++++++
> drivers/mtd/nand/davinci_nand.c | 13 ++++++++++---
> 2 files changed, 18 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/arm/davinci/nand.txt b/Documentation/devicetree/bindings/arm/davinci/nand.txt
> index e37241f..4746452 100644
> --- a/Documentation/devicetree/bindings/arm/davinci/nand.txt
> +++ b/Documentation/devicetree/bindings/arm/davinci/nand.txt
> @@ -23,6 +23,9 @@ Recommended properties :
> - ti,davinci-nand-buswidth: buswidth 8 or 16
> - ti,davinci-nand-use-bbt: use flash based bad block table support.
>
> +nand device bindings may contain additional sub-nodes describing
> +partitions of the address space. See partition.txt for more detail.
> +
> Example (enbw_cmc board):
> aemif@60000000 {
> compatible = "ti,davinci-aemif";
> @@ -47,5 +50,10 @@ aemif@60000000 {
> ti,davinci-ecc-mode = "hw";
> ti,davinci-ecc-bits = <4>;
> ti,davinci-nand-use-bbt;
> +
> + partition@180000 {
> + label = "ubifs";
> + reg = <0x180000 0x7e80000>;
> + };
> };
> };
> diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c
> index df1ab7d..321b053 100644
> --- a/drivers/mtd/nand/davinci_nand.c
> +++ b/drivers/mtd/nand/davinci_nand.c
> @@ -821,9 +821,16 @@ syndrome_done:
> if (ret < 0)
> goto err_scan;
>
> - ret = mtd_device_parse_register(&info->mtd, NULL, NULL, pdata->parts,
> - pdata->nr_parts);
> -
> + if (pdata->parts)
> + ret = mtd_device_parse_register(&info->mtd, NULL, NULL,
> + pdata->parts, pdata->nr_parts);
> + else {
> + struct mtd_part_parser_data ppdata;
> +
> + ppdata.of_node = pdev->dev.of_node;
> + ret = mtd_device_parse_register(&info->mtd, NULL, &ppdata,
> + NULL, 0);
> + }
> if (ret < 0)
> goto err_scan;
>
> --
> 1.7.9.5
>

--
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies, Ltd.

2012-11-15 13:50:21

by Artem Bityutskiy

[permalink] [raw]
Subject: Re: [RESEND PATCH] mtd: davinci: add support for parition binding nodes

On Fri, 2012-11-02 at 10:22 -0400, Murali Karicheri wrote:
> Enhance the driver to support partition subnodes inside the nand
> device bindings to describe partions on the nand device.
>
> Signed-off-by: Murali Karicheri <[email protected]>

Pushed to l2-mtd.git, thanks!

--
Best Regards,
Artem Bityutskiy


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part