diff options
author | Doug Thompson <dougthompson@xmission.com> | 2007-07-26 13:41:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-26 14:35:18 -0400 |
commit | d4c1465b7de9686c4c5aa533b15c09ab014aab3a (patch) | |
tree | 695434e881a3b395db782fe82e95eee2631b8a2e /drivers/edac/edac_module.h | |
parent | bce19683c17485b584b62b984d6dcf5332181588 (diff) |
drivers/edac: fix edac_pci sysfs
This patch fixes sysfs exit code for the EDAC PCI device in a similiar manner
and the previous fixes for EDAC_MC and EDAC_DEVICE.
It removes the old (and incorrect) completion model and uses reference counts
on per instance kobjects and on the edac core module.
This pattern was applied to the edac_mc and edac_device code, but the EDAC PCI
code was missed. In addition, this fixes a system hang after a low level
driver was unloaded. (A cleanup function was called twice, which really
screwed things up)
Cc: Greg KH <greg@kroah.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Doug Thompson <dougthompson@xmission.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_module.h')
-rw-r--r-- | drivers/edac/edac_module.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/edac/edac_module.h b/drivers/edac/edac_module.h index 3664ae9ccd63..cbc419c8ebc1 100644 --- a/drivers/edac/edac_module.h +++ b/drivers/edac/edac_module.h | |||
@@ -66,6 +66,10 @@ extern int edac_sysfs_pci_setup(void); | |||
66 | extern void edac_sysfs_pci_teardown(void); | 66 | extern void edac_sysfs_pci_teardown(void); |
67 | extern int edac_pci_get_check_errors(void); | 67 | extern int edac_pci_get_check_errors(void); |
68 | extern int edac_pci_get_poll_msec(void); | 68 | extern int edac_pci_get_poll_msec(void); |
69 | extern void edac_pci_remove_sysfs(struct edac_pci_ctl_info *pci); | ||
70 | extern void edac_pci_handle_pe(struct edac_pci_ctl_info *pci, const char *msg); | ||
71 | extern void edac_pci_handle_npe(struct edac_pci_ctl_info *pci, | ||
72 | const char *msg); | ||
69 | #else /* CONFIG_PCI */ | 73 | #else /* CONFIG_PCI */ |
70 | /* pre-process these away */ | 74 | /* pre-process these away */ |
71 | #define edac_pci_do_parity_check() | 75 | #define edac_pci_do_parity_check() |
@@ -74,6 +78,8 @@ extern int edac_pci_get_poll_msec(void); | |||
74 | #define edac_sysfs_pci_teardown() | 78 | #define edac_sysfs_pci_teardown() |
75 | #define edac_pci_get_check_errors() | 79 | #define edac_pci_get_check_errors() |
76 | #define edac_pci_get_poll_msec() | 80 | #define edac_pci_get_poll_msec() |
81 | #define edac_pci_handle_pe() | ||
82 | #define edac_pci_handle_npe() | ||
77 | #endif /* CONFIG_PCI */ | 83 | #endif /* CONFIG_PCI */ |
78 | 84 | ||
79 | #endif /* __EDAC_MODULE_H__ */ | 85 | #endif /* __EDAC_MODULE_H__ */ |