[PATCH v2 1/2] mtd: name the mtd device with an optional label property

Brian Norris computersforpeace at gmail.com
Wed Feb 8 14:38:59 PST 2017


On Wed, Jan 25, 2017 at 07:17:34PM +0100, Cédric Le Goater wrote:
> This can be used to easily identify a specific chip on a system with
> multiple chips.
> 
> Drivers wanting to support this new label property will benefit from
> it without a change. They might want to check in the future that
> mtd->name is NULL before assigning a default name to the mtd device.
> Other drivers will keep the current behavior, which is to override
> mtd->name with their own value.
> 
> Suggested-by: Boris Brezillon <boris.brezillon at free-electrons.com>
> Signed-off-by: Cédric Le Goater <clg at kaod.org>
> ---
> 
>  Changes since v1:
> 
>  - moved the use of the "label" property from mtd_set_dev_defaults()
>    to mtd_set_of_node() to let drivers keep control on how mtd->name
>    is set and allocated.
> 
>  include/linux/mtd/mtd.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
> index 13f8052b9ff9..f4fe15517295 100644
> --- a/include/linux/mtd/mtd.h
> +++ b/include/linux/mtd/mtd.h
> @@ -24,6 +24,7 @@
>  #include <linux/uio.h>
>  #include <linux/notifier.h>
>  #include <linux/device.h>
> +#include <linux/of.h>
>  
>  #include <mtd/mtd-abi.h>
>  
> @@ -385,6 +386,7 @@ static inline void mtd_set_of_node(struct mtd_info *mtd,
>  				   struct device_node *np)
>  {
>  	mtd->dev.of_node = np;
> +	of_property_read_string(np, "label", &mtd->name);

Seems like this could be done only if '!mtd->name'?

As it stands, you're still clobbering some names, e.g. ones from
physmap_of.c. Notably, this driver already supports a "linux,mtd-name"
(which your new property should probably supersede), but it seems like
you're breaking compatibility.

Brian

>  }
>  
>  static inline struct device_node *mtd_get_of_node(struct mtd_info *mtd)
> -- 
> 2.7.4
> 



More information about the linux-mtd mailing list