On Wed, 8 Feb 2017 14:38:59 -0800 Brian Norris <computersforpeace@xxxxxxxxx> wrote: > 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@xxxxxxxxxxxxxxxxxx> > > Signed-off-by: Cédric Le Goater <clg@xxxxxxxx> > > --- > > > > 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. Indeed. I thought all users of mtd_set_of_node()/nand_set_flash_node()/spi_nor_set_flash_node() were calling this function before initializing mtd->name, which is apparently not true. > Notably, this driver already supports a "linux,mtd-name" > (which your new property should probably supersede), but it seems like > you're breaking compatibility. Well, we're not really breaking things until someone starts defining a 'label' property under the flash node ;-). Moreover, if we want to deprecate 'linux,mtd-name' in favor of 'label', we should definitely override the 'linux,mtd-name' value with the 'label' one if someone defined both (which is bad ;-)). Anyway, I agree, we'd better check if !mtd->name before assigning the label name. Cedric, can you send a v3? -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html