aboutsummaryrefslogtreecommitdiffstats
path: root/uio-convert-class-code-to-use-dev_groups.patch
diff options
Diffstat (limited to 'uio-convert-class-code-to-use-dev_groups.patch')
-rw-r--r--uio-convert-class-code-to-use-dev_groups.patch71
1 files changed, 71 insertions, 0 deletions
diff --git a/uio-convert-class-code-to-use-dev_groups.patch b/uio-convert-class-code-to-use-dev_groups.patch
new file mode 100644
index 00000000000000..5e49b44d55aee1
--- /dev/null
+++ b/uio-convert-class-code-to-use-dev_groups.patch
@@ -0,0 +1,71 @@
+From foo@baz Tue Jul 9 15:32:28 PDT 2013
+Date: Tue, 09 Jul 2013 15:32:28 -0700
+To: Greg KH <gregkh@linuxfoundation.org>
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Subject: UIO: convert class code to use dev_groups
+
+The dev_attrs field of struct class is going away soon, dev_groups
+should be used instead. This converts the uio class code to use the
+correct field.
+
+Cc: Hans J. Koch <hjk@hansjkoch.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/uio/uio.c | 22 +++++++++++++---------
+ 1 file changed, 13 insertions(+), 9 deletions(-)
+
+--- a/drivers/uio/uio.c
++++ b/drivers/uio/uio.c
+@@ -224,38 +224,42 @@ static struct kobj_type portio_attr_type
+ .default_attrs = portio_attrs,
+ };
+
+-static ssize_t show_name(struct device *dev,
++static ssize_t name_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+ {
+ struct uio_device *idev = dev_get_drvdata(dev);
+ return sprintf(buf, "%s\n", idev->info->name);
+ }
++static DEVICE_ATTR_RO(name);
+
+-static ssize_t show_version(struct device *dev,
++static ssize_t version_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+ {
+ struct uio_device *idev = dev_get_drvdata(dev);
+ return sprintf(buf, "%s\n", idev->info->version);
+ }
++static DEVICE_ATTR_RO(version);
+
+-static ssize_t show_event(struct device *dev,
++static ssize_t event_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+ {
+ struct uio_device *idev = dev_get_drvdata(dev);
+ return sprintf(buf, "%u\n", (unsigned int)atomic_read(&idev->event));
+ }
++static DEVICE_ATTR_RO(event);
+
+-static struct device_attribute uio_class_attributes[] = {
+- __ATTR(name, S_IRUGO, show_name, NULL),
+- __ATTR(version, S_IRUGO, show_version, NULL),
+- __ATTR(event, S_IRUGO, show_event, NULL),
+- {}
++static struct attribute *uio_attrs[] = {
++ &dev_attr_name.attr,
++ &dev_attr_version.attr,
++ &dev_attr_event.attr,
++ NULL,
+ };
++ATTRIBUTE_GROUPS(uio);
+
+ /* UIO class infrastructure */
+ static struct class uio_class = {
+ .name = "uio",
+- .dev_attrs = uio_class_attributes,
++ .dev_groups = uio_groups,
+ };
+
+ /*