Commit b5520891 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Linus Walleij

pinctrl: Re-use DEFINE_SHOW_ATTRIBUTE() macro

...instead of open coding file operations followed by custom ->open()
callbacks per each attribute.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent ce3e7f0e
...@@ -1586,6 +1586,7 @@ static int pinctrl_pins_show(struct seq_file *s, void *what) ...@@ -1586,6 +1586,7 @@ static int pinctrl_pins_show(struct seq_file *s, void *what)
return 0; return 0;
} }
DEFINE_SHOW_ATTRIBUTE(pinctrl_pins);
static int pinctrl_groups_show(struct seq_file *s, void *what) static int pinctrl_groups_show(struct seq_file *s, void *what)
{ {
...@@ -1631,6 +1632,7 @@ static int pinctrl_groups_show(struct seq_file *s, void *what) ...@@ -1631,6 +1632,7 @@ static int pinctrl_groups_show(struct seq_file *s, void *what)
return 0; return 0;
} }
DEFINE_SHOW_ATTRIBUTE(pinctrl_groups);
static int pinctrl_gpioranges_show(struct seq_file *s, void *what) static int pinctrl_gpioranges_show(struct seq_file *s, void *what)
{ {
...@@ -1664,6 +1666,7 @@ static int pinctrl_gpioranges_show(struct seq_file *s, void *what) ...@@ -1664,6 +1666,7 @@ static int pinctrl_gpioranges_show(struct seq_file *s, void *what)
return 0; return 0;
} }
DEFINE_SHOW_ATTRIBUTE(pinctrl_gpioranges);
static int pinctrl_devices_show(struct seq_file *s, void *what) static int pinctrl_devices_show(struct seq_file *s, void *what)
{ {
...@@ -1690,6 +1693,7 @@ static int pinctrl_devices_show(struct seq_file *s, void *what) ...@@ -1690,6 +1693,7 @@ static int pinctrl_devices_show(struct seq_file *s, void *what)
return 0; return 0;
} }
DEFINE_SHOW_ATTRIBUTE(pinctrl_devices);
static inline const char *map_type(enum pinctrl_map_type type) static inline const char *map_type(enum pinctrl_map_type type)
{ {
...@@ -1743,6 +1747,7 @@ static int pinctrl_maps_show(struct seq_file *s, void *what) ...@@ -1743,6 +1747,7 @@ static int pinctrl_maps_show(struct seq_file *s, void *what)
return 0; return 0;
} }
DEFINE_SHOW_ATTRIBUTE(pinctrl_maps);
static int pinctrl_show(struct seq_file *s, void *what) static int pinctrl_show(struct seq_file *s, void *what)
{ {
...@@ -1788,78 +1793,7 @@ static int pinctrl_show(struct seq_file *s, void *what) ...@@ -1788,78 +1793,7 @@ static int pinctrl_show(struct seq_file *s, void *what)
return 0; return 0;
} }
DEFINE_SHOW_ATTRIBUTE(pinctrl);
static int pinctrl_pins_open(struct inode *inode, struct file *file)
{
return single_open(file, pinctrl_pins_show, inode->i_private);
}
static int pinctrl_groups_open(struct inode *inode, struct file *file)
{
return single_open(file, pinctrl_groups_show, inode->i_private);
}
static int pinctrl_gpioranges_open(struct inode *inode, struct file *file)
{
return single_open(file, pinctrl_gpioranges_show, inode->i_private);
}
static int pinctrl_devices_open(struct inode *inode, struct file *file)
{
return single_open(file, pinctrl_devices_show, NULL);
}
static int pinctrl_maps_open(struct inode *inode, struct file *file)
{
return single_open(file, pinctrl_maps_show, NULL);
}
static int pinctrl_open(struct inode *inode, struct file *file)
{
return single_open(file, pinctrl_show, NULL);
}
static const struct file_operations pinctrl_pins_ops = {
.open = pinctrl_pins_open,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};
static const struct file_operations pinctrl_groups_ops = {
.open = pinctrl_groups_open,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};
static const struct file_operations pinctrl_gpioranges_ops = {
.open = pinctrl_gpioranges_open,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};
static const struct file_operations pinctrl_devices_ops = {
.open = pinctrl_devices_open,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};
static const struct file_operations pinctrl_maps_ops = {
.open = pinctrl_maps_open,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};
static const struct file_operations pinctrl_ops = {
.open = pinctrl_open,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};
static struct dentry *debugfs_root; static struct dentry *debugfs_root;
...@@ -1891,11 +1825,11 @@ static void pinctrl_init_device_debugfs(struct pinctrl_dev *pctldev) ...@@ -1891,11 +1825,11 @@ static void pinctrl_init_device_debugfs(struct pinctrl_dev *pctldev)
return; return;
} }
debugfs_create_file("pins", S_IFREG | S_IRUGO, debugfs_create_file("pins", S_IFREG | S_IRUGO,
device_root, pctldev, &pinctrl_pins_ops); device_root, pctldev, &pinctrl_pins_fops);
debugfs_create_file("pingroups", S_IFREG | S_IRUGO, debugfs_create_file("pingroups", S_IFREG | S_IRUGO,
device_root, pctldev, &pinctrl_groups_ops); device_root, pctldev, &pinctrl_groups_fops);
debugfs_create_file("gpio-ranges", S_IFREG | S_IRUGO, debugfs_create_file("gpio-ranges", S_IFREG | S_IRUGO,
device_root, pctldev, &pinctrl_gpioranges_ops); device_root, pctldev, &pinctrl_gpioranges_fops);
if (pctldev->desc->pmxops) if (pctldev->desc->pmxops)
pinmux_init_device_debugfs(device_root, pctldev); pinmux_init_device_debugfs(device_root, pctldev);
if (pctldev->desc->confops) if (pctldev->desc->confops)
...@@ -1917,11 +1851,11 @@ static void pinctrl_init_debugfs(void) ...@@ -1917,11 +1851,11 @@ static void pinctrl_init_debugfs(void)
} }
debugfs_create_file("pinctrl-devices", S_IFREG | S_IRUGO, debugfs_create_file("pinctrl-devices", S_IFREG | S_IRUGO,
debugfs_root, NULL, &pinctrl_devices_ops); debugfs_root, NULL, &pinctrl_devices_fops);
debugfs_create_file("pinctrl-maps", S_IFREG | S_IRUGO, debugfs_create_file("pinctrl-maps", S_IFREG | S_IRUGO,
debugfs_root, NULL, &pinctrl_maps_ops); debugfs_root, NULL, &pinctrl_maps_fops);
debugfs_create_file("pinctrl-handles", S_IFREG | S_IRUGO, debugfs_create_file("pinctrl-handles", S_IFREG | S_IRUGO,
debugfs_root, NULL, &pinctrl_ops); debugfs_root, NULL, &pinctrl_fops);
} }
#else /* CONFIG_DEBUG_FS */ #else /* CONFIG_DEBUG_FS */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment