drivers/edac: fix edac_device sysfs completion code
With feedback, this patch corrects operation of the kobject release operation
on kobjects, attributes and controls for the edac_device.
Cc: Alan Cox alan@lxorguk.ukuu.org.uk
Signed-off-by: Doug Thompson <dougthompson@xmission.com>
Acked-by: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
diff --git a/drivers/edac/edac_core.h b/drivers/edac/edac_core.h
index bd7f00c..4e31ac4 100644
--- a/drivers/edac/edac_core.h
+++ b/drivers/edac/edac_core.h
@@ -337,6 +337,9 @@
*/
struct mem_ctl_info {
struct list_head link; /* for global list of mem_ctl_info structs */
+
+ struct module *owner; /* Module owner of this control struct */
+
unsigned long mtype_cap; /* memory types supported by mc */
unsigned long edac_ctl_cap; /* Mem controller EDAC capabilities */
unsigned long edac_cap; /* configuration capabilities - this is
@@ -510,7 +513,6 @@
/* edac sysfs device control */
struct kobject kobj;
- struct completion kobj_complete;
};
/* device instance control structure */
@@ -525,7 +527,6 @@
/* edac sysfs device control */
struct kobject kobj;
- struct completion kobj_complete;
};
@@ -537,6 +538,8 @@
/* for global list of edac_device_ctl_info structs */
struct list_head link;
+ struct module *owner; /* Module owner of this control struct */
+
int dev_idx;
/* Per instance controls for this edac_device */
@@ -587,7 +590,7 @@
* NMI handlers may be traversing list
*/
struct rcu_head rcu;
- struct completion complete;
+ struct completion removal_complete;
/* sysfs top name under 'edac' directory
* and instance name:
@@ -611,7 +614,6 @@
* device this structure controls
*/
struct kobject kobj;
- struct completion kobj_complete;
};
/* To get from the instance's wq to the beginning of the ctl structure */