| From foo@baz Wed Nov 23 11:18:27 CET 2016 |
| Date: Wed, 23 Nov 2016 11:18:27 +0100 |
| To: Greg KH <gregkh@linuxfoundation.org> |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Subject: remove class_attrs from struct class |
| |
| This field is no longer used or needed (use class_groups instead), so it |
| can be removed along with the driver core functionality that created and |
| removed these files. |
| |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/base/class.c | 33 --------------------------------- |
| include/linux/device.h | 2 -- |
| 2 files changed, 35 deletions(-) |
| |
| --- a/drivers/base/class.c |
| +++ b/drivers/base/class.c |
| @@ -119,36 +119,6 @@ static void class_put(struct class *cls) |
| kset_put(&cls->p->subsys); |
| } |
| |
| -static int add_class_attrs(struct class *cls) |
| -{ |
| - int i; |
| - int error = 0; |
| - |
| - if (cls->class_attrs) { |
| - for (i = 0; cls->class_attrs[i].attr.name; i++) { |
| - error = class_create_file(cls, &cls->class_attrs[i]); |
| - if (error) |
| - goto error; |
| - } |
| - } |
| -done: |
| - return error; |
| -error: |
| - while (--i >= 0) |
| - class_remove_file(cls, &cls->class_attrs[i]); |
| - goto done; |
| -} |
| - |
| -static void remove_class_attrs(struct class *cls) |
| -{ |
| - int i; |
| - |
| - if (cls->class_attrs) { |
| - for (i = 0; cls->class_attrs[i].attr.name; i++) |
| - class_remove_file(cls, &cls->class_attrs[i]); |
| - } |
| -} |
| - |
| static void klist_class_dev_get(struct klist_node *n) |
| { |
| struct device *dev = container_of(n, struct device, knode_class); |
| @@ -217,8 +187,6 @@ int __class_register(struct class *cls, |
| } |
| error = class_add_groups(class_get(cls), cls->class_groups); |
| class_put(cls); |
| - error = add_class_attrs(class_get(cls)); |
| - class_put(cls); |
| return error; |
| } |
| EXPORT_SYMBOL_GPL(__class_register); |
| @@ -226,7 +194,6 @@ EXPORT_SYMBOL_GPL(__class_register); |
| void class_unregister(struct class *cls) |
| { |
| pr_debug("device class '%s': unregistering\n", cls->name); |
| - remove_class_attrs(cls); |
| class_remove_groups(cls, cls->class_groups); |
| kset_unregister(&cls->p->subsys); |
| } |
| --- a/include/linux/device.h |
| +++ b/include/linux/device.h |
| @@ -363,7 +363,6 @@ int subsys_virtual_register(struct bus_t |
| * struct class - device classes |
| * @name: Name of the class. |
| * @owner: The module owner. |
| - * @class_attrs: Default attributes of this class. |
| * @class_groups: Default attributes of this class. |
| * @dev_groups: Default attributes of the devices that belong to the class. |
| * @dev_kobj: The kobject that represents this class and links it into the hierarchy. |
| @@ -392,7 +391,6 @@ struct class { |
| const char *name; |
| struct module *owner; |
| |
| - struct class_attribute *class_attrs; |
| const struct attribute_group **class_groups; |
| const struct attribute_group **dev_groups; |
| struct kobject *dev_kobj; |