| From foo@baz Fri Aug 23 14:12:09 PDT 2013 |
| Date: Fri, 23 Aug 2013 14:12:09 -0700 |
| To: Greg KH <gregkh@linuxfoundation.org> |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Subject: driver-core: remove struct bus_type.dev_attrs |
| |
| Now that all in-kernel users of bus_type.dev_attrs have been converted |
| to use dev_groups instead, the dev_attrs field, and logic surrounding |
| it, can be removed. |
| |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/base/bus.c | 37 +------------------------------------ |
| include/linux/device.h | 2 -- |
| 2 files changed, 1 insertion(+), 38 deletions(-) |
| |
| --- a/drivers/base/bus.c |
| +++ b/drivers/base/bus.c |
| @@ -466,35 +466,6 @@ int bus_for_each_drv(struct bus_type *bu |
| } |
| EXPORT_SYMBOL_GPL(bus_for_each_drv); |
| |
| -static int device_add_attrs(struct bus_type *bus, struct device *dev) |
| -{ |
| - int error = 0; |
| - int i; |
| - |
| - if (!bus->dev_attrs) |
| - return 0; |
| - |
| - for (i = 0; bus->dev_attrs[i].attr.name; i++) { |
| - error = device_create_file(dev, &bus->dev_attrs[i]); |
| - if (error) { |
| - while (--i >= 0) |
| - device_remove_file(dev, &bus->dev_attrs[i]); |
| - break; |
| - } |
| - } |
| - return error; |
| -} |
| - |
| -static void device_remove_attrs(struct bus_type *bus, struct device *dev) |
| -{ |
| - int i; |
| - |
| - if (bus->dev_attrs) { |
| - for (i = 0; bus->dev_attrs[i].attr.name; i++) |
| - device_remove_file(dev, &bus->dev_attrs[i]); |
| - } |
| -} |
| - |
| /** |
| * bus_add_device - add device to bus |
| * @dev: device being added |
| @@ -510,12 +481,9 @@ int bus_add_device(struct device *dev) |
| |
| if (bus) { |
| pr_debug("bus: '%s': add device %s\n", bus->name, dev_name(dev)); |
| - error = device_add_attrs(bus, dev); |
| - if (error) |
| - goto out_put; |
| error = device_add_groups(dev, bus->dev_groups); |
| if (error) |
| - goto out_id; |
| + goto out_put; |
| error = sysfs_create_link(&bus->p->devices_kset->kobj, |
| &dev->kobj, dev_name(dev)); |
| if (error) |
| @@ -532,8 +500,6 @@ out_subsys: |
| sysfs_remove_link(&bus->p->devices_kset->kobj, dev_name(dev)); |
| out_groups: |
| device_remove_groups(dev, bus->dev_groups); |
| -out_id: |
| - device_remove_attrs(bus, dev); |
| out_put: |
| bus_put(dev->bus); |
| return error; |
| @@ -590,7 +556,6 @@ void bus_remove_device(struct device *de |
| sysfs_remove_link(&dev->kobj, "subsystem"); |
| sysfs_remove_link(&dev->bus->p->devices_kset->kobj, |
| dev_name(dev)); |
| - device_remove_attrs(dev->bus, dev); |
| device_remove_groups(dev, dev->bus->dev_groups); |
| if (klist_node_attached(&dev->p->knode_bus)) |
| klist_del(&dev->p->knode_bus); |
| --- a/include/linux/device.h |
| +++ b/include/linux/device.h |
| @@ -66,7 +66,6 @@ extern void bus_remove_file(struct bus_t |
| * @name: The name of the bus. |
| * @dev_name: Used for subsystems to enumerate devices like ("foo%u", dev->id). |
| * @dev_root: Default device to use as the parent. |
| - * @dev_attrs: Default attributes of the devices on the bus. |
| * @bus_groups: Default attributes of the bus. |
| * @dev_groups: Default attributes of the devices on the bus. |
| * @drv_groups: Default attributes of the device drivers on the bus. |
| @@ -112,7 +111,6 @@ struct bus_type { |
| const char *name; |
| const char *dev_name; |
| struct device *dev_root; |
| - struct device_attribute *dev_attrs; /* use dev_groups instead */ |
| const struct attribute_group **bus_groups; |
| const struct attribute_group **dev_groups; |
| const struct attribute_group **drv_groups; |