mtd: create per-device and module-scope debugfs entries
Several MTD devices are using debugfs entries created in the root. This commit provides the means for a standardized subtree, creating one "mtd" entry at root, and one entry per device inside it, named after the device. The tree is registered in add_mtd_device, and released in del_mtd_device. Devices docg3, mtdswap and nandsim were updated to use this subtree instead of custom ones, and their entries were prefixed with the drivers' names. Signed-off-by: Mario J. Rugiero <mrugiero@gmail.com> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
This commit is contained in:

committed by
Brian Norris

parent
5771a8c088
commit
e8e3edb95c
@@ -138,8 +138,6 @@ struct mtdswap_dev {
|
||||
|
||||
char *page_buf;
|
||||
char *oob_buf;
|
||||
|
||||
struct dentry *debugfs_root;
|
||||
};
|
||||
|
||||
struct mtdswap_oobdata {
|
||||
@@ -1318,26 +1316,19 @@ static int mtdswap_add_debugfs(struct mtdswap_dev *d)
|
||||
struct gendisk *gd = d->mbd_dev->disk;
|
||||
struct device *dev = disk_to_dev(gd);
|
||||
|
||||
struct dentry *root;
|
||||
struct dentry *root = d->mtd->dbg.dfs_dir;
|
||||
struct dentry *dent;
|
||||
|
||||
root = debugfs_create_dir(gd->disk_name, NULL);
|
||||
if (IS_ERR(root))
|
||||
if (!IS_ENABLED(CONFIG_DEBUG_FS))
|
||||
return 0;
|
||||
|
||||
if (!root) {
|
||||
dev_err(dev, "failed to initialize debugfs\n");
|
||||
if (IS_ERR_OR_NULL(root))
|
||||
return -1;
|
||||
}
|
||||
|
||||
d->debugfs_root = root;
|
||||
|
||||
dent = debugfs_create_file("stats", S_IRUSR, root, d,
|
||||
dent = debugfs_create_file("mtdswap_stats", S_IRUSR, root, d,
|
||||
&mtdswap_fops);
|
||||
if (!dent) {
|
||||
dev_err(d->dev, "debugfs_create_file failed\n");
|
||||
debugfs_remove_recursive(root);
|
||||
d->debugfs_root = NULL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1540,7 +1531,6 @@ static void mtdswap_remove_dev(struct mtd_blktrans_dev *dev)
|
||||
{
|
||||
struct mtdswap_dev *d = MTDSWAP_MBD_TO_MTDSWAP(dev);
|
||||
|
||||
debugfs_remove_recursive(d->debugfs_root);
|
||||
del_mtd_blktrans_dev(dev);
|
||||
mtdswap_cleanup(d);
|
||||
kfree(d);
|
||||
|
Reference in New Issue
Block a user