OSDN Git Service

platform/x86: samsung-laptop: Re-use DEFINE_SHOW_ATTRIBUTE() macro
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 22 Jan 2018 16:05:46 +0000 (18:05 +0200)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 7 Feb 2018 10:50:23 +0000 (12:50 +0200)
...instead of open coding file operations followed by custom ->open()
callbacks per each attribute.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/platform/x86/samsung-laptop.c

index d3cb26f..03305e0 100644 (file)
@@ -1252,7 +1252,7 @@ static int __init samsung_sysfs_init(struct samsung_laptop *samsung)
 
 }
 
-static int show_call(struct seq_file *m, void *data)
+static int samsung_laptop_call_show(struct seq_file *m, void *data)
 {
        struct samsung_laptop *samsung = m->private;
        struct sabi_data *sdata = &samsung->debug.data;
@@ -1274,19 +1274,7 @@ static int show_call(struct seq_file *m, void *data)
                   sdata->d0, sdata->d1, sdata->d2, sdata->d3);
        return 0;
 }
-
-static int samsung_debugfs_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, show_call, inode->i_private);
-}
-
-static const struct file_operations samsung_laptop_call_io_ops = {
-       .owner = THIS_MODULE,
-       .open = samsung_debugfs_open,
-       .read = seq_read,
-       .llseek = seq_lseek,
-       .release = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(samsung_laptop_call);
 
 static void samsung_debugfs_exit(struct samsung_laptop *samsung)
 {
@@ -1351,7 +1339,7 @@ static int samsung_debugfs_init(struct samsung_laptop *samsung)
 
        dent = debugfs_create_file("call", S_IFREG | S_IRUGO,
                                   samsung->debug.root, samsung,
-                                  &samsung_laptop_call_io_ops);
+                                  &samsung_laptop_call_fops);
        if (!dent)
                goto error_debugfs;