Greg Kroah-Hartman
2013-Oct-07 06:55 UTC
[PATCH 10/11] xenbus: 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 xenbus code to use the
correct field.
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: <xen-devel@lists.xenproject.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
Konrad, I can take this through my driver-core tree if you like, just
let me know what would be the easiest for you.
drivers/xen/xenbus/xenbus_probe.c | 24 ++++++++++++++++++------
drivers/xen/xenbus/xenbus_probe.h | 2 +-
drivers/xen/xenbus/xenbus_probe_backend.c | 2 +-
drivers/xen/xenbus/xenbus_probe_frontend.c | 2 +-
4 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/drivers/xen/xenbus/xenbus_probe.c
b/drivers/xen/xenbus/xenbus_probe.c
index 38e92b7..3c0a74b 100644
--- a/drivers/xen/xenbus/xenbus_probe.c
+++ b/drivers/xen/xenbus/xenbus_probe.c
@@ -384,12 +384,14 @@ static ssize_t nodename_show(struct device *dev,
{
return sprintf(buf, "%s\n", to_xenbus_device(dev)->nodename);
}
+static DEVICE_ATTR_RO(nodename);
static ssize_t devtype_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
return sprintf(buf, "%s\n", to_xenbus_device(dev)->devicetype);
}
+static DEVICE_ATTR_RO(devtype);
static ssize_t modalias_show(struct device *dev,
struct device_attribute *attr, char *buf)
@@ -397,14 +399,24 @@ static ssize_t modalias_show(struct device *dev,
return sprintf(buf, "%s:%s\n", dev->bus->name,
to_xenbus_device(dev)->devicetype);
}
+static DEVICE_ATTR_RO(modalias);
-struct device_attribute xenbus_dev_attrs[] = {
- __ATTR_RO(nodename),
- __ATTR_RO(devtype),
- __ATTR_RO(modalias),
- __ATTR_NULL
+static struct attribute *xenbus_dev_attrs[] = {
+ &dev_attr_nodename.attr,
+ &dev_attr_devtype.attr,
+ &dev_attr_modalias.attr,
+ NULL,
};
-EXPORT_SYMBOL_GPL(xenbus_dev_attrs);
+
+static const struct attribute_group xenbus_dev_group = {
+ .attrs = xenbus_dev_attrs,
+};
+
+const struct attribute_group *xenbus_dev_groups[] = {
+ &xenbus_dev_group,
+ NULL,
+};
+EXPORT_SYMBOL_GPL(xenbus_dev_groups);
int xenbus_probe_node(struct xen_bus_type *bus,
const char *type,
diff --git a/drivers/xen/xenbus/xenbus_probe.h
b/drivers/xen/xenbus/xenbus_probe.h
index 146f857..1085ec2 100644
--- a/drivers/xen/xenbus/xenbus_probe.h
+++ b/drivers/xen/xenbus/xenbus_probe.h
@@ -54,7 +54,7 @@ enum xenstore_init {
XS_LOCAL,
};
-extern struct device_attribute xenbus_dev_attrs[];
+extern const struct attribute_group *xenbus_dev_groups[];
extern int xenbus_match(struct device *_dev, struct device_driver *_drv);
extern int xenbus_dev_probe(struct device *_dev);
diff --git a/drivers/xen/xenbus/xenbus_probe_backend.c
b/drivers/xen/xenbus/xenbus_probe_backend.c
index 998bbba..5125dce 100644
--- a/drivers/xen/xenbus/xenbus_probe_backend.c
+++ b/drivers/xen/xenbus/xenbus_probe_backend.c
@@ -200,7 +200,7 @@ static struct xen_bus_type xenbus_backend = {
.probe = xenbus_dev_probe,
.remove = xenbus_dev_remove,
.shutdown = xenbus_dev_shutdown,
- .dev_attrs = xenbus_dev_attrs,
+ .dev_groups = xenbus_dev_groups,
},
};
diff --git a/drivers/xen/xenbus/xenbus_probe_frontend.c
b/drivers/xen/xenbus/xenbus_probe_frontend.c
index 34b20bf..129bf84 100644
--- a/drivers/xen/xenbus/xenbus_probe_frontend.c
+++ b/drivers/xen/xenbus/xenbus_probe_frontend.c
@@ -154,7 +154,7 @@ static struct xen_bus_type xenbus_frontend = {
.probe = xenbus_frontend_dev_probe,
.remove = xenbus_dev_remove,
.shutdown = xenbus_dev_shutdown,
- .dev_attrs = xenbus_dev_attrs,
+ .dev_groups = xenbus_dev_groups,
.pm = &xenbus_pm_ops,
},
--
1.8.4.6.g82e253f.dirty
Boris Ostrovsky
2013-Oct-07 16:34 UTC
Re: [PATCH 10/11] xenbus: convert bus code to use dev_groups
On 10/07/2013 02:55 AM, Greg Kroah-Hartman wrote:> The dev_attrs field of struct bus_type is going away soon, dev_groups > should be used instead. This converts the xenbus code to use the > correct field. > > Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com> > Cc: David Vrabel <david.vrabel@citrix.com> > Cc: <xen-devel@lists.xenproject.org> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > --- > > Konrad, I can take this through my driver-core tree if you like, just > let me know what would be the easiest for you.Konrad is likely out this (and possibly next) week but given that you are taking a bunch of these patches it make sense that you take this one as well. (and just in case I gave it a quick test and it looked good). -boris> > drivers/xen/xenbus/xenbus_probe.c | 24 ++++++++++++++++++------ > drivers/xen/xenbus/xenbus_probe.h | 2 +- > drivers/xen/xenbus/xenbus_probe_backend.c | 2 +- > drivers/xen/xenbus/xenbus_probe_frontend.c | 2 +- > 4 files changed, 21 insertions(+), 9 deletions(-) > > diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c > index 38e92b7..3c0a74b 100644 > --- a/drivers/xen/xenbus/xenbus_probe.c > +++ b/drivers/xen/xenbus/xenbus_probe.c > @@ -384,12 +384,14 @@ static ssize_t nodename_show(struct device *dev, > { > return sprintf(buf, "%s\n", to_xenbus_device(dev)->nodename); > } > +static DEVICE_ATTR_RO(nodename); > > static ssize_t devtype_show(struct device *dev, > struct device_attribute *attr, char *buf) > { > return sprintf(buf, "%s\n", to_xenbus_device(dev)->devicetype); > } > +static DEVICE_ATTR_RO(devtype); > > static ssize_t modalias_show(struct device *dev, > struct device_attribute *attr, char *buf) > @@ -397,14 +399,24 @@ static ssize_t modalias_show(struct device *dev, > return sprintf(buf, "%s:%s\n", dev->bus->name, > to_xenbus_device(dev)->devicetype); > } > +static DEVICE_ATTR_RO(modalias); > > -struct device_attribute xenbus_dev_attrs[] = { > - __ATTR_RO(nodename), > - __ATTR_RO(devtype), > - __ATTR_RO(modalias), > - __ATTR_NULL > +static struct attribute *xenbus_dev_attrs[] = { > + &dev_attr_nodename.attr, > + &dev_attr_devtype.attr, > + &dev_attr_modalias.attr, > + NULL, > }; > -EXPORT_SYMBOL_GPL(xenbus_dev_attrs); > + > +static const struct attribute_group xenbus_dev_group = { > + .attrs = xenbus_dev_attrs, > +}; > + > +const struct attribute_group *xenbus_dev_groups[] = { > + &xenbus_dev_group, > + NULL, > +}; > +EXPORT_SYMBOL_GPL(xenbus_dev_groups); > > int xenbus_probe_node(struct xen_bus_type *bus, > const char *type, > diff --git a/drivers/xen/xenbus/xenbus_probe.h b/drivers/xen/xenbus/xenbus_probe.h > index 146f857..1085ec2 100644 > --- a/drivers/xen/xenbus/xenbus_probe.h > +++ b/drivers/xen/xenbus/xenbus_probe.h > @@ -54,7 +54,7 @@ enum xenstore_init { > XS_LOCAL, > }; > > -extern struct device_attribute xenbus_dev_attrs[]; > +extern const struct attribute_group *xenbus_dev_groups[]; > > extern int xenbus_match(struct device *_dev, struct device_driver *_drv); > extern int xenbus_dev_probe(struct device *_dev); > diff --git a/drivers/xen/xenbus/xenbus_probe_backend.c b/drivers/xen/xenbus/xenbus_probe_backend.c > index 998bbba..5125dce 100644 > --- a/drivers/xen/xenbus/xenbus_probe_backend.c > +++ b/drivers/xen/xenbus/xenbus_probe_backend.c > @@ -200,7 +200,7 @@ static struct xen_bus_type xenbus_backend = { > .probe = xenbus_dev_probe, > .remove = xenbus_dev_remove, > .shutdown = xenbus_dev_shutdown, > - .dev_attrs = xenbus_dev_attrs, > + .dev_groups = xenbus_dev_groups, > }, > }; > > diff --git a/drivers/xen/xenbus/xenbus_probe_frontend.c b/drivers/xen/xenbus/xenbus_probe_frontend.c > index 34b20bf..129bf84 100644 > --- a/drivers/xen/xenbus/xenbus_probe_frontend.c > +++ b/drivers/xen/xenbus/xenbus_probe_frontend.c > @@ -154,7 +154,7 @@ static struct xen_bus_type xenbus_frontend = { > .probe = xenbus_frontend_dev_probe, > .remove = xenbus_dev_remove, > .shutdown = xenbus_dev_shutdown, > - .dev_attrs = xenbus_dev_attrs, > + .dev_groups = xenbus_dev_groups, > > .pm = &xenbus_pm_ops, > },