diff options
Diffstat (limited to 's02.patch')
| -rw-r--r-- | s02.patch | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/s02.patch b/s02.patch new file mode 100644 index 00000000000000..039036af77b865 --- /dev/null +++ b/s02.patch @@ -0,0 +1,98 @@ +--- + 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, |
