diff options
| author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-08-16 20:03:21 +0100 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-08-16 14:05:40 -0700 | 
| commit | 9baf3220afe870b2526397919857b271c3affda5 (patch) | |
| tree | 7f76d3be9e5c20162a68f18f5d46868ea2313aa9 /drivers/extcon/extcon-class.c | |
| parent | 1508d8111f0e965ebe06c32dc4d176750eb53c3a (diff) | |
| download | olio-linux-3.10-9baf3220afe870b2526397919857b271c3affda5.tar.xz olio-linux-3.10-9baf3220afe870b2526397919857b271c3affda5.zip  | |
extcon: Ensure dynamically allocated sysfs attributes are initialised
The operation of lockdep requires that all dynamically allocated sysfs
nodes are initialised using sysfs_attr_init() otherwise lots of warnings
are generated. Ensure that all the dynamically allocated attributes that
extcon generates have this done.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/extcon/extcon-class.c')
| -rw-r--r-- | drivers/extcon/extcon-class.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c index f6419f9db76..481cfa0f211 100644 --- a/drivers/extcon/extcon-class.c +++ b/drivers/extcon/extcon-class.c @@ -30,6 +30,7 @@  #include <linux/err.h>  #include <linux/extcon.h>  #include <linux/slab.h> +#include <linux/sysfs.h>  /*   * extcon_cable_name suggests the standard cable names for commonly used @@ -673,10 +674,12 @@ int extcon_dev_register(struct extcon_dev *edev, struct device *dev)  			cable->attr_g.name = str;  			cable->attr_g.attrs = cable->attrs; +			sysfs_attr_init(&cable->attr_name.attr);  			cable->attr_name.attr.name = "name";  			cable->attr_name.attr.mode = 0444;  			cable->attr_name.show = cable_name_show; +			sysfs_attr_init(&cable->attr_state.attr);  			cable->attr_state.attr.name = "state";  			cable->attr_state.attr.mode = 0644;  			cable->attr_state.show = cable_state_show; @@ -722,6 +725,7 @@ int extcon_dev_register(struct extcon_dev *edev, struct device *dev)  				goto err_muex;  			}  			strcpy(name, buf); +			sysfs_attr_init(&edev->d_attrs_muex[index].attr);  			edev->d_attrs_muex[index].attr.name = name;  			edev->d_attrs_muex[index].attr.mode = 0000;  			edev->attrs_muex[index] = &edev->d_attrs_muex[index]  |