提交 2df43901 编写于 作者: G Greg Kroah-Hartman

PNP: convert bus code to use dev_groups

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: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 69df7533
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
*/ */
extern spinlock_t pnp_lock; 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); void *pnp_alloc(long size);
int pnp_register_protocol(struct pnp_protocol *protocol); int pnp_register_protocol(struct pnp_protocol *protocol);
......
...@@ -246,7 +246,7 @@ struct bus_type pnp_bus_type = { ...@@ -246,7 +246,7 @@ struct bus_type pnp_bus_type = {
.remove = pnp_device_remove, .remove = pnp_device_remove,
.shutdown = pnp_device_shutdown, .shutdown = pnp_device_shutdown,
.pm = &pnp_bus_dev_pm_ops, .pm = &pnp_bus_dev_pm_ops,
.dev_attrs = pnp_interface_attrs, .dev_groups = pnp_dev_groups,
}; };
int pnp_register_driver(struct pnp_driver *drv) int pnp_register_driver(struct pnp_driver *drv)
......
...@@ -203,8 +203,8 @@ static void pnp_print_option(pnp_info_buffer_t * buffer, char *space, ...@@ -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, static ssize_t options_show(struct device *dmdev, struct device_attribute *attr,
struct device_attribute *attr, char *buf) char *buf)
{ {
struct pnp_dev *dev = to_pnp_dev(dmdev); struct pnp_dev *dev = to_pnp_dev(dmdev);
pnp_info_buffer_t *buffer; pnp_info_buffer_t *buffer;
...@@ -241,10 +241,10 @@ static ssize_t pnp_show_options(struct device *dmdev, ...@@ -241,10 +241,10 @@ static ssize_t pnp_show_options(struct device *dmdev,
kfree(buffer); kfree(buffer);
return ret; return ret;
} }
static DEVICE_ATTR_RO(options);
static ssize_t pnp_show_current_resources(struct device *dmdev, static ssize_t resources_show(struct device *dmdev,
struct device_attribute *attr, struct device_attribute *attr, char *buf)
char *buf)
{ {
struct pnp_dev *dev = to_pnp_dev(dmdev); struct pnp_dev *dev = to_pnp_dev(dmdev);
pnp_info_buffer_t *buffer; pnp_info_buffer_t *buffer;
...@@ -331,9 +331,9 @@ static char *pnp_get_resource_value(char *buf, ...@@ -331,9 +331,9 @@ static char *pnp_get_resource_value(char *buf,
return buf; return buf;
} }
static ssize_t pnp_set_current_resources(struct device *dmdev, static ssize_t resources_store(struct device *dmdev,
struct device_attribute *attr, struct device_attribute *attr, const char *ubuf,
const char *ubuf, size_t count) size_t count)
{ {
struct pnp_dev *dev = to_pnp_dev(dmdev); struct pnp_dev *dev = to_pnp_dev(dmdev);
char *buf = (void *)ubuf; char *buf = (void *)ubuf;
...@@ -434,9 +434,10 @@ static ssize_t pnp_set_current_resources(struct device *dmdev, ...@@ -434,9 +434,10 @@ static ssize_t pnp_set_current_resources(struct device *dmdev,
return retval; return retval;
return count; return count;
} }
static DEVICE_ATTR_RW(resources);
static ssize_t pnp_show_current_ids(struct device *dmdev, static ssize_t id_show(struct device *dmdev, struct device_attribute *attr,
struct device_attribute *attr, char *buf) char *buf)
{ {
char *str = buf; char *str = buf;
struct pnp_dev *dev = to_pnp_dev(dmdev); struct pnp_dev *dev = to_pnp_dev(dmdev);
...@@ -448,12 +449,20 @@ static ssize_t pnp_show_current_ids(struct device *dmdev, ...@@ -448,12 +449,20 @@ static ssize_t pnp_show_current_ids(struct device *dmdev,
} }
return (str - buf); return (str - buf);
} }
static DEVICE_ATTR_RO(id);
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,
};
struct device_attribute pnp_interface_attrs[] = { const struct attribute_group *pnp_dev_groups[] = {
__ATTR(resources, S_IRUGO | S_IWUSR, &pnp_dev_group,
pnp_show_current_resources, NULL,
pnp_set_current_resources),
__ATTR(options, S_IRUGO, pnp_show_options, NULL),
__ATTR(id, S_IRUGO, pnp_show_current_ids, NULL),
__ATTR_NULL,
}; };
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册