diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-09-05 17:33:03 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-09-05 17:33:03 -0700 |
| commit | e1adefb1daf4ccaa49432aa8ed5db2abe2abb0aa (patch) | |
| tree | e6ca55bb172383b609d6065f21b2dbc4fb681d6e /p03.patch | |
| parent | 1d0da63c6781741b6e9cc9558b13918c09445903 (diff) | |
| download | patches-e1adefb1daf4ccaa49432aa8ed5db2abe2abb0aa.tar.gz | |
more patches
Diffstat (limited to 'p03.patch')
| -rw-r--r-- | p03.patch | 109 |
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, + }; |
