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 <b...@kernel.crashing.org>
Cc: Paul Mackerras <pau...@samba.org>
Cc: Michael Ellerman <m...@ellerman.id.au>
Cc: Vineet Gupta <vgu...@synopsys.com>
Cc: Bart Van Assche <bart.vanass...@sandisk.com>
Cc: Robin Murphy <robin.mur...@arm.com>
Cc: Joerg Roedel <jroe...@suse.de>
Cc: Johan Hovold <jo...@kernel.org>
Cc: Alexey Kardashevskiy <a...@ozlabs.ru>
Cc: Krzysztof Kozlowski <k...@kernel.org>
Cc: <linuxppc-...@lists.ozlabs.org>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 arch/powerpc/platforms/pseries/vio.c | 37 +++++++++++++++++++++---------------
 1 file changed, 22 insertions(+), 15 deletions(-)

diff --git a/arch/powerpc/platforms/pseries/vio.c 
b/arch/powerpc/platforms/pseries/vio.c
index fd6595598662..176edf422867 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -948,7 +948,7 @@ static void vio_cmo_bus_init(void)
 /* sysfs device functions and data structures for CMO */
 
 #define viodev_cmo_rd_attr(name)                                        \
-static ssize_t viodev_cmo_##name##_show(struct device *dev,             \
+static ssize_t cmo_##name##_show(struct device *dev,                    \
                                         struct device_attribute *attr,  \
                                          char *buf)                     \
 {                                                                       \
@@ -962,7 +962,7 @@ static ssize_t viodev_cmo_allocs_failed_show(struct device 
*dev,
        return sprintf(buf, "%d\n", atomic_read(&viodev->cmo.allocs_failed));
 }
 
-static ssize_t viodev_cmo_allocs_failed_reset(struct device *dev,
+static ssize_t cmo_allocs_failed_store(struct device *dev,
                struct device_attribute *attr, const char *buf, size_t count)
 {
        struct vio_dev *viodev = to_vio_dev(dev);
@@ -970,7 +970,7 @@ static ssize_t viodev_cmo_allocs_failed_reset(struct device 
*dev,
        return count;
 }
 
-static ssize_t viodev_cmo_desired_set(struct device *dev,
+static ssize_t cmo_desired_store(struct device *dev,
                struct device_attribute *attr, const char *buf, size_t count)
 {
        struct vio_dev *viodev = to_vio_dev(dev);
@@ -993,18 +993,25 @@ static ssize_t name_show(struct device *, struct 
device_attribute *, char *);
 static ssize_t devspec_show(struct device *, struct device_attribute *, char 
*);
 static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
                             char *buf);
-static struct device_attribute vio_cmo_dev_attrs[] = {
-       __ATTR_RO(name),
-       __ATTR_RO(devspec),
-       __ATTR_RO(modalias),
-       __ATTR(cmo_desired,       S_IWUSR|S_IRUSR|S_IWGRP|S_IRGRP|S_IROTH,
-              viodev_cmo_desired_show, viodev_cmo_desired_set),
-       __ATTR(cmo_entitled,      S_IRUGO, viodev_cmo_entitled_show,      NULL),
-       __ATTR(cmo_allocated,     S_IRUGO, viodev_cmo_allocated_show,     NULL),
-       __ATTR(cmo_allocs_failed, S_IWUSR|S_IRUSR|S_IWGRP|S_IRGRP|S_IROTH,
-              viodev_cmo_allocs_failed_show, viodev_cmo_allocs_failed_reset),
-       __ATTR_NULL
+static DEVICE_ATTR_RO(name);
+static DEVICE_ATTR_RO(devspec);
+static DEVICE_ATTR_RO(modalias);
+static DEVICE_ATTR_RO(cmo_entitled);
+static DEVICE_ATTR_RO(cmo_allocated);
+static DEVICE_ATTR_RW(cmo_desired);
+static DEVICE_ATTR_RW(cmo_allocs_failed);
+
+static struct attribute *vio_cmo_dev_attrs[] = {
+       &dev_attr_name.attr,
+       &dev_attr_devspec.attr,
+       &dev_attr_modalias.attr,
+       &dev_attr_cmo_entitled.attr,
+       &dev_attr_cmo_allocated.attr,
+       &dev_attr_cmo_desired.attr,
+       &dev_attr_cmo_allocs_failed.attr,
+       NULL,
 };
+ATTRIBUTE_GROUPS(vio_cmo_dev);
 
 /* sysfs bus functions and data structures for CMO */
 
@@ -1066,7 +1073,7 @@ ATTRIBUTE_GROUPS(vio_bus);
 
 static void vio_cmo_sysfs_init(void)
 {
-       vio_bus_type.dev_attrs = vio_cmo_dev_attrs;
+       vio_bus_type.dev_groups = vio_cmo_dev_groups;
        vio_bus_type.bus_groups = vio_bus_groups;
 }
 #else /* CONFIG_PPC_SMLPAR */
-- 
2.13.0

Reply via email to