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>
This commit is contained in:
committed by
Linus Torvalds
parent
bce19683c1
commit
d4c1465b7d
@@ -66,6 +66,10 @@ extern int edac_sysfs_pci_setup(void);
|
||||
extern void edac_sysfs_pci_teardown(void);
|
||||
extern int edac_pci_get_check_errors(void);
|
||||
extern int edac_pci_get_poll_msec(void);
|
||||
extern void edac_pci_remove_sysfs(struct edac_pci_ctl_info *pci);
|
||||
extern void edac_pci_handle_pe(struct edac_pci_ctl_info *pci, const char *msg);
|
||||
extern void edac_pci_handle_npe(struct edac_pci_ctl_info *pci,
|
||||
const char *msg);
|
||||
#else /* CONFIG_PCI */
|
||||
/* pre-process these away */
|
||||
#define edac_pci_do_parity_check()
|
||||
@@ -74,6 +78,8 @@ extern int edac_pci_get_poll_msec(void);
|
||||
#define edac_sysfs_pci_teardown()
|
||||
#define edac_pci_get_check_errors()
|
||||
#define edac_pci_get_poll_msec()
|
||||
#define edac_pci_handle_pe()
|
||||
#define edac_pci_handle_npe()
|
||||
#endif /* CONFIG_PCI */
|
||||
|
||||
#endif /* __EDAC_MODULE_H__ */
|
||||
|
Reference in New Issue
Block a user