diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-10-07 21:09:08 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-10-19 23:02:44 -0400 |
commit | 3778a2129bcce84f684cc0017ed20d2524afd289 (patch) | |
tree | d709e0bbd763241f91e30090c7e1894778f4a234 | |
parent | 7eab8ded347244f1464006ace851521254cabb07 (diff) |
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>
-rw-r--r-- | drivers/input/serio/serio.c | 62 |
1 files changed, 30 insertions, 32 deletions
diff --git a/drivers/input/serio/serio.c b/drivers/input/serio/serio.c index 478880e3dde2..98707fb2cb5d 100644 --- a/drivers/input/serio/serio.c +++ b/drivers/input/serio/serio.c | |||
@@ -365,7 +365,7 @@ static ssize_t serio_show_description(struct device *dev, struct device_attribut | |||
365 | return sprintf(buf, "%s\n", serio->name); | 365 | return sprintf(buf, "%s\n", serio->name); |
366 | } | 366 | } |
367 | 367 | ||
368 | static ssize_t serio_show_modalias(struct device *dev, struct device_attribute *attr, char *buf) | 368 | static ssize_t modalias_show(struct device *dev, struct device_attribute *attr, char *buf) |
369 | { | 369 | { |
370 | struct serio *serio = to_serio_port(dev); | 370 | struct serio *serio = to_serio_port(dev); |
371 | 371 | ||
@@ -397,30 +397,7 @@ static ssize_t extra_show(struct device *dev, struct device_attribute *attr, cha | |||
397 | return sprintf(buf, "%02x\n", serio->id.extra); | 397 | return sprintf(buf, "%02x\n", serio->id.extra); |
398 | } | 398 | } |
399 | 399 | ||
400 | static DEVICE_ATTR_RO(type); | 400 | static ssize_t drvctl_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) |
401 | static DEVICE_ATTR_RO(proto); | ||
402 | static DEVICE_ATTR_RO(id); | ||
403 | static DEVICE_ATTR_RO(extra); | ||
404 | |||
405 | static struct attribute *serio_device_id_attrs[] = { | ||
406 | &dev_attr_type.attr, | ||
407 | &dev_attr_proto.attr, | ||
408 | &dev_attr_id.attr, | ||
409 | &dev_attr_extra.attr, | ||
410 | NULL | ||
411 | }; | ||
412 | |||
413 | static struct attribute_group serio_id_attr_group = { | ||
414 | .name = "id", | ||
415 | .attrs = serio_device_id_attrs, | ||
416 | }; | ||
417 | |||
418 | static const struct attribute_group *serio_device_attr_groups[] = { | ||
419 | &serio_id_attr_group, | ||
420 | NULL | ||
421 | }; | ||
422 | |||
423 | static ssize_t serio_rebind_driver(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) | ||
424 | { | 401 | { |
425 | struct serio *serio = to_serio_port(dev); | 402 | struct serio *serio = to_serio_port(dev); |
426 | struct device_driver *drv; | 403 | struct device_driver *drv; |
@@ -474,14 +451,36 @@ static ssize_t serio_set_bind_mode(struct device *dev, struct device_attribute * | |||
474 | return retval; | 451 | return retval; |
475 | } | 452 | } |
476 | 453 | ||
477 | static struct device_attribute serio_device_attrs[] = { | 454 | static DEVICE_ATTR_RO(type); |
478 | __ATTR(description, S_IRUGO, serio_show_description, NULL), | 455 | static DEVICE_ATTR_RO(proto); |
479 | __ATTR(modalias, S_IRUGO, serio_show_modalias, NULL), | 456 | static DEVICE_ATTR_RO(id); |
480 | __ATTR(drvctl, S_IWUSR, NULL, serio_rebind_driver), | 457 | static DEVICE_ATTR_RO(extra); |
481 | __ATTR(bind_mode, S_IWUSR | S_IRUGO, serio_show_bind_mode, serio_set_bind_mode), | 458 | static DEVICE_ATTR_RO(modalias); |
482 | __ATTR_NULL | 459 | static DEVICE_ATTR_WO(drvctl); |
460 | static DEVICE_ATTR(description, S_IRUGO, serio_show_description, NULL); | ||
461 | static DEVICE_ATTR(bind_mode, S_IWUSR | S_IRUGO, serio_show_bind_mode, serio_set_bind_mode); | ||
462 | |||
463 | static struct attribute *serio_device_id_attrs[] = { | ||
464 | &dev_attr_type.attr, | ||
465 | &dev_attr_proto.attr, | ||
466 | &dev_attr_id.attr, | ||
467 | &dev_attr_extra.attr, | ||
468 | &dev_attr_modalias.attr, | ||
469 | &dev_attr_description.attr, | ||
470 | &dev_attr_drvctl.attr, | ||
471 | &dev_attr_bind_mode.attr, | ||
472 | NULL | ||
473 | }; | ||
474 | |||
475 | static struct attribute_group serio_id_attr_group = { | ||
476 | .name = "id", | ||
477 | .attrs = serio_device_id_attrs, | ||
483 | }; | 478 | }; |
484 | 479 | ||
480 | static const struct attribute_group *serio_device_attr_groups[] = { | ||
481 | &serio_id_attr_group, | ||
482 | NULL | ||
483 | }; | ||
485 | 484 | ||
486 | static void serio_release_port(struct device *dev) | 485 | static void serio_release_port(struct device *dev) |
487 | { | 486 | { |
@@ -996,7 +995,6 @@ EXPORT_SYMBOL(serio_interrupt); | |||
996 | 995 | ||
997 | static struct bus_type serio_bus = { | 996 | static struct bus_type serio_bus = { |
998 | .name = "serio", | 997 | .name = "serio", |
999 | .dev_attrs = serio_device_attrs, | ||
1000 | .drv_groups = serio_driver_groups, | 998 | .drv_groups = serio_driver_groups, |
1001 | .match = serio_bus_match, | 999 | .match = serio_bus_match, |
1002 | .uevent = serio_uevent, | 1000 | .uevent = serio_uevent, |