mirror of https://gitee.com/openkylin/linux.git
mtd: no need to check return value of debugfs_create functions
When calling debugfs functions, there is no need to ever check the return value. The function can work or not, but the code logic should never do something different based on this. Cc: David Woodhouse <dwmw2@infradead.org> Cc: Brian Norris <computersforpeace@gmail.com> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Miquel Raynal <miquel.raynal@bootlin.com> Cc: Richard Weinberger <richard@nod.at> Cc: Vignesh Raghavendra <vigneshr@ti.com> Cc: Artem Bityutskiy <dedekind1@gmail.com> Cc: linux-mtd@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
This commit is contained in:
parent
267c1d7723
commit
c2d73ba892
|
@ -382,33 +382,21 @@ static struct dentry *dfs_dir_mtd;
|
|||
static void mtd_debugfs_populate(struct mtd_info *mtd)
|
||||
{
|
||||
struct device *dev = &mtd->dev;
|
||||
struct dentry *root, *dent;
|
||||
struct dentry *root;
|
||||
|
||||
if (IS_ERR_OR_NULL(dfs_dir_mtd))
|
||||
return;
|
||||
|
||||
root = debugfs_create_dir(dev_name(dev), dfs_dir_mtd);
|
||||
if (IS_ERR_OR_NULL(root)) {
|
||||
dev_dbg(dev, "won't show data in debugfs\n");
|
||||
return;
|
||||
}
|
||||
|
||||
mtd->dbg.dfs_dir = root;
|
||||
|
||||
if (mtd->dbg.partid) {
|
||||
dent = debugfs_create_file("partid", 0400, root, mtd,
|
||||
&mtd_partid_debug_fops);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
dev_err(dev, "can't create debugfs entry for partid\n");
|
||||
}
|
||||
if (mtd->dbg.partid)
|
||||
debugfs_create_file("partid", 0400, root, mtd,
|
||||
&mtd_partid_debug_fops);
|
||||
|
||||
if (mtd->dbg.partname) {
|
||||
dent = debugfs_create_file("partname", 0400, root, mtd,
|
||||
&mtd_partname_debug_fops);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
dev_err(dev,
|
||||
"can't create debugfs entry for partname\n");
|
||||
}
|
||||
if (mtd->dbg.partname)
|
||||
debugfs_create_file("partname", 0400, root, mtd,
|
||||
&mtd_partname_debug_fops);
|
||||
}
|
||||
|
||||
#ifndef CONFIG_MMU
|
||||
|
|
|
@ -1257,7 +1257,6 @@ DEFINE_SHOW_ATTRIBUTE(mtdswap);
|
|||
static int mtdswap_add_debugfs(struct mtdswap_dev *d)
|
||||
{
|
||||
struct dentry *root = d->mtd->dbg.dfs_dir;
|
||||
struct dentry *dent;
|
||||
|
||||
if (!IS_ENABLED(CONFIG_DEBUG_FS))
|
||||
return 0;
|
||||
|
@ -1265,12 +1264,7 @@ static int mtdswap_add_debugfs(struct mtdswap_dev *d)
|
|||
if (IS_ERR_OR_NULL(root))
|
||||
return -1;
|
||||
|
||||
dent = debugfs_create_file("mtdswap_stats", S_IRUSR, root, d,
|
||||
&mtdswap_fops);
|
||||
if (!dent) {
|
||||
dev_err(d->dev, "debugfs_create_file failed\n");
|
||||
return -1;
|
||||
}
|
||||
debugfs_create_file("mtdswap_stats", S_IRUSR, root, d, &mtdswap_fops);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -509,11 +509,9 @@ static const struct file_operations eraseblk_count_fops = {
|
|||
*/
|
||||
int ubi_debugfs_init_dev(struct ubi_device *ubi)
|
||||
{
|
||||
int err, n;
|
||||
unsigned long ubi_num = ubi->ubi_num;
|
||||
const char *fname;
|
||||
struct dentry *dent;
|
||||
struct ubi_debug_info *d = &ubi->dbg;
|
||||
int n;
|
||||
|
||||
if (!IS_ENABLED(CONFIG_DEBUG_FS))
|
||||
return 0;
|
||||
|
@ -522,95 +520,52 @@ int ubi_debugfs_init_dev(struct ubi_device *ubi)
|
|||
ubi->ubi_num);
|
||||
if (n == UBI_DFS_DIR_LEN) {
|
||||
/* The array size is too small */
|
||||
fname = UBI_DFS_DIR_NAME;
|
||||
dent = ERR_PTR(-EINVAL);
|
||||
goto out;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
fname = d->dfs_dir_name;
|
||||
dent = debugfs_create_dir(fname, dfs_rootdir);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
goto out;
|
||||
d->dfs_dir = dent;
|
||||
d->dfs_dir = debugfs_create_dir(d->dfs_dir_name, dfs_rootdir);
|
||||
|
||||
fname = "chk_gen";
|
||||
dent = debugfs_create_file(fname, S_IWUSR, d->dfs_dir, (void *)ubi_num,
|
||||
&dfs_fops);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
goto out_remove;
|
||||
d->dfs_chk_gen = dent;
|
||||
d->dfs_chk_gen = debugfs_create_file("chk_gen", S_IWUSR, d->dfs_dir,
|
||||
(void *)ubi_num, &dfs_fops);
|
||||
|
||||
fname = "chk_io";
|
||||
dent = debugfs_create_file(fname, S_IWUSR, d->dfs_dir, (void *)ubi_num,
|
||||
&dfs_fops);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
goto out_remove;
|
||||
d->dfs_chk_io = dent;
|
||||
d->dfs_chk_io = debugfs_create_file("chk_io", S_IWUSR, d->dfs_dir,
|
||||
(void *)ubi_num, &dfs_fops);
|
||||
|
||||
fname = "chk_fastmap";
|
||||
dent = debugfs_create_file(fname, S_IWUSR, d->dfs_dir, (void *)ubi_num,
|
||||
&dfs_fops);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
goto out_remove;
|
||||
d->dfs_chk_fastmap = dent;
|
||||
d->dfs_chk_fastmap = debugfs_create_file("chk_fastmap", S_IWUSR,
|
||||
d->dfs_dir, (void *)ubi_num,
|
||||
&dfs_fops);
|
||||
|
||||
fname = "tst_disable_bgt";
|
||||
dent = debugfs_create_file(fname, S_IWUSR, d->dfs_dir, (void *)ubi_num,
|
||||
&dfs_fops);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
goto out_remove;
|
||||
d->dfs_disable_bgt = dent;
|
||||
d->dfs_disable_bgt = debugfs_create_file("tst_disable_bgt", S_IWUSR,
|
||||
d->dfs_dir, (void *)ubi_num,
|
||||
&dfs_fops);
|
||||
|
||||
fname = "tst_emulate_bitflips";
|
||||
dent = debugfs_create_file(fname, S_IWUSR, d->dfs_dir, (void *)ubi_num,
|
||||
&dfs_fops);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
goto out_remove;
|
||||
d->dfs_emulate_bitflips = dent;
|
||||
d->dfs_emulate_bitflips = debugfs_create_file("tst_emulate_bitflips",
|
||||
S_IWUSR, d->dfs_dir,
|
||||
(void *)ubi_num,
|
||||
&dfs_fops);
|
||||
|
||||
fname = "tst_emulate_io_failures";
|
||||
dent = debugfs_create_file(fname, S_IWUSR, d->dfs_dir, (void *)ubi_num,
|
||||
&dfs_fops);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
goto out_remove;
|
||||
d->dfs_emulate_io_failures = dent;
|
||||
d->dfs_emulate_io_failures = debugfs_create_file("tst_emulate_io_failures",
|
||||
S_IWUSR, d->dfs_dir,
|
||||
(void *)ubi_num,
|
||||
&dfs_fops);
|
||||
|
||||
fname = "tst_emulate_power_cut";
|
||||
dent = debugfs_create_file(fname, S_IWUSR, d->dfs_dir, (void *)ubi_num,
|
||||
&dfs_fops);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
goto out_remove;
|
||||
d->dfs_emulate_power_cut = dent;
|
||||
d->dfs_emulate_power_cut = debugfs_create_file("tst_emulate_power_cut",
|
||||
S_IWUSR, d->dfs_dir,
|
||||
(void *)ubi_num,
|
||||
&dfs_fops);
|
||||
|
||||
fname = "tst_emulate_power_cut_min";
|
||||
dent = debugfs_create_file(fname, S_IWUSR, d->dfs_dir, (void *)ubi_num,
|
||||
&dfs_fops);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
goto out_remove;
|
||||
d->dfs_power_cut_min = dent;
|
||||
d->dfs_power_cut_min = debugfs_create_file("tst_emulate_power_cut_min",
|
||||
S_IWUSR, d->dfs_dir,
|
||||
(void *)ubi_num, &dfs_fops);
|
||||
|
||||
fname = "tst_emulate_power_cut_max";
|
||||
dent = debugfs_create_file(fname, S_IWUSR, d->dfs_dir, (void *)ubi_num,
|
||||
&dfs_fops);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
goto out_remove;
|
||||
d->dfs_power_cut_max = dent;
|
||||
d->dfs_power_cut_max = debugfs_create_file("tst_emulate_power_cut_max",
|
||||
S_IWUSR, d->dfs_dir,
|
||||
(void *)ubi_num, &dfs_fops);
|
||||
|
||||
fname = "detailed_erase_block_info";
|
||||
dent = debugfs_create_file(fname, S_IRUSR, d->dfs_dir, (void *)ubi_num,
|
||||
&eraseblk_count_fops);
|
||||
if (IS_ERR_OR_NULL(dent))
|
||||
goto out_remove;
|
||||
debugfs_create_file("detailed_erase_block_info", S_IRUSR, d->dfs_dir,
|
||||
(void *)ubi_num, &eraseblk_count_fops);
|
||||
|
||||
return 0;
|
||||
|
||||
out_remove:
|
||||
debugfs_remove_recursive(d->dfs_dir);
|
||||
out:
|
||||
err = dent ? PTR_ERR(dent) : -ENODEV;
|
||||
ubi_err(ubi, "cannot create \"%s\" debugfs file or directory, error %d\n",
|
||||
fname, err);
|
||||
return err;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue