public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Brian Norris <computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Boris Brezillon
	<boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Simon Arlott <simon-A6De1vDTPLDsq35pWSNszA@public.gmane.org>,
	Michal Suchanek
	<hramrach-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH for-4.4 2/2] doc: dt: mtd: partitions: add compatible property to "partitions" node
Date: Fri, 4 Dec 2015 09:57:10 -0600	[thread overview]
Message-ID: <20151204155710.GA29035@rob-hp-laptop> (raw)
In-Reply-To: <1449194529-145705-2-git-send-email-computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

On Thu, Dec 03, 2015 at 06:02:09PM -0800, Brian Norris wrote:
> As noted here [1], there are potentially future conflicts if we try to
> use MTD's "partitions" subnode to describe anything besides just the
> fixed-in-the-device-tree partitions currently described in this
> document. Particularly, there was a proposal to use this node for the
> AFS parser too.
> 
> It can pose a (small) problem to try to differentiate the following
> nodes:
> 
> 	// using binding as currently specified
> 	partitions {
> 		#address-cells = <x>;
> 		#size-cells = <y>;
> 		partition@0 {
> 			...;
> 		};
> 	};
> 
> and
> 
> 	// proposed future binding
> 	partitions {
> 		compatible = "arm,arm-flash-structure";
> 	};
> 
> It's especially difficult if other uses of this node start having
> subnodes.
> 
> So, since the "partitions" node is new in v4.4, let's fixup the binding
> before release so that it requires a compatible property, so it's much
> clearer to distinguish. e.g.:
> 
> 	// proposed
> 	partitions {
> 		compatible = "partitions";
> 		#address-cells = <x>;
> 		#size-cells = <y>;
> 		partition@0 {
> 			...;
> 		};
> 	};
> 
> [1] Subject: "mtd: create a partition type device tree binding"
>     http://lkml.kernel.org/g/20151113220039.GA74382-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org
>     http://lists.infradead.org/pipermail/linux-mtd/2015-November/063355.html
>     http://lists.infradead.org/pipermail/linux-mtd/2015-November/063364.html
> 
> Cc: Michal Suchanek <hramrach-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> Signed-off-by: Brian Norris <computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
> This one is more of a future proofing patch. We should probably take this for
> 4.4, before the binding "stabilizes" (I don't actually see any users yet), or
> else we'll have to find some other (possibly more complicated) way to avoid
> this potential collision on future development.

Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>

> 
>  Documentation/devicetree/bindings/mtd/partition.txt | 7 ++++++-
>  drivers/mtd/ofpart.c                                | 3 +++
>  2 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/mtd/partition.txt b/Documentation/devicetree/bindings/mtd/partition.txt
> index f1e2a02381a4..047e80575881 100644
> --- a/Documentation/devicetree/bindings/mtd/partition.txt
> +++ b/Documentation/devicetree/bindings/mtd/partition.txt
> @@ -6,7 +6,9 @@ used for what purposes, but which don't use an on-flash partition table such
>  as RedBoot.
>  
>  The partition table should be a subnode of the mtd node and should be named
> -'partitions'. Partitions are defined in subnodes of the partitions node.
> +'partitions'. This node should have the following property:
> +- compatible : (required) must be "partitions"
> +Partitions are then defined in subnodes of the partitions node.
>  
>  For backwards compatibility partitions as direct subnodes of the mtd device are
>  supported. This use is discouraged.
> @@ -36,6 +38,7 @@ Examples:
>  
>  flash@0 {
>  	partitions {
> +		compatible = "partitions";
>  		#address-cells = <1>;
>  		#size-cells = <1>;
>  
> @@ -53,6 +56,7 @@ flash@0 {
>  
>  flash@1 {
>  	partitions {
> +		compatible = "partitions";
>  		#address-cells = <1>;
>  		#size-cells = <2>;
>  
> @@ -66,6 +70,7 @@ flash@1 {
>  
>  flash@2 {
>  	partitions {
> +		compatible = "partitions";
>  		#address-cells = <2>;
>  		#size-cells = <2>;
>  
> diff --git a/drivers/mtd/ofpart.c b/drivers/mtd/ofpart.c
> index 3e9c5857c991..23cd809fad4c 100644
> --- a/drivers/mtd/ofpart.c
> +++ b/drivers/mtd/ofpart.c
> @@ -55,6 +55,9 @@ static int parse_ofpart_partitions(struct mtd_info *master,
>  			 master->name, mtd_node->full_name);
>  		ofpart_node = mtd_node;
>  		dedicated = false;
> +	} else if (!of_device_is_compatible(ofpart_node, "partitions")) {
> +		/* The 'partitions' subnode might be used by another parser */
> +		return 0;
>  	}
>  
>  	/* First count the subnodes */
> -- 
> 2.6.0.rc2.230.g3dd15c0
> 
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-12-04 15:57 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-04  2:02 [PATCH for-4.4 1/2] mtd: ofpart: don't complain about missing 'partitions' node too loudly Brian Norris
     [not found] ` <1449194529-145705-1-git-send-email-computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-04  2:02   ` [PATCH for-4.4 2/2] doc: dt: mtd: partitions: add compatible property to "partitions" node Brian Norris
     [not found]     ` <1449194529-145705-2-git-send-email-computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-04 15:57       ` Rob Herring [this message]
2015-12-05 11:45       ` Jonas Gorski
     [not found]         ` <CAOiHx=kP8hT-UH=tfUZYYpr__i458-ZL3bOhcAJb8hmSbqBdCA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-07 17:58           ` Brian Norris
2015-12-09  1:12             ` Brian Norris
     [not found]               ` <20151209011256.GV120110-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2015-12-14 14:49                 ` Geert Uytterhoeven
     [not found]                   ` <CAMuHMdVGW-7dQ3vAqVpUN_S7=T7dVp+jkMJR7nyZ9ePd+NnsyQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-14 19:35                     ` Brian Norris

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151204155710.GA29035@rob-hp-laptop \
    --to=robh-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=hramrach-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=simon-A6De1vDTPLDsq35pWSNszA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox