aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/edac/edac_module.h
diff options
context:
space:
mode:
authorDoug Thompson <dougthompson@xmission.com>2007-07-26 13:41:15 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-26 14:35:18 -0400
commitd4c1465b7de9686c4c5aa533b15c09ab014aab3a (patch)
tree695434e881a3b395db782fe82e95eee2631b8a2e /drivers/edac/edac_module.h
parentbce19683c17485b584b62b984d6dcf5332181588 (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.h6
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);
66extern void edac_sysfs_pci_teardown(void); 66extern void edac_sysfs_pci_teardown(void);
67extern int edac_pci_get_check_errors(void); 67extern int edac_pci_get_check_errors(void);
68extern int edac_pci_get_poll_msec(void); 68extern int edac_pci_get_poll_msec(void);
69extern void edac_pci_remove_sysfs(struct edac_pci_ctl_info *pci);
70extern void edac_pci_handle_pe(struct edac_pci_ctl_info *pci, const char *msg);
71extern 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__ */