aboutsummaryrefslogtreecommitdiffstats
path: root/p03.patch
diff options
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-09-05 17:33:03 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-09-05 17:33:03 -0700
commite1adefb1daf4ccaa49432aa8ed5db2abe2abb0aa (patch)
treee6ca55bb172383b609d6065f21b2dbc4fb681d6e /p03.patch
parent1d0da63c6781741b6e9cc9558b13918c09445903 (diff)
downloadpatches-e1adefb1daf4ccaa49432aa8ed5db2abe2abb0aa.tar.gz
more patches
Diffstat (limited to 'p03.patch')
-rw-r--r--p03.patch109
1 files changed, 109 insertions, 0 deletions
diff --git a/p03.patch b/p03.patch
new file mode 100644
index 00000000000000..94398ea91ee915
--- /dev/null
+++ b/p03.patch
@@ -0,0 +1,109 @@
+---
+ drivers/pnp/base.h | 2 +-
+ drivers/pnp/driver.c | 2 +-
+ drivers/pnp/interface.c | 43 ++++++++++++++++++++++++++-----------------
+ 3 files changed, 28 insertions(+), 19 deletions(-)
+
+--- a/drivers/pnp/base.h
++++ b/drivers/pnp/base.h
+@@ -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);
+--- a/drivers/pnp/driver.c
++++ b/drivers/pnp/driver.c
+@@ -233,7 +233,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)
+--- a/drivers/pnp/interface.c
++++ b/drivers/pnp/interface.c
+@@ -203,8 +203,8 @@ static void pnp_print_option(pnp_info_bu
+ }
+ }
+
+-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 d
+ 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
+ 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(stru
+ }
+ 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,
+ };