* [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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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-13 23:52 ` kernel test robot
2020-11-12 7:07 ` [PATCH v4 4/5] usb: dwc3: debugfs: Introduce DEFINE_SHOW_STORE_ATTRIBUTE Luo Jiaxing
` (3 subsequent siblings)
6 siblings, 1 reply; 14+ 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] 14+ 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; 14+ 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] 14+ 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
2020-11-13 11:26 ` kernel test robot
2020-11-14 5:12 ` kernel test robot
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, 2 replies; 14+ 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] 14+ messages in thread
* Re: [PATCH v4 5/5] drm/i915/display: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs
2020-11-12 7:07 ` [PATCH v4 5/5] drm/i915/display: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs Luo Jiaxing
@ 2020-11-13 11:26 ` kernel test robot
2020-11-14 5:12 ` kernel test robot
1 sibling, 0 replies; 14+ messages in thread
From: kernel test robot @ 2020-11-13 11:26 UTC (permalink / raw)
To: Luo Jiaxing, akpm, viro, andriy.shevchenko
Cc: kbuild-all, clang-built-linux, linux-kernel, martin.petersen,
john.garry, himanshu.madhani, felipe.balbi, gregkh, uma.shankar
[-- Attachment #1: Type: text/plain, Size: 2687 bytes --]
Hi Luo,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on mkp-scsi/for-next]
[also build test ERROR on scsi/for-next linus/master v5.10-rc3 next-20201112]
[cannot apply to hnaz-linux-mm/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Luo-Jiaxing/Introduce-a-new-helper-macro-DEFINE_SHOW_STORE_ATTRIBUTE-at-seq_file-c/20201112-150927
base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
config: x86_64-randconfig-a002-20201111 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project a7b65741441556d295079fc4f2391d99fd1c1111)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/c5417f366b929124a8b8a6add9b86653da6935a8
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Luo-Jiaxing/Introduce-a-new-helper-macro-DEFINE_SHOW_STORE_ATTRIBUTE-at-seq_file-c/20201112-150927
git checkout c5417f366b929124a8b8a6add9b86653da6935a8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:1788:1: error: redefinition of 'i915_hpd_short_storm_ctl_open'
DEFINE_SHOW_STORE_ATTRIBUTE(i915_hpd_short_storm_ctl);
^
include/linux/seq_file.h:195:12: note: expanded from macro 'DEFINE_SHOW_STORE_ATTRIBUTE'
static int __name ## _open(struct inode *inode, struct file *file) \
^
<scratch space>:154:1: note: expanded from here
i915_hpd_short_storm_ctl_open
^
drivers/gpu/drm/i915/display/intel_display_debugfs.c:1735:1: note: previous definition is here
i915_hpd_short_storm_ctl_open(struct inode *inode, struct file *file)
^
1 error generated.
vim +/i915_hpd_short_storm_ctl_open +1788 drivers/gpu/drm/i915/display/intel_display_debugfs.c
1787
> 1788 DEFINE_SHOW_STORE_ATTRIBUTE(i915_hpd_short_storm_ctl);
1789
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 34354 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v4 3/5] scsi: qla2xxx: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs
2020-11-12 7:07 ` [PATCH v4 3/5] scsi: qla2xxx: " Luo Jiaxing
@ 2020-11-13 23:52 ` kernel test robot
0 siblings, 0 replies; 14+ messages in thread
From: kernel test robot @ 2020-11-13 23:52 UTC (permalink / raw)
To: Luo Jiaxing, akpm, viro, andriy.shevchenko
Cc: kbuild-all, linux-kernel, martin.petersen, john.garry,
himanshu.madhani, felipe.balbi, gregkh, uma.shankar
[-- Attachment #1: Type: text/plain, Size: 4791 bytes --]
Hi Luo,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on mkp-scsi/for-next]
[also build test ERROR on scsi/for-next linus/master v5.10-rc3 next-20201113]
[cannot apply to hnaz-linux-mm/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Luo-Jiaxing/Introduce-a-new-helper-macro-DEFINE_SHOW_STORE_ATTRIBUTE-at-seq_file-c/20201112-150927
base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
config: x86_64-rhel (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/cdd2edc795fcbb643f104476d99a52d0e95bb229
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Luo-Jiaxing/Introduce-a-new-helper-macro-DEFINE_SHOW_STORE_ATTRIBUTE-at-seq_file-c/20201112-150927
git checkout cdd2edc795fcbb643f104476d99a52d0e95bb229
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/scsi/qla2xxx/qla_dfs.c: In function 'qla2x00_dfs_setup':
>> drivers/scsi/qla2xxx/qla_dfs.c:558:32: error: 'qla_dfs_naqp_ops' undeclared (first use in this function); did you mean 'qla_dfs_naqp_fops'?
558 | 0400, ha->dfs_dir, vha, &qla_dfs_naqp_ops);
| ^~~~~~~~~~~~~~~~
| qla_dfs_naqp_fops
drivers/scsi/qla2xxx/qla_dfs.c:558:32: note: each undeclared identifier is reported only once for each function it appears in
In file included from include/scsi/scsi_host.h:10,
from drivers/scsi/qla2xxx/qla_def.h:30,
from drivers/scsi/qla2xxx/qla_dfs.c:6:
At top level:
drivers/scsi/qla2xxx/qla_dfs.c:512:29: warning: 'qla_dfs_naqp_fops' defined but not used [-Wunused-const-variable=]
512 | DEFINE_SHOW_STORE_ATTRIBUTE(qla_dfs_naqp);
| ^~~~~~~~~~~~
include/linux/seq_file.h:200:37: note: in definition of macro 'DEFINE_SHOW_STORE_ATTRIBUTE'
200 | static const struct file_operations __name ## _fops = { \
| ^~~~~~
vim +558 drivers/scsi/qla2xxx/qla_dfs.c
513
514 int
515 qla2x00_dfs_setup(scsi_qla_host_t *vha)
516 {
517 struct qla_hw_data *ha = vha->hw;
518
519 if (!IS_QLA25XX(ha) && !IS_QLA81XX(ha) && !IS_QLA83XX(ha) &&
520 !IS_QLA27XX(ha) && !IS_QLA28XX(ha))
521 goto out;
522 if (!ha->fce)
523 goto out;
524
525 if (qla2x00_dfs_root)
526 goto create_dir;
527
528 atomic_set(&qla2x00_dfs_root_count, 0);
529 qla2x00_dfs_root = debugfs_create_dir(QLA2XXX_DRIVER_NAME, NULL);
530
531 create_dir:
532 if (ha->dfs_dir)
533 goto create_nodes;
534
535 mutex_init(&ha->fce_mutex);
536 ha->dfs_dir = debugfs_create_dir(vha->host_str, qla2x00_dfs_root);
537
538 atomic_inc(&qla2x00_dfs_root_count);
539
540 create_nodes:
541 ha->dfs_fw_resource_cnt = debugfs_create_file("fw_resource_count",
542 S_IRUSR, ha->dfs_dir, vha, &qla_dfs_fw_resource_cnt_fops);
543
544 ha->dfs_tgt_counters = debugfs_create_file("tgt_counters", S_IRUSR,
545 ha->dfs_dir, vha, &qla_dfs_tgt_counters_fops);
546
547 ha->tgt.dfs_tgt_port_database = debugfs_create_file("tgt_port_database",
548 S_IRUSR, ha->dfs_dir, vha, &qla2x00_dfs_tgt_port_database_fops);
549
550 ha->dfs_fce = debugfs_create_file("fce", S_IRUSR, ha->dfs_dir, vha,
551 &dfs_fce_ops);
552
553 ha->tgt.dfs_tgt_sess = debugfs_create_file("tgt_sess",
554 S_IRUSR, ha->dfs_dir, vha, &qla2x00_dfs_tgt_sess_fops);
555
556 if (IS_QLA27XX(ha) || IS_QLA83XX(ha) || IS_QLA28XX(ha)) {
557 ha->tgt.dfs_naqp = debugfs_create_file("naqp",
> 558 0400, ha->dfs_dir, vha, &qla_dfs_naqp_ops);
559 if (!ha->tgt.dfs_naqp) {
560 ql_log(ql_log_warn, vha, 0xd011,
561 "Unable to create debugFS naqp node.\n");
562 goto out;
563 }
564 }
565 vha->dfs_rport_root = debugfs_create_dir("rports", ha->dfs_dir);
566 if (!vha->dfs_rport_root) {
567 ql_log(ql_log_warn, vha, 0xd012,
568 "Unable to create debugFS rports node.\n");
569 goto out;
570 }
571 out:
572 return 0;
573 }
574
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 45908 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v4 5/5] drm/i915/display: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs
2020-11-12 7:07 ` [PATCH v4 5/5] drm/i915/display: Introduce DEFINE_SHOW_STORE_ATTRIBUTE for debugfs Luo Jiaxing
2020-11-13 11:26 ` kernel test robot
@ 2020-11-14 5:12 ` kernel test robot
1 sibling, 0 replies; 14+ messages in thread
From: kernel test robot @ 2020-11-14 5:12 UTC (permalink / raw)
To: Luo Jiaxing, akpm, viro, andriy.shevchenko
Cc: kbuild-all, linux-kernel, martin.petersen, john.garry,
himanshu.madhani, felipe.balbi, gregkh, uma.shankar
[-- Attachment #1: Type: text/plain, Size: 2630 bytes --]
Hi Luo,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on mkp-scsi/for-next]
[also build test ERROR on scsi/for-next linus/master v5.10-rc3 next-20201113]
[cannot apply to hnaz-linux-mm/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Luo-Jiaxing/Introduce-a-new-helper-macro-DEFINE_SHOW_STORE_ATTRIBUTE-at-seq_file-c/20201112-150927
base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
config: x86_64-rhel (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/c5417f366b929124a8b8a6add9b86653da6935a8
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Luo-Jiaxing/Introduce-a-new-helper-macro-DEFINE_SHOW_STORE_ATTRIBUTE-at-seq_file-c/20201112-150927
git checkout c5417f366b929124a8b8a6add9b86653da6935a8
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
In file included from include/drm/drm_debugfs.h:36,
from drivers/gpu/drm/i915/display/intel_display_debugfs.c:6:
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:1788:29: error: redefinition of 'i915_hpd_short_storm_ctl_open'
1788 | DEFINE_SHOW_STORE_ATTRIBUTE(i915_hpd_short_storm_ctl);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/seq_file.h:195:12: note: in definition of macro 'DEFINE_SHOW_STORE_ATTRIBUTE'
195 | static int __name ## _open(struct inode *inode, struct file *file) \
| ^~~~~~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:1735:1: note: previous definition of 'i915_hpd_short_storm_ctl_open' was here
1735 | i915_hpd_short_storm_ctl_open(struct inode *inode, struct file *file)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:1735:1: warning: 'i915_hpd_short_storm_ctl_open' defined but not used [-Wunused-function]
vim +/i915_hpd_short_storm_ctl_open +1788 drivers/gpu/drm/i915/display/intel_display_debugfs.c
1787
> 1788 DEFINE_SHOW_STORE_ATTRIBUTE(i915_hpd_short_storm_ctl);
1789
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 45908 bytes --]
^ permalink raw reply [flat|nested] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ 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; 14+ 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] 14+ messages in thread
end of thread, other threads:[~2023-09-04 7:12 UTC | newest]
Thread overview: 14+ 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-13 23:52 ` kernel test robot
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
2020-11-13 11:26 ` kernel test robot
2020-11-14 5:12 ` kernel test robot
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).