Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a08f06bb authored by Andy Shevchenko's avatar Andy Shevchenko
Browse files

seq_file: Introduce DEFINE_SHOW_ATTRIBUTE() helper macro



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.

Acked-by: default avatarLee Jones <lee.jones@linaro.org>
Acked-by: default avatarDarren Hart (VMware) <dvhart@infradead.org>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
parent a2e5790d
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
@@ -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];
+0 −14
Original line number Diff line number Diff line
@@ -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);
+14 −0
Original line number Diff line number Diff line
@@ -140,6 +140,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
+0 −13
Original line number Diff line number Diff line
@@ -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;