return 0;
 }
+DEFINE_SHOW_ATTRIBUTE(pinctrl_pins);
 
 static int pinctrl_groups_show(struct seq_file *s, void *what)
 {
 
        return 0;
 }
+DEFINE_SHOW_ATTRIBUTE(pinctrl_groups);
 
 static int pinctrl_gpioranges_show(struct seq_file *s, void *what)
 {
 
        return 0;
 }
+DEFINE_SHOW_ATTRIBUTE(pinctrl_gpioranges);
 
 static int pinctrl_devices_show(struct seq_file *s, void *what)
 {
 
        return 0;
 }
+DEFINE_SHOW_ATTRIBUTE(pinctrl_devices);
 
 static inline const char *map_type(enum pinctrl_map_type type)
 {
 
        return 0;
 }
+DEFINE_SHOW_ATTRIBUTE(pinctrl_maps);
 
 static int pinctrl_show(struct seq_file *s, void *what)
 {
 
        return 0;
 }
-
-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,
-};
+DEFINE_SHOW_ATTRIBUTE(pinctrl);
 
 static struct dentry *debugfs_root;
 
                return;
        }
        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,
-                           device_root, pctldev, &pinctrl_groups_ops);
+                           device_root, pctldev, &pinctrl_groups_fops);
        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)
                pinmux_init_device_debugfs(device_root, pctldev);
        if (pctldev->desc->confops)
        }
 
        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_root, NULL, &pinctrl_maps_ops);
+                           debugfs_root, NULL, &pinctrl_maps_fops);
        debugfs_create_file("pinctrl-handles", S_IFREG | S_IRUGO,
-                           debugfs_root, NULL, &pinctrl_ops);
+                           debugfs_root, NULL, &pinctrl_fops);
 }
 
 #else /* CONFIG_DEBUG_FS */