[v1,1/4] seq_file: Introduce DEFINE_SHOW_ATTRIBUTE() helper macro
diff mbox series

Message ID 20180122160546.51611-1-andriy.shevchenko@linux.intel.com
State New, archived
Headers show
Series
  • [v1,1/4] seq_file: Introduce DEFINE_SHOW_ATTRIBUTE() helper macro
Related show

Commit Message

Andy Shevchenko Jan. 22, 2018, 4:05 p.m. UTC
The DEFINE_SHOW_ATTRIBUTE() helper macro would be useful for current
users, which are many of them, and for new comers to decrease code
duplication.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/mfd/ab8500-debugfs.c    | 14 --------------
 drivers/platform/x86/pmc_atom.c | 14 --------------
 include/linux/seq_file.h        | 14 ++++++++++++++
 net/bluetooth/hci_debugfs.c     | 13 -------------
 4 files changed, 14 insertions(+), 41 deletions(-)

Comments

Lee Jones Jan. 23, 2018, 9:15 a.m. UTC | #1
On Mon, 22 Jan 2018, Andy Shevchenko wrote:

> The DEFINE_SHOW_ATTRIBUTE() helper macro would be useful for current
> users, which are many of them, and for new comers to decrease code
> duplication.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/mfd/ab8500-debugfs.c    | 14 --------------

Acked-by: Lee Jones <lee.jones@linaro.org>

>  drivers/platform/x86/pmc_atom.c | 14 --------------
>  include/linux/seq_file.h        | 14 ++++++++++++++
>  net/bluetooth/hci_debugfs.c     | 13 -------------
>  4 files changed, 14 insertions(+), 41 deletions(-)
Darren Hart Jan. 24, 2018, 12:05 a.m. UTC | #2
On Tue, Jan 23, 2018 at 09:15:08AM +0000, Lee Jones wrote:
> On Mon, 22 Jan 2018, Andy Shevchenko wrote:
> 
> > The DEFINE_SHOW_ATTRIBUTE() helper macro would be useful for current
> > users, which are many of them, and for new comers to decrease code
> > duplication.
> > 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> >  drivers/mfd/ab8500-debugfs.c    | 14 --------------
> 
> Acked-by: Lee Jones <lee.jones@linaro.org>

Thanks Andy,

Acked-by: Darren Hart (VMware) <dvhart@infradead.org>
Andy Shevchenko Jan. 24, 2018, 7:11 a.m. UTC | #3
On Tue, 2018-01-23 at 16:05 -0800, Darren Hart wrote:
> On Tue, Jan 23, 2018 at 09:15:08AM +0000, Lee Jones wrote:
> > On Mon, 22 Jan 2018, Andy Shevchenko wrote:
> > 
> > > The DEFINE_SHOW_ATTRIBUTE() helper macro would be useful for
> > > current
> > > users, which are many of them, and for new comers to decrease code
> > > duplication.
> > > 
> > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > > ---
> > >  drivers/mfd/ab8500-debugfs.c    | 14 --------------
> > 
> > Acked-by: Lee Jones <lee.jones@linaro.org>
> 
> Thanks Andy,
> 
> Acked-by: Darren Hart (VMware) <dvhart@infradead.org>

Just to clarify a bit.

Since the patch series is based on linux-next, the idea is to push it
and send as second PR to Linus, after others will be ready in mainline.

The rationale is to allow many other current users and perhaps new
comers, e.g. [1], to utilize it already in the next cycle.

[1]: https://patchwork.kernel.org/patch/10172393/
Lee Jones Jan. 24, 2018, 3:12 p.m. UTC | #4
On Wed, 24 Jan 2018, Andy Shevchenko wrote:

> On Tue, 2018-01-23 at 16:05 -0800, Darren Hart wrote:
> > On Tue, Jan 23, 2018 at 09:15:08AM +0000, Lee Jones wrote:
> > > On Mon, 22 Jan 2018, Andy Shevchenko wrote:
> > > 
> > > > The DEFINE_SHOW_ATTRIBUTE() helper macro would be useful for
> > > > current
> > > > users, which are many of them, and for new comers to decrease code
> > > > duplication.
> > > > 
> > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > > > ---
> > > >  drivers/mfd/ab8500-debugfs.c    | 14 --------------
> > > 
> > > Acked-by: Lee Jones <lee.jones@linaro.org>
> > 
> > Thanks Andy,
> > 
> > Acked-by: Darren Hart (VMware) <dvhart@infradead.org>
> 
> Just to clarify a bit.
> 
> Since the patch series is based on linux-next, the idea is to push it
> and send as second PR to Linus, after others will be ready in mainline.
> 
> The rationale is to allow many other current users and perhaps new
> comers, e.g. [1], to utilize it already in the next cycle.

You already have my Ack.  Knock yourself out.

> [1]: https://patchwork.kernel.org/patch/10172393/
Linus Walleij Feb. 7, 2018, 1:09 p.m. UTC | #5
On Mon, Jan 22, 2018 at 5:05 PM, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:

> The DEFINE_SHOW_ATTRIBUTE() helper macro would be useful for current
> users, which are many of them, and for new comers to decrease code
> duplication.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Obviously a good idea.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

Patch
diff mbox series

diff --git a/drivers/mfd/ab8500-debugfs.c b/drivers/mfd/ab8500-debugfs.c
index f66c458228ec..d878a599c87f 100644
--- a/drivers/mfd/ab8500-debugfs.c
+++ b/drivers/mfd/ab8500-debugfs.c
@@ -1258,20 +1258,6 @@  static struct ab8500_prcmu_ranges ab8540_debug_ranges[AB8500_NUM_BANKS] = {
 	},
 };
 
-#define DEFINE_SHOW_ATTRIBUTE(__name)					      \
-static int __name ## _open(struct inode *inode, struct file *file)	      \
-{									      \
-	return single_open(file, __name ## _show, inode->i_private);	      \
-}									      \
-									      \
-static const struct file_operations __name ## _fops = {			      \
-	.owner		= THIS_MODULE,					      \
-	.open		= __name ## _open,				      \
-	.read		= seq_read,					      \
-	.llseek		= seq_lseek,					      \
-	.release	= single_release,				      \
-}									      \
-
 static irqreturn_t ab8500_debug_handler(int irq, void *data)
 {
 	char buf[16];
diff --git a/drivers/platform/x86/pmc_atom.c b/drivers/platform/x86/pmc_atom.c
index 4b3c37b6288c..8f018b3f3cd4 100644
--- a/drivers/platform/x86/pmc_atom.c
+++ b/drivers/platform/x86/pmc_atom.c
@@ -208,20 +208,6 @@  static const struct pmc_data cht_data = {
 	.clks = cht_clks,
 };
 
-#define DEFINE_SHOW_ATTRIBUTE(__name)					\
-static int __name ## _open(struct inode *inode, struct file *file)	\
-{									\
-	return single_open(file, __name ## _show, inode->i_private);	\
-}									\
-									\
-static const struct file_operations __name ## _fops = {			\
-	.owner		= THIS_MODULE,					\
-	.open		= __name ## _open,				\
-	.read		= seq_read,					\
-	.llseek		= seq_lseek,					\
-	.release	= single_release,				\
-}
-
 static inline u32 pmc_reg_read(struct pmc_dev *pmc, int reg_offset)
 {
 	return readl(pmc->regmap + reg_offset);
diff --git a/include/linux/seq_file.h b/include/linux/seq_file.h
index 802e6944b6ce..11e051388f54 100644
--- a/include/linux/seq_file.h
+++ b/include/linux/seq_file.h
@@ -147,6 +147,20 @@  void *__seq_open_private(struct file *, const struct seq_operations *, int);
 int seq_open_private(struct file *, const struct seq_operations *, int);
 int seq_release_private(struct inode *, struct file *);
 
+#define DEFINE_SHOW_ATTRIBUTE(__name)					\
+static int __name ## _open(struct inode *inode, struct file *file)	\
+{									\
+	return single_open(file, __name ## _show, inode->i_private);	\
+}									\
+									\
+static const struct file_operations __name ## _fops = {			\
+	.owner		= THIS_MODULE,					\
+	.open		= __name ## _open,				\
+	.read		= seq_read,					\
+	.llseek		= seq_lseek,					\
+	.release	= single_release,				\
+}
+
 static inline struct user_namespace *seq_user_ns(struct seq_file *seq)
 {
 #ifdef CONFIG_USER_NS
diff --git a/net/bluetooth/hci_debugfs.c b/net/bluetooth/hci_debugfs.c
index 57403bd567d0..418b76e557b0 100644
--- a/net/bluetooth/hci_debugfs.c
+++ b/net/bluetooth/hci_debugfs.c
@@ -90,19 +90,6 @@  static int __name ## _show(struct seq_file *f, void *ptr)		      \
 									      \
 DEFINE_SHOW_ATTRIBUTE(__name)
 
-#define DEFINE_SHOW_ATTRIBUTE(__name)					      \
-static int __name ## _open(struct inode *inode, struct file *file)	      \
-{									      \
-	return single_open(file, __name ## _show, inode->i_private);	      \
-}									      \
-									      \
-static const struct file_operations __name ## _fops = {			      \
-	.open		= __name ## _open,				      \
-	.read		= seq_read,					      \
-	.llseek		= seq_lseek,					      \
-	.release	= single_release,				      \
-}									      \
-
 static int features_show(struct seq_file *f, void *ptr)
 {
 	struct hci_dev *hdev = f->private;