2018-12-02 01:56:41

by Frank Lee

[permalink] [raw]
Subject: [PATCH v2] mtd: remove DEBUGFS_RO_ATTR()

We already have the DEFINE_SHOW_ATTRIBUTE.There is no need to define
such a macro,so remove DEBUGFS_RO_ATTR.Also use DEFINE_SHOW_ATTRIBUTE
to simplify some code.

Signed-off-by: Yangtao Li <[email protected]>
---
Changes in v2:
-Remove a missing DEBUGFS_RO_ATTR
---
drivers/mtd/devices/docg3.c | 20 ++++++++++++--------
drivers/mtd/devices/docg3.h | 11 -----------
drivers/mtd/mtdswap.c | 12 +-----------
drivers/mtd/nand/raw/nandsim.c | 16 +++-------------
4 files changed, 16 insertions(+), 43 deletions(-)

diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c
index 512bd4c2eec0..80143972963e 100644
--- a/drivers/mtd/devices/docg3.c
+++ b/drivers/mtd/devices/docg3.c
@@ -1603,7 +1603,7 @@ static void doc_unregister_sysfs(struct platform_device *pdev,
/*
* Debug sysfs entries
*/
-static int dbg_flashctrl_show(struct seq_file *s, void *p)
+static int flashcontrol_show(struct seq_file *s, void *p)
{
struct docg3 *docg3 = (struct docg3 *)s->private;

@@ -1623,9 +1623,10 @@ static int dbg_flashctrl_show(struct seq_file *s, void *p)

return 0;
}
-DEBUGFS_RO_ATTR(flashcontrol, dbg_flashctrl_show);

-static int dbg_asicmode_show(struct seq_file *s, void *p)
+DEFINE_SHOW_ATTRIBUTE(flashcontrol);
+
+static int asic_mode_show(struct seq_file *s, void *p)
{
struct docg3 *docg3 = (struct docg3 *)s->private;

@@ -1660,9 +1661,10 @@ static int dbg_asicmode_show(struct seq_file *s, void *p)
seq_puts(s, ")\n");
return 0;
}
-DEBUGFS_RO_ATTR(asic_mode, dbg_asicmode_show);

-static int dbg_device_id_show(struct seq_file *s, void *p)
+DEFINE_SHOW_ATTRIBUTE(asic_mode);
+
+static int device_id_show(struct seq_file *s, void *p)
{
struct docg3 *docg3 = (struct docg3 *)s->private;
int id;
@@ -1674,9 +1676,10 @@ static int dbg_device_id_show(struct seq_file *s, void *p)
seq_printf(s, "DeviceId = %d\n", id);
return 0;
}
-DEBUGFS_RO_ATTR(device_id, dbg_device_id_show);

-static int dbg_protection_show(struct seq_file *s, void *p)
+DEFINE_SHOW_ATTRIBUTE(device_id);
+
+static int protection_show(struct seq_file *s, void *p)
{
struct docg3 *docg3 = (struct docg3 *)s->private;
int protect, dps0, dps0_low, dps0_high, dps1, dps1_low, dps1_high;
@@ -1726,7 +1729,8 @@ static int dbg_protection_show(struct seq_file *s, void *p)
!!(dps1 & DOC_DPS_KEY_OK));
return 0;
}
-DEBUGFS_RO_ATTR(protection, dbg_protection_show);
+
+DEFINE_SHOW_ATTRIBUTE(protection);

static void __init doc_dbg_register(struct mtd_info *floor)
{
diff --git a/drivers/mtd/devices/docg3.h b/drivers/mtd/devices/docg3.h
index e99946575398..e16dca23655b 100644
--- a/drivers/mtd/devices/docg3.h
+++ b/drivers/mtd/devices/docg3.h
@@ -317,17 +317,6 @@ struct docg3 {
#define doc_info(fmt, arg...) dev_info(docg3->dev, (fmt), ## arg)
#define doc_dbg(fmt, arg...) dev_dbg(docg3->dev, (fmt), ## arg)
#define doc_vdbg(fmt, arg...) dev_vdbg(docg3->dev, (fmt), ## arg)
-
-#define DEBUGFS_RO_ATTR(name, show_fct) \
- static int name##_open(struct inode *inode, struct file *file) \
- { return single_open(file, show_fct, inode->i_private); } \
- static const struct file_operations name##_fops = { \
- .owner = THIS_MODULE, \
- .open = name##_open, \
- .llseek = seq_lseek, \
- .read = seq_read, \
- .release = single_release \
- };
#endif

/*
diff --git a/drivers/mtd/mtdswap.c b/drivers/mtd/mtdswap.c
index d9dcb2d051b4..3afda6c95d62 100644
--- a/drivers/mtd/mtdswap.c
+++ b/drivers/mtd/mtdswap.c
@@ -1266,17 +1266,7 @@ static int mtdswap_show(struct seq_file *s, void *data)
return 0;
}

-static int mtdswap_open(struct inode *inode, struct file *file)
-{
- return single_open(file, mtdswap_show, inode->i_private);
-}
-
-static const struct file_operations mtdswap_fops = {
- .open = mtdswap_open,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(mtdswap);

static int mtdswap_add_debugfs(struct mtdswap_dev *d)
{
diff --git a/drivers/mtd/nand/raw/nandsim.c b/drivers/mtd/nand/raw/nandsim.c
index c452819f6123..2d5532042803 100644
--- a/drivers/mtd/nand/raw/nandsim.c
+++ b/drivers/mtd/nand/raw/nandsim.c
@@ -443,7 +443,7 @@ static unsigned long total_wear = 0;
/* MTD structure for NAND controller */
static struct mtd_info *nsmtd;

-static int nandsim_debugfs_show(struct seq_file *m, void *private)
+static int nandsim_show(struct seq_file *m, void *private)
{
unsigned long wmin = -1, wmax = 0, avg;
unsigned long deciles[10], decile_max[10], tot = 0;
@@ -495,17 +495,7 @@ static int nandsim_debugfs_show(struct seq_file *m, void *private)
return 0;
}

-static int nandsim_debugfs_open(struct inode *inode, struct file *file)
-{
- return single_open(file, nandsim_debugfs_show, inode->i_private);
-}
-
-static const struct file_operations dfs_fops = {
- .open = nandsim_debugfs_open,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(nandsim);

/**
* nandsim_debugfs_create - initialize debugfs
@@ -531,7 +521,7 @@ static int nandsim_debugfs_create(struct nandsim *dev)
}

dent = debugfs_create_file("nandsim_wear_report", S_IRUSR,
- root, dev, &dfs_fops);
+ root, dev, &nandsim_fops);
if (IS_ERR_OR_NULL(dent)) {
NS_ERR("cannot create \"nandsim_wear_report\" debugfs entry\n");
return -1;
--
2.17.0



2018-12-02 07:19:25

by Boris Brezillon

[permalink] [raw]
Subject: Re: [PATCH v2] mtd: remove DEBUGFS_RO_ATTR()

On Sat, 1 Dec 2018 20:54:17 -0500
Yangtao Li <[email protected]> wrote:

> We already have the DEFINE_SHOW_ATTRIBUTE.There is no need to define
> such a macro,so remove DEBUGFS_RO_ATTR.Also use DEFINE_SHOW_ATTRIBUTE
> to simplify some code.
>
> Signed-off-by: Yangtao Li <[email protected]>
> ---
> Changes in v2:
> -Remove a missing DEBUGFS_RO_ATTR
> ---
> drivers/mtd/devices/docg3.c | 20 ++++++++++++--------
> drivers/mtd/devices/docg3.h | 11 -----------
> drivers/mtd/mtdswap.c | 12 +-----------
> drivers/mtd/nand/raw/nandsim.c | 16 +++-------------
> 4 files changed, 16 insertions(+), 43 deletions(-)
>
> diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c
> index 512bd4c2eec0..80143972963e 100644
> --- a/drivers/mtd/devices/docg3.c
> +++ b/drivers/mtd/devices/docg3.c
> @@ -1603,7 +1603,7 @@ static void doc_unregister_sysfs(struct platform_device *pdev,
> /*
> * Debug sysfs entries
> */
> -static int dbg_flashctrl_show(struct seq_file *s, void *p)
> +static int flashcontrol_show(struct seq_file *s, void *p)
> {
> struct docg3 *docg3 = (struct docg3 *)s->private;
>
> @@ -1623,9 +1623,10 @@ static int dbg_flashctrl_show(struct seq_file *s, void *p)
>
> return 0;
> }
> -DEBUGFS_RO_ATTR(flashcontrol, dbg_flashctrl_show);
>
> -static int dbg_asicmode_show(struct seq_file *s, void *p)
> +DEFINE_SHOW_ATTRIBUTE(flashcontrol);

Just nitpicking, but can you remove the blank line between the function
definition and DEFINE_SHOW_ATTRIBUTE()?

2018-12-02 07:35:48

by Frank Lee

[permalink] [raw]
Subject: Re: [PATCH v2] mtd: remove DEBUGFS_RO_ATTR()

On Sun, Dec 2, 2018 at 3:18 PM Boris Brezillon
<[email protected]> wrote:
>
> On Sat, 1 Dec 2018 20:54:17 -0500
> Yangtao Li <[email protected]> wrote:
>
> > We already have the DEFINE_SHOW_ATTRIBUTE.There is no need to define
> > such a macro,so remove DEBUGFS_RO_ATTR.Also use DEFINE_SHOW_ATTRIBUTE
> > to simplify some code.
> >
> > Signed-off-by: Yangtao Li <[email protected]>
> > ---
> > Changes in v2:
> > -Remove a missing DEBUGFS_RO_ATTR
> > ---
> > drivers/mtd/devices/docg3.c | 20 ++++++++++++--------
> > drivers/mtd/devices/docg3.h | 11 -----------
> > drivers/mtd/mtdswap.c | 12 +-----------
> > drivers/mtd/nand/raw/nandsim.c | 16 +++-------------
> > 4 files changed, 16 insertions(+), 43 deletions(-)
> >
> > diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c
> > index 512bd4c2eec0..80143972963e 100644
> > --- a/drivers/mtd/devices/docg3.c
> > +++ b/drivers/mtd/devices/docg3.c
> > @@ -1603,7 +1603,7 @@ static void doc_unregister_sysfs(struct platform_device *pdev,
> > /*
> > * Debug sysfs entries
> > */
> > -static int dbg_flashctrl_show(struct seq_file *s, void *p)
> > +static int flashcontrol_show(struct seq_file *s, void *p)
> > {
> > struct docg3 *docg3 = (struct docg3 *)s->private;
> >
> > @@ -1623,9 +1623,10 @@ static int dbg_flashctrl_show(struct seq_file *s, void *p)
> >
> > return 0;
> > }
> > -DEBUGFS_RO_ATTR(flashcontrol, dbg_flashctrl_show);
> >
> > -static int dbg_asicmode_show(struct seq_file *s, void *p)
> > +DEFINE_SHOW_ATTRIBUTE(flashcontrol);
>
> Just nitpicking, but can you remove the blank line between the function
> definition and DEFINE_SHOW_ATTRIBUTE()?
The third edition has been sent, can you review it?

Yours,
Yangtao