diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-07-09 15:24:25 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-07-09 15:24:25 -0700 |
| commit | aaf275f945460b5cb5ee6ea9ef95b06db5334461 (patch) | |
| tree | 8dd916f867832927b6cf9e91fbc14340ad8125a6 /pps-convert-class-code-to-use-dev_groups.patch | |
| parent | 1cfe8e5d3a8ac05c5a39afc11f57ac2c9fdabaa5 (diff) | |
| download | patches-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.patch | 143 |
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. |
