aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Malat <oss@malat.biz>2021-04-30 08:50:57 +0200
committerMiquel Raynal <miquel.raynal@bootlin.com>2021-05-10 12:48:45 +0200
commitfeb05fae4df10f6b9bf720662623efc88334c095 (patch)
tree01706b0e69fe2502c7357c70f4f4135a941ef630
parentmtd: tests: Remove redundant assignment to err (diff)
downloadlinux-dev-feb05fae4df10f6b9bf720662623efc88334c095.tar.xz
linux-dev-feb05fae4df10f6b9bf720662623efc88334c095.zip
mtd: Create partname and partid debug files for child MTDs
Partname and partid are set by the upper driver (spi-nor) on the master MTD. If this MTD is partitioned and CONFIG_MTD_PARTITIONED_MASTER is disabled, the master MTD is not instantiated and partname and partid aren't available to the userspace. Always read the partname and partid from the master MTD, they describe the HW, which can't differ between master and its children. Signed-off-by: Petr Malat <oss@malat.biz> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20210430065057.32018-1-oss@malat.biz
-rw-r--r--drivers/mtd/mtdcore.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
index 3f2e20e22501..3ae261661eea 100644
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -360,6 +360,7 @@ static struct dentry *dfs_dir_mtd;
static void mtd_debugfs_populate(struct mtd_info *mtd)
{
+ struct mtd_info *master = mtd_get_master(mtd);
struct device *dev = &mtd->dev;
struct dentry *root;
@@ -369,12 +370,12 @@ static void mtd_debugfs_populate(struct mtd_info *mtd)
root = debugfs_create_dir(dev_name(dev), dfs_dir_mtd);
mtd->dbg.dfs_dir = root;
- if (mtd->dbg.partid)
- debugfs_create_file("partid", 0400, root, mtd,
+ if (master->dbg.partid)
+ debugfs_create_file("partid", 0400, root, master,
&mtd_partid_debug_fops);
- if (mtd->dbg.partname)
- debugfs_create_file("partname", 0400, root, mtd,
+ if (master->dbg.partname)
+ debugfs_create_file("partname", 0400, root, master,
&mtd_partname_debug_fops);
}