[PATCH 10/16] powerpc: vio: use dev_groups and not dev_attrs for bus_type

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE3342d

6 messages, 2 authors, 2017-06-07 · open the first message on its own page

[PATCH 10/16] powerpc: vio: use dev_groups and not dev_attrs for bus_type

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2017-06-06 19:24:54

The dev_attrs field has long been "depreciated" and is finally being
removed, so move the driver to use the "correct" dev_groups field
instead for struct bus_type.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <redacted>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Vineet Gupta <redacted>
Cc: Bart Van Assche <redacted>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Joerg Roedel <redacted>
Cc: Johan Hovold <johan@kernel.org>
Cc: Alexey Kardashevskiy <redacted>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: <redacted>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/powerpc/platforms/pseries/vio.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/pseries/vio.c b/arch/powerpc/platforms/pseries/vio.c
index 28b09fd797ec..fd6595598662 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -1537,6 +1537,7 @@ static ssize_t name_show(struct device *dev,
 {
 	return sprintf(buf, "%s\n", to_vio_dev(dev)->name);
 }
+static DEVICE_ATTR_RO(name);
 
 static ssize_t devspec_show(struct device *dev,
 		struct device_attribute *attr, char *buf)
@@ -1545,6 +1546,7 @@ static ssize_t devspec_show(struct device *dev,
 
 	return sprintf(buf, "%s\n", of_node_full_name(of_node));
 }
+static DEVICE_ATTR_RO(devspec);
 
 static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
 			     char *buf)
@@ -1566,6 +1568,7 @@ static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
 
 	return sprintf(buf, "vio:T%sS%s\n", vio_dev->type, cp);
 }
+static DEVICE_ATTR_RO(modalias);
 
 static struct device_attribute vio_dev_attrs[] = {
 	__ATTR_RO(name),
@@ -1573,6 +1576,13 @@ static struct device_attribute vio_dev_attrs[] = {
 	__ATTR_RO(modalias),
 	__ATTR_NULL
 };
+static struct attribute *vio_dev_attrs[] = {
+	&dev_attr_name.attr,
+	&dev_attr_devspec.attr,
+	&dev_attr_modalias.attr,
+	NULL,
+};
+ATTRIBUTE_GROUPS(vio_dev);
 
 void vio_unregister_device(struct vio_dev *viodev)
 {
@@ -1608,7 +1618,7 @@ static int vio_hotplug(struct device *dev, struct kobj_uevent_env *env)
 
 struct bus_type vio_bus_type = {
 	.name = "vio",
-	.dev_attrs = vio_dev_attrs,
+	.dev_groups = vio_dev_groups,
 	.uevent = vio_hotplug,
 	.match = vio_bus_match,
 	.probe = vio_bus_probe,
-- 
2.13.0

Re: [PATCH 10/16] powerpc: vio: use dev_groups and not dev_attrs for bus_type

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2017-06-06 19:32:09

On Tue, Jun 06, 2017 at 09:22:15PM +0200, Greg Kroah-Hartman wrote:
quoted hunk
The dev_attrs field has long been "depreciated" and is finally being
removed, so move the driver to use the "correct" dev_groups field
instead for struct bus_type.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <redacted>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Vineet Gupta <redacted>
Cc: Bart Van Assche <redacted>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Joerg Roedel <redacted>
Cc: Johan Hovold <johan@kernel.org>
Cc: Alexey Kardashevskiy <redacted>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: <redacted>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/powerpc/platforms/pseries/vio.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/pseries/vio.c b/arch/powerpc/platforms/pseries/vio.c
index 28b09fd797ec..fd6595598662 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -1537,6 +1537,7 @@ static ssize_t name_show(struct device *dev,
 {
 	return sprintf(buf, "%s\n", to_vio_dev(dev)->name);
 }
+static DEVICE_ATTR_RO(name);
 
 static ssize_t devspec_show(struct device *dev,
 		struct device_attribute *attr, char *buf)
@@ -1545,6 +1546,7 @@ static ssize_t devspec_show(struct device *dev,
 
 	return sprintf(buf, "%s\n", of_node_full_name(of_node));
 }
+static DEVICE_ATTR_RO(devspec);
 
 static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
 			     char *buf)
@@ -1566,6 +1568,7 @@ static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
 
 	return sprintf(buf, "vio:T%sS%s\n", vio_dev->type, cp);
 }
+static DEVICE_ATTR_RO(modalias);
 
 static struct device_attribute vio_dev_attrs[] = {
 	__ATTR_RO(name),
@@ -1573,6 +1576,13 @@ static struct device_attribute vio_dev_attrs[] = {
 	__ATTR_RO(modalias),
 	__ATTR_NULL
 };
+static struct attribute *vio_dev_attrs[] = {
Hm, this feels wrong, odd that 0-day passed it.  I should be deleting
the above vio_dev_attrs field as well.  Is powerpc really a dead
platform?  :)

thanks,

greg k-h

Re: [PATCH 10/16] powerpc: vio: use dev_groups and not dev_attrs for bus_type

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2017-06-06 23:05:30

On Tue, 2017-06-06 at 21:30 +0200, Greg Kroah-Hartman wrote:
quoted
  
  static struct device_attribute vio_dev_attrs[] = {
       __ATTR_RO(name),
@@ -1573,6 +1576,13 @@ static struct device_attribute vio_dev_attrs[] = {
       __ATTR_RO(modalias),
       __ATTR_NULL
  };
+static struct attribute *vio_dev_attrs[] = {
Hm, this feels wrong, odd that 0-day passed it.  I should be deleting
the above vio_dev_attrs field as well.  Is powerpc really a dead
platform?  :)
Haha, not yet no, and the above is actually still quite actively
in use as it's part of our hypervisor virtual IO infrastructure.

Cheers,
Ben.

Re: [PATCH 10/16] powerpc: vio: use dev_groups and not dev_attrs for bus_type

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2017-06-07 05:45:54

On Wed, Jun 07, 2017 at 09:04:41AM +1000, Benjamin Herrenschmidt wrote:
On Tue, 2017-06-06 at 21:30 +0200, Greg Kroah-Hartman wrote:
quoted
quoted
  
  static struct device_attribute vio_dev_attrs[] = {
       __ATTR_RO(name),
@@ -1573,6 +1576,13 @@ static struct device_attribute vio_dev_attrs[] = {
       __ATTR_RO(modalias),
       __ATTR_NULL
  };
+static struct attribute *vio_dev_attrs[] = {
Hm, this feels wrong, odd that 0-day passed it.  I should be deleting
the above vio_dev_attrs field as well.  Is powerpc really a dead
platform?  :)
Haha, not yet no, and the above is actually still quite actively
in use as it's part of our hypervisor virtual IO infrastructure.
Ok, let me fix this, right after I emailed 0-day sent me the build error :)

Re: [PATCH 10/16] powerpc: vio: use dev_groups and not dev_attrs for bus_type

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2017-06-07 05:57:09

On Wed, 2017-06-07 at 07:45 +0200, Greg Kroah-Hartman wrote:
On Wed, Jun 07, 2017 at 09:04:41AM +1000, Benjamin Herrenschmidt wrote:
quoted
On Tue, 2017-06-06 at 21:30 +0200, Greg Kroah-Hartman wrote:
quoted
quoted
  
  static struct device_attribute vio_dev_attrs[] = {
       __ATTR_RO(name),
@@ -1573,6 +1576,13 @@ static struct device_attribute vio_dev_attrs[] = {
       __ATTR_RO(modalias),
       __ATTR_NULL
  };
+static struct attribute *vio_dev_attrs[] = {
Hm, this feels wrong, odd that 0-day passed it.  I should be deleting
the above vio_dev_attrs field as well.  Is powerpc really a dead
platform?  :)
Haha, not yet no, and the above is actually still quite actively
in use as it's part of our hypervisor virtual IO infrastructure.
Ok, let me fix this, right after I emailed 0-day sent me the build error :)
Thanks !

Cheers,
Ben.

[PATCH 10/16 v2] powerpc: vio: use dev_groups and not dev_attrs for bus_type

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2017-06-07 08:58:55

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

The dev_attrs field has long been "depreciated" and is finally being
removed, so move the driver to use the "correct" dev_groups field
instead for struct bus_type.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <redacted>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Vineet Gupta <redacted>
Cc: Bart Van Assche <redacted>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Joerg Roedel <redacted>
Cc: Johan Hovold <johan@kernel.org>
Cc: Alexey Kardashevskiy <redacted>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: <redacted>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---

v2 - actually remove the old attribute list

 arch/powerpc/platforms/pseries/vio.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/vio.c b/arch/powerpc/platforms/pseries/vio.c
index 28b09fd797ec..b4f679e3ca3a 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -1537,6 +1537,7 @@ static ssize_t name_show(struct device *dev,
 {
 	return sprintf(buf, "%s\n", to_vio_dev(dev)->name);
 }
+static DEVICE_ATTR_RO(name);
 
 static ssize_t devspec_show(struct device *dev,
 		struct device_attribute *attr, char *buf)
@@ -1545,6 +1546,7 @@ static ssize_t devspec_show(struct device *dev,
 
 	return sprintf(buf, "%s\n", of_node_full_name(of_node));
 }
+static DEVICE_ATTR_RO(devspec);
 
 static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
 			     char *buf)
@@ -1566,13 +1568,15 @@ static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
 
 	return sprintf(buf, "vio:T%sS%s\n", vio_dev->type, cp);
 }
+static DEVICE_ATTR_RO(modalias);
 
-static struct device_attribute vio_dev_attrs[] = {
-	__ATTR_RO(name),
-	__ATTR_RO(devspec),
-	__ATTR_RO(modalias),
-	__ATTR_NULL
+static struct attribute *vio_dev_attrs[] = {
+	&dev_attr_name.attr,
+	&dev_attr_devspec.attr,
+	&dev_attr_modalias.attr,
+	NULL,
 };
+ATTRIBUTE_GROUPS(vio_dev);
 
 void vio_unregister_device(struct vio_dev *viodev)
 {
@@ -1608,7 +1612,7 @@ static int vio_hotplug(struct device *dev, struct kobj_uevent_env *env)
 
 struct bus_type vio_bus_type = {
 	.name = "vio",
-	.dev_attrs = vio_dev_attrs,
+	.dev_groups = vio_dev_groups,
 	.uevent = vio_hotplug,
 	.match = vio_bus_match,
 	.probe = vio_bus_probe,
-- 
2.13.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help