* [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c
@ 2020-11-12 7:07 Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 1/5] seq_file: Introduce DEFINE_SHOW_STORE_ATTRIBUTE() helper macro Luo Jiaxing
` (6 more replies)
0 siblings, 7 replies; 11+ messages in thread
From: Luo Jiaxing @ 2020-11-12 7:07 UTC (permalink / raw)
To: akpm, viro, andriy.shevchenko
Cc: linux-kernel, martin.petersen, john.garry, himanshu.madhani,
felipe.balbi, gregkh, uma.shankar, anshuman.gupta, animesh.manna,
linux-usb, linux-scsi, linuxarm
We already own DEFINE_SHOW_ATTRIBUTE() helper macro for defining attribute
for read-only file, but we found many of drivers also want a helper macro
for read-write file too.
So we add this macro to help decrease code duplication.
---
v1->v2:
1.Rename DEFINE_STORE_ATTRIBUTE() to DEFINE_SHOW_STORE_ATTRIBUTE().
2.AI Viro points out that he doesn't like the definition of macros
like DEFINE_SHOW_ATTRIBUTE.
v2->v3:
1.Fixed some spelling mistakes in commit.
2.Revision description are added for easy tracing.
v3->v4:
1.Add AI Viro's comment to v1->v2's revision description.
2.Fixed a spelling mistakes of "marco" to "macro".
---
Luo Jiaxing (5):
seq_file: Introduce DEFINE_SHOW_STORE_ATTRIBUTE() helper macro
scsi: hisi_sas: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs
scsi: qla2xxx: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs
usb: dwc3: debugfs: Introduce DEFINE_SHOW_STORE_ATTRIBUTE
drm/i915/display: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs
.../gpu/drm/i915/display/intel_display_debugfs.c | 55 +--------
drivers/scsi/hisi_sas/hisi_sas_main.c | 135 +++------------------
drivers/scsi/qla2xxx/qla_dfs.c | 19 +--
drivers/usb/dwc3/debugfs.c | 52 +-------
include/linux/seq_file.h | 15 +++
5 files changed, 41 insertions(+), 235 deletions(-)
--
2.7.4
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v4 1/5] seq_file: Introduce DEFINE_SHOW_STORE_ATTRIBUTE() helper macro
2020-11-12 7:07 [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c Luo Jiaxing
@ 2020-11-12 7:07 ` Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 2/5] scsi: hisi_sas: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs Luo Jiaxing
` (5 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Luo Jiaxing @ 2020-11-12 7:07 UTC (permalink / raw)
To: akpm, viro, andriy.shevchenko
Cc: linux-kernel, martin.petersen, john.garry, himanshu.madhani,
felipe.balbi, gregkh, uma.shankar, anshuman.gupta, animesh.manna,
linux-usb, linux-scsi, linuxarm
We already own DEFINE_SHOW_ATTRIBUTE() helper macro for defining attribute
for read-only file, but many of drivers want a helper macro for read-write
file too.
So we make one to decrease code duplication.
Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com>
---
include/linux/seq_file.h | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/include/linux/seq_file.h b/include/linux/seq_file.h
index 813614d..8a474c8 100644
--- a/include/linux/seq_file.h
+++ b/include/linux/seq_file.h
@@ -191,6 +191,21 @@ static const struct proc_ops __name ## _proc_ops = { \
.proc_release = single_release, \
}
+#define DEFINE_SHOW_STORE_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, \
+ .write = __name ## _write, \
+ .llseek = seq_lseek, \
+ .release = single_release, \
+}
+
static inline struct user_namespace *seq_user_ns(struct seq_file *seq)
{
#ifdef CONFIG_USER_NS
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v4 2/5] scsi: hisi_sas: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs
2020-11-12 7:07 [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 1/5] seq_file: Introduce DEFINE_SHOW_STORE_ATTRIBUTE() helper macro Luo Jiaxing
@ 2020-11-12 7:07 ` Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 3/5] scsi: qla2xxx: " Luo Jiaxing
` (4 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Luo Jiaxing @ 2020-11-12 7:07 UTC (permalink / raw)
To: akpm, viro, andriy.shevchenko
Cc: linux-kernel, martin.petersen, john.garry, himanshu.madhani,
felipe.balbi, gregkh, uma.shankar, anshuman.gupta, animesh.manna,
linux-usb, linux-scsi, linuxarm
Seq introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE for
Read-Write file, so we use it at our code to reduce some duplicated code.
Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com>
---
drivers/scsi/hisi_sas/hisi_sas_main.c | 135 ++++------------------------------
1 file changed, 16 insertions(+), 119 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 128583d..b8a6fc9 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -3403,22 +3403,7 @@ static ssize_t hisi_sas_debugfs_bist_linkrate_write(struct file *filp,
return count;
}
-
-static int hisi_sas_debugfs_bist_linkrate_open(struct inode *inode,
- struct file *filp)
-{
- return single_open(filp, hisi_sas_debugfs_bist_linkrate_show,
- inode->i_private);
-}
-
-static const struct file_operations hisi_sas_debugfs_bist_linkrate_ops = {
- .open = hisi_sas_debugfs_bist_linkrate_open,
- .read = seq_read,
- .write = hisi_sas_debugfs_bist_linkrate_write,
- .llseek = seq_lseek,
- .release = single_release,
- .owner = THIS_MODULE,
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(hisi_sas_debugfs_bist_linkrate);
static const struct {
int value;
@@ -3493,22 +3478,7 @@ static ssize_t hisi_sas_debugfs_bist_code_mode_write(struct file *filp,
return count;
}
-
-static int hisi_sas_debugfs_bist_code_mode_open(struct inode *inode,
- struct file *filp)
-{
- return single_open(filp, hisi_sas_debugfs_bist_code_mode_show,
- inode->i_private);
-}
-
-static const struct file_operations hisi_sas_debugfs_bist_code_mode_ops = {
- .open = hisi_sas_debugfs_bist_code_mode_open,
- .read = seq_read,
- .write = hisi_sas_debugfs_bist_code_mode_write,
- .llseek = seq_lseek,
- .release = single_release,
- .owner = THIS_MODULE,
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(hisi_sas_debugfs_bist_code_mode);
static ssize_t hisi_sas_debugfs_bist_phy_write(struct file *filp,
const char __user *buf,
@@ -3542,22 +3512,7 @@ static int hisi_sas_debugfs_bist_phy_show(struct seq_file *s, void *p)
return 0;
}
-
-static int hisi_sas_debugfs_bist_phy_open(struct inode *inode,
- struct file *filp)
-{
- return single_open(filp, hisi_sas_debugfs_bist_phy_show,
- inode->i_private);
-}
-
-static const struct file_operations hisi_sas_debugfs_bist_phy_ops = {
- .open = hisi_sas_debugfs_bist_phy_open,
- .read = seq_read,
- .write = hisi_sas_debugfs_bist_phy_write,
- .llseek = seq_lseek,
- .release = single_release,
- .owner = THIS_MODULE,
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(hisi_sas_debugfs_bist_phy);
static const struct {
int value;
@@ -3621,22 +3576,7 @@ static ssize_t hisi_sas_debugfs_bist_mode_write(struct file *filp,
return count;
}
-
-static int hisi_sas_debugfs_bist_mode_open(struct inode *inode,
- struct file *filp)
-{
- return single_open(filp, hisi_sas_debugfs_bist_mode_show,
- inode->i_private);
-}
-
-static const struct file_operations hisi_sas_debugfs_bist_mode_ops = {
- .open = hisi_sas_debugfs_bist_mode_open,
- .read = seq_read,
- .write = hisi_sas_debugfs_bist_mode_write,
- .llseek = seq_lseek,
- .release = single_release,
- .owner = THIS_MODULE,
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(hisi_sas_debugfs_bist_mode);
static ssize_t hisi_sas_debugfs_bist_enable_write(struct file *filp,
const char __user *buf,
@@ -3677,22 +3617,7 @@ static int hisi_sas_debugfs_bist_enable_show(struct seq_file *s, void *p)
return 0;
}
-
-static int hisi_sas_debugfs_bist_enable_open(struct inode *inode,
- struct file *filp)
-{
- return single_open(filp, hisi_sas_debugfs_bist_enable_show,
- inode->i_private);
-}
-
-static const struct file_operations hisi_sas_debugfs_bist_enable_ops = {
- .open = hisi_sas_debugfs_bist_enable_open,
- .read = seq_read,
- .write = hisi_sas_debugfs_bist_enable_write,
- .llseek = seq_lseek,
- .release = single_release,
- .owner = THIS_MODULE,
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(hisi_sas_debugfs_bist_enable);
static const struct {
char *name;
@@ -3730,21 +3655,7 @@ static int hisi_sas_debugfs_show(struct seq_file *s, void *p)
return 0;
}
-
-static int hisi_sas_debugfs_open(struct inode *inode, struct file *filp)
-{
- return single_open(filp, hisi_sas_debugfs_show,
- inode->i_private);
-}
-
-static const struct file_operations hisi_sas_debugfs_ops = {
- .open = hisi_sas_debugfs_open,
- .read = seq_read,
- .write = hisi_sas_debugfs_write,
- .llseek = seq_lseek,
- .release = single_release,
- .owner = THIS_MODULE,
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(hisi_sas_debugfs);
static ssize_t hisi_sas_debugfs_phy_down_cnt_write(struct file *filp,
const char __user *buf,
@@ -3776,21 +3687,7 @@ static int hisi_sas_debugfs_phy_down_cnt_show(struct seq_file *s, void *p)
return 0;
}
-static int hisi_sas_debugfs_phy_down_cnt_open(struct inode *inode,
- struct file *filp)
-{
- return single_open(filp, hisi_sas_debugfs_phy_down_cnt_show,
- inode->i_private);
-}
-
-static const struct file_operations hisi_sas_debugfs_phy_down_cnt_ops = {
- .open = hisi_sas_debugfs_phy_down_cnt_open,
- .read = seq_read,
- .write = hisi_sas_debugfs_phy_down_cnt_write,
- .llseek = seq_lseek,
- .release = single_release,
- .owner = THIS_MODULE,
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(hisi_sas_debugfs_phy_down_cnt);
void hisi_sas_debugfs_work_handler(struct work_struct *work)
{
@@ -3937,7 +3834,7 @@ static void hisi_sas_debugfs_phy_down_cnt_init(struct hisi_hba *hisi_hba)
snprintf(name, 16, "%d", phy_no);
debugfs_create_file(name, 0600, dir,
&hisi_hba->phy[phy_no],
- &hisi_sas_debugfs_phy_down_cnt_ops);
+ &hisi_sas_debugfs_phy_down_cnt_fops);
}
}
@@ -3950,34 +3847,34 @@ static void hisi_sas_debugfs_bist_init(struct hisi_hba *hisi_hba)
debugfs_create_dir("bist", hisi_hba->debugfs_dir);
debugfs_create_file("link_rate", 0600,
hisi_hba->debugfs_bist_dentry, hisi_hba,
- &hisi_sas_debugfs_bist_linkrate_ops);
+ &hisi_sas_debugfs_bist_linkrate_fops);
debugfs_create_file("code_mode", 0600,
hisi_hba->debugfs_bist_dentry, hisi_hba,
- &hisi_sas_debugfs_bist_code_mode_ops);
+ &hisi_sas_debugfs_bist_code_mode_fops);
debugfs_create_file("fixed_code", 0600,
hisi_hba->debugfs_bist_dentry,
&hisi_hba->debugfs_bist_fixed_code[0],
- &hisi_sas_debugfs_ops);
+ &hisi_sas_debugfs_fops);
debugfs_create_file("fixed_code_1", 0600,
hisi_hba->debugfs_bist_dentry,
&hisi_hba->debugfs_bist_fixed_code[1],
- &hisi_sas_debugfs_ops);
+ &hisi_sas_debugfs_fops);
debugfs_create_file("phy_id", 0600, hisi_hba->debugfs_bist_dentry,
- hisi_hba, &hisi_sas_debugfs_bist_phy_ops);
+ hisi_hba, &hisi_sas_debugfs_bist_phy_fops);
debugfs_create_u32("cnt", 0600, hisi_hba->debugfs_bist_dentry,
&hisi_hba->debugfs_bist_cnt);
debugfs_create_file("loopback_mode", 0600,
hisi_hba->debugfs_bist_dentry,
- hisi_hba, &hisi_sas_debugfs_bist_mode_ops);
+ hisi_hba, &hisi_sas_debugfs_bist_mode_fops);
debugfs_create_file("enable", 0600, hisi_hba->debugfs_bist_dentry,
- hisi_hba, &hisi_sas_debugfs_bist_enable_ops);
+ hisi_hba, &hisi_sas_debugfs_bist_enable_fops);
ports_dentry = debugfs_create_dir("port", hisi_hba->debugfs_bist_dentry);
@@ -3996,7 +3893,7 @@ static void hisi_sas_debugfs_bist_init(struct hisi_hba *hisi_hba)
debugfs_create_file(hisi_sas_debugfs_ffe_name[i].name,
0600, ffe_dentry,
&hisi_hba->debugfs_bist_ffe[phy_no][i],
- &hisi_sas_debugfs_ops);
+ &hisi_sas_debugfs_fops);
}
}
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v4 3/5] scsi: qla2xxx: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs
2020-11-12 7:07 [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 1/5] seq_file: Introduce DEFINE_SHOW_STORE_ATTRIBUTE() helper macro Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 2/5] scsi: hisi_sas: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs Luo Jiaxing
@ 2020-11-12 7:07 ` Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 4/5] usb: dwc3: debugfs: Introduce DEFINE_SHOW_STORE_ATTRIBUTE Luo Jiaxing
` (3 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Luo Jiaxing @ 2020-11-12 7:07 UTC (permalink / raw)
To: akpm, viro, andriy.shevchenko
Cc: linux-kernel, martin.petersen, john.garry, himanshu.madhani,
felipe.balbi, gregkh, uma.shankar, anshuman.gupta, animesh.manna,
linux-usb, linux-scsi, linuxarm
Seq introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE for
Read-Write file, so we apply it at qla2xxx to reduce some duplicated code.
Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com>
---
drivers/scsi/qla2xxx/qla_dfs.c | 19 ++-----------------
1 file changed, 2 insertions(+), 17 deletions(-)
diff --git a/drivers/scsi/qla2xxx/qla_dfs.c b/drivers/scsi/qla2xxx/qla_dfs.c
index f89ad32..a5de808 100644
--- a/drivers/scsi/qla2xxx/qla_dfs.c
+++ b/drivers/scsi/qla2xxx/qla_dfs.c
@@ -513,14 +513,6 @@ qla_dfs_naqp_show(struct seq_file *s, void *unused)
return 0;
}
-static int
-qla_dfs_naqp_open(struct inode *inode, struct file *file)
-{
- struct scsi_qla_host *vha = inode->i_private;
-
- return single_open(file, qla_dfs_naqp_show, vha);
-}
-
static ssize_t
qla_dfs_naqp_write(struct file *file, const char __user *buffer,
size_t count, loff_t *pos)
@@ -569,14 +561,7 @@ qla_dfs_naqp_write(struct file *file, const char __user *buffer,
return rc;
}
-static const struct file_operations dfs_naqp_ops = {
- .open = qla_dfs_naqp_open,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = single_release,
- .write = qla_dfs_naqp_write,
-};
-
+DEFINE_SHOW_STORE_ATTRIBUTE(qla_dfs_naqp);
int
qla2x00_dfs_setup(scsi_qla_host_t *vha)
@@ -622,7 +607,7 @@ qla2x00_dfs_setup(scsi_qla_host_t *vha)
if (IS_QLA27XX(ha) || IS_QLA83XX(ha) || IS_QLA28XX(ha)) {
ha->tgt.dfs_naqp = debugfs_create_file("naqp",
- 0400, ha->dfs_dir, vha, &dfs_naqp_ops);
+ 0400, ha->dfs_dir, vha, &qla_dfs_naqp_ops);
if (!ha->tgt.dfs_naqp) {
ql_log(ql_log_warn, vha, 0xd011,
"Unable to create debugFS naqp node.\n");
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v4 4/5] usb: dwc3: debugfs: Introduce DEFINE_SHOW_STORE_ATTRIBUTE
2020-11-12 7:07 [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c Luo Jiaxing
` (2 preceding siblings ...)
2020-11-12 7:07 ` [PATCH v4 3/5] scsi: qla2xxx: " Luo Jiaxing
@ 2020-11-12 7:07 ` Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 5/5] drm/i915/display: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs Luo Jiaxing
` (2 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Luo Jiaxing @ 2020-11-12 7:07 UTC (permalink / raw)
To: akpm, viro, andriy.shevchenko
Cc: linux-kernel, martin.petersen, john.garry, himanshu.madhani,
felipe.balbi, gregkh, uma.shankar, anshuman.gupta, animesh.manna,
linux-usb, linux-scsi, linuxarm
Seq introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE for
Read-Write file, so we apply it at dwc3 debugfs to reduce some duplicated
code.
While at that, also use DEFINE_SHOW_ATTRIBUTE() where possible.
Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com>
Acked-by: Felipe Balbi <balbi@kernel.org>
---
drivers/usb/dwc3/debugfs.c | 52 ++++------------------------------------------
1 file changed, 4 insertions(+), 48 deletions(-)
diff --git a/drivers/usb/dwc3/debugfs.c b/drivers/usb/dwc3/debugfs.c
index 5da4f60..2b5de8d 100644
--- a/drivers/usb/dwc3/debugfs.c
+++ b/drivers/usb/dwc3/debugfs.c
@@ -348,11 +348,6 @@ static int dwc3_lsp_show(struct seq_file *s, void *unused)
return 0;
}
-static int dwc3_lsp_open(struct inode *inode, struct file *file)
-{
- return single_open(file, dwc3_lsp_show, inode->i_private);
-}
-
static ssize_t dwc3_lsp_write(struct file *file, const char __user *ubuf,
size_t count, loff_t *ppos)
{
@@ -377,13 +372,7 @@ static ssize_t dwc3_lsp_write(struct file *file, const char __user *ubuf,
return count;
}
-static const struct file_operations dwc3_lsp_fops = {
- .open = dwc3_lsp_open,
- .write = dwc3_lsp_write,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = single_release,
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(dwc3_lsp);
static int dwc3_mode_show(struct seq_file *s, void *unused)
{
@@ -412,11 +401,6 @@ static int dwc3_mode_show(struct seq_file *s, void *unused)
return 0;
}
-static int dwc3_mode_open(struct inode *inode, struct file *file)
-{
- return single_open(file, dwc3_mode_show, inode->i_private);
-}
-
static ssize_t dwc3_mode_write(struct file *file,
const char __user *ubuf, size_t count, loff_t *ppos)
{
@@ -445,13 +429,7 @@ static ssize_t dwc3_mode_write(struct file *file,
return count;
}
-static const struct file_operations dwc3_mode_fops = {
- .open = dwc3_mode_open,
- .write = dwc3_mode_write,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = single_release,
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(dwc3_mode);
static int dwc3_testmode_show(struct seq_file *s, void *unused)
{
@@ -491,11 +469,6 @@ static int dwc3_testmode_show(struct seq_file *s, void *unused)
return 0;
}
-static int dwc3_testmode_open(struct inode *inode, struct file *file)
-{
- return single_open(file, dwc3_testmode_show, inode->i_private);
-}
-
static ssize_t dwc3_testmode_write(struct file *file,
const char __user *ubuf, size_t count, loff_t *ppos)
{
@@ -528,13 +501,7 @@ static ssize_t dwc3_testmode_write(struct file *file,
return count;
}
-static const struct file_operations dwc3_testmode_fops = {
- .open = dwc3_testmode_open,
- .write = dwc3_testmode_write,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = single_release,
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(dwc3_testmode);
static int dwc3_link_state_show(struct seq_file *s, void *unused)
{
@@ -564,11 +531,6 @@ static int dwc3_link_state_show(struct seq_file *s, void *unused)
return 0;
}
-static int dwc3_link_state_open(struct inode *inode, struct file *file)
-{
- return single_open(file, dwc3_link_state_show, inode->i_private);
-}
-
static ssize_t dwc3_link_state_write(struct file *file,
const char __user *ubuf, size_t count, loff_t *ppos)
{
@@ -620,13 +582,7 @@ static ssize_t dwc3_link_state_write(struct file *file,
return count;
}
-static const struct file_operations dwc3_link_state_fops = {
- .open = dwc3_link_state_open,
- .write = dwc3_link_state_write,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = single_release,
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(dwc3_link_state);
struct dwc3_ep_file_map {
const char name[25];
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v4 5/5] drm/i915/display: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs
2020-11-12 7:07 [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c Luo Jiaxing
` (3 preceding siblings ...)
2020-11-12 7:07 ` [PATCH v4 4/5] usb: dwc3: debugfs: Introduce DEFINE_SHOW_STORE_ATTRIBUTE Luo Jiaxing
@ 2020-11-12 7:07 ` Luo Jiaxing
2023-06-28 10:40 ` [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c Andy Shevchenko
2023-08-31 18:19 ` Andy Shevchenko
6 siblings, 0 replies; 11+ messages in thread
From: Luo Jiaxing @ 2020-11-12 7:07 UTC (permalink / raw)
To: akpm, viro, andriy.shevchenko
Cc: linux-kernel, martin.petersen, john.garry, himanshu.madhani,
felipe.balbi, gregkh, uma.shankar, anshuman.gupta, animesh.manna,
linux-usb, linux-scsi, linuxarm
Seq introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE for
Read-Write file, so we apply it at drm/i915/display to reduce some
duplicated code.
Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com>
---
.../gpu/drm/i915/display/intel_display_debugfs.c | 55 ++--------------------
1 file changed, 4 insertions(+), 51 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 0bf31f9..8bf839f 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -1329,21 +1329,7 @@ static int i915_displayport_test_active_show(struct seq_file *m, void *data)
return 0;
}
-static int i915_displayport_test_active_open(struct inode *inode,
- struct file *file)
-{
- return single_open(file, i915_displayport_test_active_show,
- inode->i_private);
-}
-
-static const struct file_operations i915_displayport_test_active_fops = {
- .owner = THIS_MODULE,
- .open = i915_displayport_test_active_open,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = single_release,
- .write = i915_displayport_test_active_write
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(i915_displayport_test_active);
static int i915_displayport_test_data_show(struct seq_file *m, void *data)
{
@@ -1733,19 +1719,7 @@ static ssize_t i915_hpd_storm_ctl_write(struct file *file,
return len;
}
-static int i915_hpd_storm_ctl_open(struct inode *inode, struct file *file)
-{
- return single_open(file, i915_hpd_storm_ctl_show, inode->i_private);
-}
-
-static const struct file_operations i915_hpd_storm_ctl_fops = {
- .owner = THIS_MODULE,
- .open = i915_hpd_storm_ctl_open,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = single_release,
- .write = i915_hpd_storm_ctl_write
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(i915_hpd_storm_ctl);
static int i915_hpd_short_storm_ctl_show(struct seq_file *m, void *data)
{
@@ -1811,14 +1785,7 @@ static ssize_t i915_hpd_short_storm_ctl_write(struct file *file,
return len;
}
-static const struct file_operations i915_hpd_short_storm_ctl_fops = {
- .owner = THIS_MODULE,
- .open = i915_hpd_short_storm_ctl_open,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = single_release,
- .write = i915_hpd_short_storm_ctl_write,
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(i915_hpd_short_storm_ctl);
static int i915_drrs_ctl_set(void *data, u64 val)
{
@@ -2181,21 +2148,7 @@ static ssize_t i915_dsc_fec_support_write(struct file *file,
return len;
}
-static int i915_dsc_fec_support_open(struct inode *inode,
- struct file *file)
-{
- return single_open(file, i915_dsc_fec_support_show,
- inode->i_private);
-}
-
-static const struct file_operations i915_dsc_fec_support_fops = {
- .owner = THIS_MODULE,
- .open = i915_dsc_fec_support_open,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = single_release,
- .write = i915_dsc_fec_support_write
-};
+DEFINE_SHOW_STORE_ATTRIBUTE(i915_dsc_fec_support);
/**
* intel_connector_debugfs_add - add i915 specific connector debugfs files
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c
2020-11-12 7:07 [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c Luo Jiaxing
` (4 preceding siblings ...)
2020-11-12 7:07 ` [PATCH v4 5/5] drm/i915/display: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs Luo Jiaxing
@ 2023-06-28 10:40 ` Andy Shevchenko
2023-08-31 18:19 ` Andy Shevchenko
6 siblings, 0 replies; 11+ messages in thread
From: Andy Shevchenko @ 2023-06-28 10:40 UTC (permalink / raw)
To: Luo Jiaxing, Wojciech Ziemba
Cc: akpm, viro, linux-kernel, martin.petersen, john.garry,
himanshu.madhani, gregkh, uma.shankar, anshuman.gupta,
animesh.manna, linux-usb, linux-scsi, linuxarm
On Thu, Nov 12, 2020 at 03:07:38PM +0800, Luo Jiaxing wrote:
> We already own DEFINE_SHOW_ATTRIBUTE() helper macro for defining attribute
> for read-only file, but we found many of drivers also want a helper macro
> for read-write file too.
>
> So we add this macro to help decrease code duplication.
Is it abandoned?
Besides kbuildbot complains, can you simply reduce the scope to one subsystem
and resend?
Let's say USB is nice one and it has no issues according to kbuildbot.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c
2020-11-12 7:07 [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c Luo Jiaxing
` (5 preceding siblings ...)
2023-06-28 10:40 ` [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c Andy Shevchenko
@ 2023-08-31 18:19 ` Andy Shevchenko
2023-09-01 7:11 ` yangxingui
6 siblings, 1 reply; 11+ messages in thread
From: Andy Shevchenko @ 2023-08-31 18:19 UTC (permalink / raw)
To: Luo Jiaxing
Cc: akpm, viro, linux-kernel, martin.petersen, john.garry,
himanshu.madhani, felipe.balbi, gregkh, uma.shankar,
anshuman.gupta, animesh.manna, linux-usb, linux-scsi, linuxarm
On Thu, Nov 12, 2020 at 03:07:38PM +0800, Luo Jiaxing wrote:
> We already own DEFINE_SHOW_ATTRIBUTE() helper macro for defining attribute
> for read-only file, but we found many of drivers also want a helper macro
> for read-write file too.
>
> So we add this macro to help decrease code duplication.
Are you going to pursue this one?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c
2023-08-31 18:19 ` Andy Shevchenko
@ 2023-09-01 7:11 ` yangxingui
2023-09-01 8:54 ` Andy Shevchenko
0 siblings, 1 reply; 11+ messages in thread
From: yangxingui @ 2023-09-01 7:11 UTC (permalink / raw)
To: Andy Shevchenko, Luo Jiaxing
Cc: akpm, viro, linux-kernel, martin.petersen, john.garry,
himanshu.madhani, felipe.balbi, gregkh, uma.shankar,
anshuman.gupta, animesh.manna, linux-usb, linux-scsi, linuxarm
On 2023/9/1 2:19, Andy Shevchenko wrote:
> On Thu, Nov 12, 2020 at 03:07:38PM +0800, Luo Jiaxing wrote:
>> We already own DEFINE_SHOW_ATTRIBUTE() helper macro for defining attribute
>> for read-only file, but we found many of drivers also want a helper macro
>> for read-write file too.
>>
>> So we add this macro to help decrease code duplication.
>
> Are you going to pursue this one?
Hi Andy
Jiaxing has left his job, and his email is invalid.
Thanks,
Xingui
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c
2023-09-01 7:11 ` yangxingui
@ 2023-09-01 8:54 ` Andy Shevchenko
2023-09-04 7:12 ` yangxingui
0 siblings, 1 reply; 11+ messages in thread
From: Andy Shevchenko @ 2023-09-01 8:54 UTC (permalink / raw)
To: yangxingui
Cc: Luo Jiaxing, akpm, viro, linux-kernel, martin.petersen,
john.garry, himanshu.madhani, felipe.balbi, gregkh, uma.shankar,
anshuman.gupta, animesh.manna, linux-usb, linux-scsi, linuxarm
On Fri, Sep 01, 2023 at 03:11:38PM +0800, yangxingui wrote:
> On 2023/9/1 2:19, Andy Shevchenko wrote:
> > On Thu, Nov 12, 2020 at 03:07:38PM +0800, Luo Jiaxing wrote:
> > > We already own DEFINE_SHOW_ATTRIBUTE() helper macro for defining attribute
> > > for read-only file, but we found many of drivers also want a helper macro
> > > for read-write file too.
> > >
> > > So we add this macro to help decrease code duplication.
> >
> > Are you going to pursue this one?
> Hi Andy
>
> Jiaxing has left his job, and his email is invalid.
OK! Anybody else to continue this to be finished?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c
2023-09-01 8:54 ` Andy Shevchenko
@ 2023-09-04 7:12 ` yangxingui
0 siblings, 0 replies; 11+ messages in thread
From: yangxingui @ 2023-09-04 7:12 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Luo Jiaxing, akpm, viro, linux-kernel, martin.petersen,
john.garry, himanshu.madhani, felipe.balbi, gregkh, uma.shankar,
anshuman.gupta, animesh.manna, linux-usb, linux-scsi, linuxarm
On 2023/9/1 16:54, Andy Shevchenko wrote:
> On Fri, Sep 01, 2023 at 03:11:38PM +0800, yangxingui wrote:
>> On 2023/9/1 2:19, Andy Shevchenko wrote:
>>> On Thu, Nov 12, 2020 at 03:07:38PM +0800, Luo Jiaxing wrote:
>>>> We already own DEFINE_SHOW_ATTRIBUTE() helper macro for defining attribute
>>>> for read-only file, but we found many of drivers also want a helper macro
>>>> for read-write file too.
>>>>
>>>> So we add this macro to help decrease code duplication.
>>>
>>> Are you going to pursue this one?
>> Hi Andy
>>
>> Jiaxing has left his job, and his email is invalid.
>
> OK! Anybody else to continue this to be finished?
I'll continue to do this for him. Thank you for your attention and
advice. We'll apply it only to the scsi subsystem first.
Thanks.
Xingui
>
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2023-09-04 7:12 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-12 7:07 [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 1/5] seq_file: Introduce DEFINE_SHOW_STORE_ATTRIBUTE() helper macro Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 2/5] scsi: hisi_sas: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 3/5] scsi: qla2xxx: " Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 4/5] usb: dwc3: debugfs: Introduce DEFINE_SHOW_STORE_ATTRIBUTE Luo Jiaxing
2020-11-12 7:07 ` [PATCH v4 5/5] drm/i915/display: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs Luo Jiaxing
2023-06-28 10:40 ` [PATCH v4 0/5] Introduce a new helper macro DEFINE_SHOW_STORE_ATTRIBUTE at seq_file.c Andy Shevchenko
2023-08-31 18:19 ` Andy Shevchenko
2023-09-01 7:11 ` yangxingui
2023-09-01 8:54 ` Andy Shevchenko
2023-09-04 7:12 ` yangxingui
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).