diff options
Diffstat (limited to 'input-serio-remove-bus-usage-of-dev_attrs.patch')
| -rw-r--r-- | input-serio-remove-bus-usage-of-dev_attrs.patch | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/input-serio-remove-bus-usage-of-dev_attrs.patch b/input-serio-remove-bus-usage-of-dev_attrs.patch new file mode 100644 index 00000000000000..43ba0e10413ab2 --- /dev/null +++ b/input-serio-remove-bus-usage-of-dev_attrs.patch @@ -0,0 +1,112 @@ +From foo@baz Mon Oct 7 18:03:09 PDT 2013 +Date: Mon, 07 Oct 2013 18:03:09 -0700 +To: Greg KH <gregkh@linuxfoundation.org> +From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +Subject: [PATCH 02/02] input: serio: remove bus usage of dev_attrs + +The dev_attrs field of struct bus_type is going away soon, so move the +remaining sysfs files that are being described with this field to use +dev_groups instead. + +Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> +Cc: <linux-input@vger.kernel.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> + +--- + drivers/input/serio/serio.c | 62 +++++++++++++++++++++----------------------- + 1 file changed, 30 insertions(+), 32 deletions(-) + +--- a/drivers/input/serio/serio.c ++++ b/drivers/input/serio/serio.c +@@ -365,7 +365,7 @@ static ssize_t serio_show_description(st + return sprintf(buf, "%s\n", serio->name); + } + +-static ssize_t serio_show_modalias(struct device *dev, struct device_attribute *attr, char *buf) ++static ssize_t modalias_show(struct device *dev, struct device_attribute *attr, char *buf) + { + struct serio *serio = to_serio_port(dev); + +@@ -397,30 +397,7 @@ static ssize_t extra_show(struct device + return sprintf(buf, "%02x\n", serio->id.extra); + } + +-static DEVICE_ATTR_RO(type); +-static DEVICE_ATTR_RO(proto); +-static DEVICE_ATTR_RO(id); +-static DEVICE_ATTR_RO(extra); +- +-static struct attribute *serio_device_id_attrs[] = { +- &dev_attr_type.attr, +- &dev_attr_proto.attr, +- &dev_attr_id.attr, +- &dev_attr_extra.attr, +- NULL +-}; +- +-static struct attribute_group serio_id_attr_group = { +- .name = "id", +- .attrs = serio_device_id_attrs, +-}; +- +-static const struct attribute_group *serio_device_attr_groups[] = { +- &serio_id_attr_group, +- NULL +-}; +- +-static ssize_t serio_rebind_driver(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) ++static ssize_t drvctl_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) + { + struct serio *serio = to_serio_port(dev); + struct device_driver *drv; +@@ -474,14 +451,36 @@ static ssize_t serio_set_bind_mode(struc + return retval; + } + +-static struct device_attribute serio_device_attrs[] = { +- __ATTR(description, S_IRUGO, serio_show_description, NULL), +- __ATTR(modalias, S_IRUGO, serio_show_modalias, NULL), +- __ATTR(drvctl, S_IWUSR, NULL, serio_rebind_driver), +- __ATTR(bind_mode, S_IWUSR | S_IRUGO, serio_show_bind_mode, serio_set_bind_mode), +- __ATTR_NULL ++static DEVICE_ATTR_RO(type); ++static DEVICE_ATTR_RO(proto); ++static DEVICE_ATTR_RO(id); ++static DEVICE_ATTR_RO(extra); ++static DEVICE_ATTR_RO(modalias); ++static DEVICE_ATTR_WO(drvctl); ++static DEVICE_ATTR(description, S_IRUGO, serio_show_description, NULL); ++static DEVICE_ATTR(bind_mode, S_IWUSR | S_IRUGO, serio_show_bind_mode, serio_set_bind_mode); ++ ++static struct attribute *serio_device_id_attrs[] = { ++ &dev_attr_type.attr, ++ &dev_attr_proto.attr, ++ &dev_attr_id.attr, ++ &dev_attr_extra.attr, ++ &dev_attr_modalias.attr, ++ &dev_attr_description.attr, ++ &dev_attr_drvctl.attr, ++ &dev_attr_bind_mode.attr, ++ NULL ++}; ++ ++static struct attribute_group serio_id_attr_group = { ++ .name = "id", ++ .attrs = serio_device_id_attrs, + }; + ++static const struct attribute_group *serio_device_attr_groups[] = { ++ &serio_id_attr_group, ++ NULL ++}; + + static void serio_release_port(struct device *dev) + { +@@ -996,7 +995,6 @@ EXPORT_SYMBOL(serio_interrupt); + + static struct bus_type serio_bus = { + .name = "serio", +- .dev_attrs = serio_device_attrs, + .drv_groups = serio_driver_groups, + .match = serio_bus_match, + .uevent = serio_uevent, |
