aboutsummaryrefslogtreecommitdiffstats
path: root/pps-convert-class-code-to-use-dev_groups.patch
diff options
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-07-09 15:24:25 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-07-09 15:24:25 -0700
commitaaf275f945460b5cb5ee6ea9ef95b06db5334461 (patch)
tree8dd916f867832927b6cf9e91fbc14340ad8125a6 /pps-convert-class-code-to-use-dev_groups.patch
parent1cfe8e5d3a8ac05c5a39afc11f57ac2c9fdabaa5 (diff)
downloadpatches-aaf275f945460b5cb5ee6ea9ef95b06db5334461.tar.gz
break patch up into proper pieces
Diffstat (limited to 'pps-convert-class-code-to-use-dev_groups.patch')
-rw-r--r--pps-convert-class-code-to-use-dev_groups.patch143
1 files changed, 143 insertions, 0 deletions
diff --git a/pps-convert-class-code-to-use-dev_groups.patch b/pps-convert-class-code-to-use-dev_groups.patch
new file mode 100644
index 00000000000000..7f8da06fae3ffa
--- /dev/null
+++ b/pps-convert-class-code-to-use-dev_groups.patch
@@ -0,0 +1,143 @@
+From foo@baz Tue Jul 9 15:16:41 PDT 2013
+Date: Tue, 09 Jul 2013 15:16:42 -0700
+To: Greg KH <gregkh@linuxfoundation.org>
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Subject: PPS: 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 pps class code to use the
+correct field.
+
+Cc: Rodolfo Giometti <giometti@enneenne.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/pps/pps.c | 2 -
+ drivers/pps/sysfs.c | 55 ++++++++++++++++++++++++++++-----------------
+ include/linux/pps_kernel.h | 2 -
+ 3 files changed, 37 insertions(+), 22 deletions(-)
+
+--- a/drivers/pps/pps.c
++++ b/drivers/pps/pps.c
+@@ -406,7 +406,7 @@ static int __init pps_init(void)
+ pr_err("failed to allocate class\n");
+ return PTR_ERR(pps_class);
+ }
+- pps_class->dev_attrs = pps_attrs;
++ pps_class->dev_groups = pps_groups;
+
+ err = alloc_chrdev_region(&pps_devt, 0, PPS_MAX_SOURCES, "pps");
+ if (err < 0) {
+--- a/drivers/pps/sysfs.c
++++ b/drivers/pps/sysfs.c
+@@ -29,8 +29,8 @@
+ * Attribute functions
+ */
+
+-static ssize_t pps_show_assert(struct device *dev,
+- struct device_attribute *attr, char *buf)
++static ssize_t assert_show(struct device *dev, struct device_attribute *attr,
++ char *buf)
+ {
+ struct pps_device *pps = dev_get_drvdata(dev);
+
+@@ -41,9 +41,10 @@ static ssize_t pps_show_assert(struct de
+ (long long) pps->assert_tu.sec, pps->assert_tu.nsec,
+ pps->assert_sequence);
+ }
++static DEVICE_ATTR_RO(assert);
+
+-static ssize_t pps_show_clear(struct device *dev,
+- struct device_attribute *attr, char *buf)
++static ssize_t clear_show(struct device *dev, struct device_attribute *attr,
++ char *buf)
+ {
+ struct pps_device *pps = dev_get_drvdata(dev);
+
+@@ -54,45 +55,59 @@ static ssize_t pps_show_clear(struct dev
+ (long long) pps->clear_tu.sec, pps->clear_tu.nsec,
+ pps->clear_sequence);
+ }
++static DEVICE_ATTR_RO(clear);
+
+-static ssize_t pps_show_mode(struct device *dev,
+- struct device_attribute *attr, char *buf)
++static ssize_t mode_show(struct device *dev, struct device_attribute *attr,
++ char *buf)
+ {
+ struct pps_device *pps = dev_get_drvdata(dev);
+
+ return sprintf(buf, "%4x\n", pps->info.mode);
+ }
++static DEVICE_ATTR_RO(mode);
+
+-static ssize_t pps_show_echo(struct device *dev,
+- struct device_attribute *attr, char *buf)
++static ssize_t echo_show(struct device *dev, struct device_attribute *attr,
++ char *buf)
+ {
+ struct pps_device *pps = dev_get_drvdata(dev);
+
+ return sprintf(buf, "%d\n", !!pps->info.echo);
+ }
++static DEVICE_ATTR_RO(echo);
+
+-static ssize_t pps_show_name(struct device *dev,
+- struct device_attribute *attr, char *buf)
++static ssize_t name_show(struct device *dev, struct device_attribute *attr,
++ char *buf)
+ {
+ struct pps_device *pps = dev_get_drvdata(dev);
+
+ return sprintf(buf, "%s\n", pps->info.name);
+ }
++static DEVICE_ATTR_RO(name);
+
+-static ssize_t pps_show_path(struct device *dev,
+- struct device_attribute *attr, char *buf)
++static ssize_t path_show(struct device *dev, struct device_attribute *attr,
++ char *buf)
+ {
+ struct pps_device *pps = dev_get_drvdata(dev);
+
+ return sprintf(buf, "%s\n", pps->info.path);
+ }
++static DEVICE_ATTR_RO(path);
+
+-struct device_attribute pps_attrs[] = {
+- __ATTR(assert, S_IRUGO, pps_show_assert, NULL),
+- __ATTR(clear, S_IRUGO, pps_show_clear, NULL),
+- __ATTR(mode, S_IRUGO, pps_show_mode, NULL),
+- __ATTR(echo, S_IRUGO, pps_show_echo, NULL),
+- __ATTR(name, S_IRUGO, pps_show_name, NULL),
+- __ATTR(path, S_IRUGO, pps_show_path, NULL),
+- __ATTR_NULL,
++static struct attribute *pps_attrs[] = {
++ &dev_attr_assert.attr,
++ &dev_attr_clear.attr,
++ &dev_attr_mode.attr,
++ &dev_attr_echo.attr,
++ &dev_attr_name.attr,
++ &dev_attr_path.attr,
++ NULL,
++};
++
++static const struct attribute_group pps_group = {
++ .attrs = pps_attrs,
++};
++
++const struct attribute_group *pps_groups[] = {
++ &pps_group,
++ NULL,
+ };
+--- a/include/linux/pps_kernel.h
++++ b/include/linux/pps_kernel.h
+@@ -80,7 +80,7 @@ struct pps_device {
+ * Global variables
+ */
+
+-extern struct device_attribute pps_attrs[];
++extern const struct attribute_group *pps_groups[];
+
+ /*
+ * Internal functions.