drivers/edac: updated PCI monitoring
Moving PCI to a per-instance device model
This should include the correct sysfs setup as well. Please review.
Signed-off-by: Dave Jiang <djiang@mvista.com>
Signed-off-by: Douglas Thompson <dougthompson@xmission.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_module.c b/drivers/edac/edac_module.c
index dc900ed..38e4a71 100644
--- a/drivers/edac/edac_module.c
+++ b/drivers/edac/edac_module.c
@@ -35,6 +35,25 @@
static int edac_class_valid = 0;
/*
+ * edac_op_state_toString()
+ */
+char * edac_op_state_toString(int opstate)
+{
+ if (opstate == OP_RUNNING_POLL)
+ return "POLLED";
+ else if (opstate == OP_RUNNING_INTERRUPT)
+ return "INTERRUPT";
+ else if (opstate == OP_RUNNING_POLL_INTR)
+ return "POLL-INTR";
+ else if (opstate == OP_ALLOC)
+ return "ALLOC";
+ else if (opstate == OP_OFFLINE)
+ return "OFFLINE";
+
+ return "UNKNOWN";
+}
+
+/*
* edac_get_edac_class()
*
* return pointer to the edac class of 'edac'
@@ -153,26 +172,16 @@
goto error_sysfs;
}
- /* Create the PCI parity sysfs entries */
- if (edac_sysfs_pci_setup()) {
- edac_printk(KERN_ERR, EDAC_MC,
- "PCI: Error initializing sysfs code\n");
- err = -ENODEV;
- goto error_mem;
- }
-
/* Setup/Initialize the edac_device system */
err = edac_workqueue_setup();
if (err) {
edac_printk(KERN_ERR, EDAC_MC, "init WorkQueue failure\n");
- goto error_pci;
+ goto error_mem;
}
return 0;
/* Error teardown stack */
-error_pci:
- edac_sysfs_pci_teardown();
error_mem:
edac_sysfs_memctrl_teardown();
error_sysfs:
@@ -192,7 +201,6 @@
/* tear down the various subsystems*/
edac_workqueue_teardown();
edac_sysfs_memctrl_teardown();
- edac_sysfs_pci_teardown();
edac_unregister_sysfs_edac_name();
}