On 02/09/2017 08:11 AM, Boris Brezillon wrote: > 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? yes. will do in the morning. Thanks, C. -- 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