Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+30 -32
+30 -32
drivers/input/serio/serio.c
··· 365 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 370 struct serio *serio = to_serio_port(dev); 371 371 ··· 397 397 return sprintf(buf, "%02x\n", serio->id.extra); 398 398 } 399 399 400 - static DEVICE_ATTR_RO(type); 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) 400 + static ssize_t drvctl_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) 424 401 { 425 402 struct serio *serio = to_serio_port(dev); 426 403 struct device_driver *drv; ··· 451 474 return retval; 452 475 } 453 476 454 - static struct device_attribute serio_device_attrs[] = { 455 - __ATTR(description, S_IRUGO, serio_show_description, NULL), 456 - __ATTR(modalias, S_IRUGO, serio_show_modalias, NULL), 457 - __ATTR(drvctl, S_IWUSR, NULL, serio_rebind_driver), 458 - __ATTR(bind_mode, S_IWUSR | S_IRUGO, serio_show_bind_mode, serio_set_bind_mode), 459 - __ATTR_NULL 477 + static DEVICE_ATTR_RO(type); 478 + static DEVICE_ATTR_RO(proto); 479 + static DEVICE_ATTR_RO(id); 480 + static DEVICE_ATTR_RO(extra); 481 + static DEVICE_ATTR_RO(modalias); 482 + static DEVICE_ATTR_WO(drvctl); 483 + static DEVICE_ATTR(description, S_IRUGO, serio_show_description, NULL); 484 + static DEVICE_ATTR(bind_mode, S_IWUSR | S_IRUGO, serio_show_bind_mode, serio_set_bind_mode); 485 + 486 + static struct attribute *serio_device_id_attrs[] = { 487 + &dev_attr_type.attr, 488 + &dev_attr_proto.attr, 489 + &dev_attr_id.attr, 490 + &dev_attr_extra.attr, 491 + &dev_attr_modalias.attr, 492 + &dev_attr_description.attr, 493 + &dev_attr_drvctl.attr, 494 + &dev_attr_bind_mode.attr, 495 + NULL 460 496 }; 461 497 498 + static struct attribute_group serio_id_attr_group = { 499 + .name = "id", 500 + .attrs = serio_device_id_attrs, 501 + }; 502 + 503 + static const struct attribute_group *serio_device_attr_groups[] = { 504 + &serio_id_attr_group, 505 + NULL 506 + }; 462 507 463 508 static void serio_release_port(struct device *dev) 464 509 { ··· 995 996 996 997 static struct bus_type serio_bus = { 997 998 .name = "serio", 998 - .dev_attrs = serio_device_attrs, 999 999 .drv_groups = serio_driver_groups, 1000 1000 .match = serio_bus_match, 1001 1001 .uevent = serio_uevent,