s390/ccwgroup: use bus->dev_groups for bus-based sysfs attributes
Bus drivers have their own way of describing the sysfs attributes that all devices on a bus should provide. Switch ccwgroup_attr_groups over to use bus->dev_groups, and thus free up dev->groups for usage by the ccwgroup device drivers. While adjusting the attribute naming, use ATTRIBUTE_GROUPS() to get rid of some boilerplate code. Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Acked-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
04ea30c857
commit
050663129a
@ -210,18 +210,12 @@ out:
|
||||
static DEVICE_ATTR(ungroup, 0200, NULL, ccwgroup_ungroup_store);
|
||||
static DEVICE_ATTR(online, 0644, ccwgroup_online_show, ccwgroup_online_store);
|
||||
|
||||
static struct attribute *ccwgroup_attrs[] = {
|
||||
static struct attribute *ccwgroup_dev_attrs[] = {
|
||||
&dev_attr_online.attr,
|
||||
&dev_attr_ungroup.attr,
|
||||
NULL,
|
||||
};
|
||||
static struct attribute_group ccwgroup_attr_group = {
|
||||
.attrs = ccwgroup_attrs,
|
||||
};
|
||||
static const struct attribute_group *ccwgroup_attr_groups[] = {
|
||||
&ccwgroup_attr_group,
|
||||
NULL,
|
||||
};
|
||||
ATTRIBUTE_GROUPS(ccwgroup_dev);
|
||||
|
||||
static void ccwgroup_ungroup_workfn(struct work_struct *work)
|
||||
{
|
||||
@ -384,7 +378,6 @@ int ccwgroup_create_dev(struct device *parent, struct ccwgroup_driver *gdrv,
|
||||
}
|
||||
|
||||
dev_set_name(&gdev->dev, "%s", dev_name(&gdev->cdev[0]->dev));
|
||||
gdev->dev.groups = ccwgroup_attr_groups;
|
||||
|
||||
if (gdrv) {
|
||||
gdev->dev.driver = &gdrv->driver;
|
||||
@ -487,6 +480,7 @@ static void ccwgroup_shutdown(struct device *dev)
|
||||
|
||||
static struct bus_type ccwgroup_bus_type = {
|
||||
.name = "ccwgroup",
|
||||
.dev_groups = ccwgroup_dev_groups,
|
||||
.remove = ccwgroup_remove,
|
||||
.shutdown = ccwgroup_shutdown,
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user