summaryrefslogtreecommitdiff
path: root/drivers/edac/edac_module.h
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2015-11-30 21:02:01 +0300
committerBorislav Petkov <bp@suse.de>2015-12-11 18:56:43 +0300
commitc4cf3b454ecaa222aad9017932bd3b9c9325d931 (patch)
tree8e132709bdcaa097d84bba838bbd51a395607c3d /drivers/edac/edac_module.h
parente136fa016f2f06ca6e00d4f99894b4424f3f2a5c (diff)
downloadlinux-c4cf3b454ecaa222aad9017932bd3b9c9325d931.tar.xz
EDAC: Rework workqueue handling
Hide the EDAC workqueue pointer in a separate compilation unit and add accessors for the workqueue manipulations needed. Remove edac_pci_reset_delay_period() which wasn't used by anything. It seems it got added without a user with 91b99041c1d5 ("drivers/edac: updated PCI monitoring") Signed-off-by: Borislav Petkov <bp@suse.de>
Diffstat (limited to 'drivers/edac/edac_module.h')
-rw-r--r--drivers/edac/edac_module.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/edac/edac_module.h b/drivers/edac/edac_module.h
index 7388abfbf10b..cfaacb99c973 100644
--- a/drivers/edac/edac_module.h
+++ b/drivers/edac/edac_module.h
@@ -47,7 +47,12 @@ extern int edac_device_create_sysfs(struct edac_device_ctl_info *edac_dev);
extern void edac_device_remove_sysfs(struct edac_device_ctl_info *edac_dev);
/* edac core workqueue: single CPU mode */
-extern struct workqueue_struct *edac_workqueue;
+int edac_workqueue_setup(void);
+void edac_workqueue_teardown(void);
+bool edac_queue_work(struct delayed_work *work, unsigned long delay);
+bool edac_stop_work(struct delayed_work *work);
+bool edac_mod_work(struct delayed_work *work, unsigned long delay);
+
extern void edac_device_reset_delay_period(struct edac_device_ctl_info
*edac_dev, unsigned long value);
extern void edac_mc_reset_delay_period(unsigned long value);