Re: [PATCH -next] memory: Convert to DEFINE_SHOW_ATTRIBUTE

From: miaoqinglang
Date: Sun Jul 19 2020 - 22:02:29 EST




å 2020/7/18 5:14, Pavel Machek åé:
On Thu 2020-07-16 17:03:03, Qinglang Miao wrote:
From: Yongqiang Liu <liuyongqiang13@xxxxxxxxxx>

Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code.

Signed-off-by: Yongqiang Liu <liuyongqiang13@xxxxxxxxxx>
---
drivers/memory/emif.c | 22 ++--------------------
drivers/memory/tegra/tegra124-emc.c | 14 +-------------
2 files changed, 3 insertions(+), 33 deletions(-)

diff --git a/drivers/memory/emif.c b/drivers/memory/emif.c
index 58a82eea5..aab8ddad7 100644
--- a/drivers/memory/emif.c
+++ b/drivers/memory/emif.c
@@ -131,16 +131,7 @@ static int emif_regdump_show(struct seq_file *s, void *unused)
return 0;
}
-static int emif_regdump_open(struct inode *inode, struct file *file)
-{
- return single_open(file, emif_regdump_show, inode->i_private);
-}
-
-static const struct file_operations emif_regdump_fops = {
- .open = emif_regdump_open,
- .read_iter = seq_read_iter,
- .release = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(emif_regdump);

This is not equivalent (and I guess changelog should mention that).

Along with other changes, we get:

.owner = THIS_MODULE,
.llseek = seq_lseek,

. Is that okay thing to add?
Pavel

Hi Pavel,

âYou're right, I should of mention it in changelog.

âThere's no impact theoretically with these two changes. Here's my thoughs:

1. The llseek method is used to change the current read/write position in a file which can be ignored if you don't use it.
2. The owner is not even a method. Instead, it is a pointer to the module that âownsâ this structure; it is used by the kernel to maintain the module's usage count which I believe can be ignored.

If you don't mind I can send a new patch with more specific changelog.

âThanks.

Qinglang

.