aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/edac/edac_core.h
diff options
context:
space:
mode:
authorDouglas Thompson <dougthompson@xmission.com>2007-07-19 04:50:29 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-19 13:04:57 -0400
commit1c3631ff1f805cb72644fcde02b7c58950f21cd5 (patch)
tree2d0f8867f21cf2dedb7d94a262028898333583f4 /drivers/edac/edac_core.h
parent8096cfafbb7ad3cb1a286ae7e8086167f4ebb4b6 (diff)
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>
Diffstat (limited to 'drivers/edac/edac_core.h')
-rw-r--r--drivers/edac/edac_core.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/edac/edac_core.h b/drivers/edac/edac_core.h
index bd7f00cf2443..4e31ac438760 100644
--- a/drivers/edac/edac_core.h
+++ b/drivers/edac/edac_core.h
@@ -337,6 +337,9 @@ struct mcidev_sysfs_attribute {
337 */ 337 */
338struct mem_ctl_info { 338struct mem_ctl_info {
339 struct list_head link; /* for global list of mem_ctl_info structs */ 339 struct list_head link; /* for global list of mem_ctl_info structs */
340
341 struct module *owner; /* Module owner of this control struct */
342
340 unsigned long mtype_cap; /* memory types supported by mc */ 343 unsigned long mtype_cap; /* memory types supported by mc */
341 unsigned long edac_ctl_cap; /* Mem controller EDAC capabilities */ 344 unsigned long edac_ctl_cap; /* Mem controller EDAC capabilities */
342 unsigned long edac_cap; /* configuration capabilities - this is 345 unsigned long edac_cap; /* configuration capabilities - this is
@@ -510,7 +513,6 @@ struct edac_device_block {
510 513
511 /* edac sysfs device control */ 514 /* edac sysfs device control */
512 struct kobject kobj; 515 struct kobject kobj;
513 struct completion kobj_complete;
514}; 516};
515 517
516/* device instance control structure */ 518/* device instance control structure */
@@ -525,7 +527,6 @@ struct edac_device_instance {
525 527
526 /* edac sysfs device control */ 528 /* edac sysfs device control */
527 struct kobject kobj; 529 struct kobject kobj;
528 struct completion kobj_complete;
529}; 530};
530 531
531 532
@@ -537,6 +538,8 @@ struct edac_device_ctl_info {
537 /* for global list of edac_device_ctl_info structs */ 538 /* for global list of edac_device_ctl_info structs */
538 struct list_head link; 539 struct list_head link;
539 540
541 struct module *owner; /* Module owner of this control struct */
542
540 int dev_idx; 543 int dev_idx;
541 544
542 /* Per instance controls for this edac_device */ 545 /* Per instance controls for this edac_device */
@@ -587,7 +590,7 @@ struct edac_device_ctl_info {
587 * NMI handlers may be traversing list 590 * NMI handlers may be traversing list
588 */ 591 */
589 struct rcu_head rcu; 592 struct rcu_head rcu;
590 struct completion complete; 593 struct completion removal_complete;
591 594
592 /* sysfs top name under 'edac' directory 595 /* sysfs top name under 'edac' directory
593 * and instance name: 596 * and instance name:
@@ -611,7 +614,6 @@ struct edac_device_ctl_info {
611 * device this structure controls 614 * device this structure controls
612 */ 615 */
613 struct kobject kobj; 616 struct kobject kobj;
614 struct completion kobj_complete;
615}; 617};
616 618
617/* To get from the instance's wq to the beginning of the ctl structure */ 619/* To get from the instance's wq to the beginning of the ctl structure */