extcon: Ensure dynamically allocated sysfs attributes are initialised
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 16 Aug 2012 19:03:21 +0000 (20:03 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Aug 2012 21:05:40 +0000 (14:05 -0700)
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>
drivers/extcon/extcon-class.c

index f6419f9..481cfa0 100644 (file)
@@ -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]