PNP: convert bus code to use dev_groups
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Oct 2013 06:55:42 +0000 (23:55 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Oct 2013 01:36:02 +0000 (18:36 -0700)
The dev_attrs field of struct bus_type is going away soon, dev_groups
should be used instead.  This converts the PNP bus code to use the
correct field.

Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pnp/base.h
drivers/pnp/driver.c
drivers/pnp/interface.c

index ffd53e3..c8873b0 100644 (file)
@@ -4,7 +4,7 @@
  */
 
 extern spinlock_t pnp_lock;
-extern struct device_attribute pnp_interface_attrs[];
+extern const struct attribute_group *pnp_dev_groups[];
 void *pnp_alloc(long size);
 
 int pnp_register_protocol(struct pnp_protocol *protocol);
index a39ee38..6936e0a 100644 (file)
@@ -246,7 +246,7 @@ struct bus_type pnp_bus_type = {
        .remove  = pnp_device_remove,
        .shutdown = pnp_device_shutdown,
        .pm      = &pnp_bus_dev_pm_ops,
-       .dev_attrs = pnp_interface_attrs,
+       .dev_groups = pnp_dev_groups,
 };
 
 int pnp_register_driver(struct pnp_driver *drv)
index 0c20131..e6c403b 100644 (file)
@@ -203,8 +203,8 @@ static void pnp_print_option(pnp_info_buffer_t * buffer, char *space,
        }
 }
 
-static ssize_t pnp_show_options(struct device *dmdev,
-                               struct device_attribute *attr, char *buf)
+static ssize_t options_show(struct device *dmdev, struct device_attribute *attr,
+                           char *buf)
 {
        struct pnp_dev *dev = to_pnp_dev(dmdev);
        pnp_info_buffer_t *buffer;
@@ -241,10 +241,10 @@ static ssize_t pnp_show_options(struct device *dmdev,
        kfree(buffer);
        return ret;
 }
+static DEVICE_ATTR_RO(options);
 
-static ssize_t pnp_show_current_resources(struct device *dmdev,
-                                         struct device_attribute *attr,
-                                         char *buf)
+static ssize_t resources_show(struct device *dmdev,
+                             struct device_attribute *attr, char *buf)
 {
        struct pnp_dev *dev = to_pnp_dev(dmdev);
        pnp_info_buffer_t *buffer;
@@ -331,9 +331,9 @@ static char *pnp_get_resource_value(char *buf,
        return buf;
 }
 
-static ssize_t pnp_set_current_resources(struct device *dmdev,
-                                        struct device_attribute *attr,
-                                        const char *ubuf, size_t count)
+static ssize_t resources_store(struct device *dmdev,
+                              struct device_attribute *attr, const char *ubuf,
+                              size_t count)
 {
        struct pnp_dev *dev = to_pnp_dev(dmdev);
        char *buf = (void *)ubuf;
@@ -434,9 +434,10 @@ done:
                return retval;
        return count;
 }
+static DEVICE_ATTR_RW(resources);
 
-static ssize_t pnp_show_current_ids(struct device *dmdev,
-                                   struct device_attribute *attr, char *buf)
+static ssize_t id_show(struct device *dmdev, struct device_attribute *attr,
+                      char *buf)
 {
        char *str = buf;
        struct pnp_dev *dev = to_pnp_dev(dmdev);
@@ -448,12 +449,20 @@ static ssize_t pnp_show_current_ids(struct device *dmdev,
        }
        return (str - buf);
 }
+static DEVICE_ATTR_RO(id);
 
-struct device_attribute pnp_interface_attrs[] = {
-       __ATTR(resources, S_IRUGO | S_IWUSR,
-                  pnp_show_current_resources,
-                  pnp_set_current_resources),
-       __ATTR(options, S_IRUGO, pnp_show_options, NULL),
-       __ATTR(id, S_IRUGO, pnp_show_current_ids, NULL),
-       __ATTR_NULL,
+static struct attribute *pnp_dev_attrs[] = {
+       &dev_attr_resources.attr,
+       &dev_attr_options.attr,
+       &dev_attr_id.attr,
+       NULL,
+};
+
+static const struct attribute_group pnp_dev_group = {
+       .attrs = pnp_dev_attrs,
+};
+
+const struct attribute_group *pnp_dev_groups[] = {
+       &pnp_dev_group,
+       NULL,
 };