mtd: spi-nor: enable the debugfs for the partname and partid
authorZhuohao Lee <zhuohao@chromium.org>
Wed, 28 Aug 2019 06:08:02 +0000 (09:08 +0300)
committerTudor Ambarus <tudor.ambarus@microchip.com>
Thu, 29 Aug 2019 07:36:54 +0000 (10:36 +0300)
This patch adds spi_nor_debugfs_init() for the debugfs initialization.
With this patch, we can read the partname and partid through the
debugfs.

The output of new debugfs nodes on my device are:
cat /sys/kernel/debug/mtd/mtd0/partid
spi-nor:ef6017
cat /sys/kernel/debug/mtd/mtd0/partname
w25q64dw

Signed-off-by: Zhuohao Lee <zhuohao@chromium.org>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
drivers/mtd/spi-nor/spi-nor.c

index 79c8f1d..6a2fff0 100644 (file)
@@ -4767,6 +4767,16 @@ static int spi_nor_set_addr_width(struct spi_nor *nor)
        return 0;
 }
 
+static void spi_nor_debugfs_init(struct spi_nor *nor,
+                                const struct flash_info *info)
+{
+       struct mtd_info *mtd = &nor->mtd;
+
+       mtd->dbg.partname = info->name;
+       mtd->dbg.partid = devm_kasprintf(nor->dev, GFP_KERNEL, "spi-nor:%*phN",
+                                        info->id_len, info->id);
+}
+
 static const struct flash_info *spi_nor_get_flash_info(struct spi_nor *nor,
                                                       const char *name)
 {
@@ -4847,6 +4857,8 @@ int spi_nor_scan(struct spi_nor *nor, const char *name,
 
        nor->info = info;
 
+       spi_nor_debugfs_init(nor, info);
+
        mutex_init(&nor->lock);
 
        /*