drivers/edac: cleanup workq ifdefs
The origin of this code comes from patches at sourceforge, that allow EDAC to be updated to various kernels. With kernel version 2.6.20 a new workq system was installed, thus the patches needed to be modified based on the kernel version. For submitting to the latest kernel.org those #ifdefs are removed 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>
This commit is contained in:
parent
542b25881a
commit
86aa8cb7bc
|
@ -395,11 +395,8 @@ struct mem_ctl_info {
|
||||||
struct completion kobj_complete;
|
struct completion kobj_complete;
|
||||||
|
|
||||||
/* work struct for this MC */
|
/* work struct for this MC */
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
||||||
struct delayed_work work;
|
struct delayed_work work;
|
||||||
#else
|
|
||||||
struct work_struct work;
|
|
||||||
#endif
|
|
||||||
/* the internal state of this controller instance */
|
/* the internal state of this controller instance */
|
||||||
int op_state;
|
int op_state;
|
||||||
};
|
};
|
||||||
|
@ -530,11 +527,7 @@ struct edac_device_ctl_info {
|
||||||
/* the internal state of this controller instance */
|
/* the internal state of this controller instance */
|
||||||
int op_state;
|
int op_state;
|
||||||
/* work struct for this instance */
|
/* work struct for this instance */
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
||||||
struct delayed_work work;
|
struct delayed_work work;
|
||||||
#else
|
|
||||||
struct work_struct work;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* pointer to edac polling checking routine:
|
/* pointer to edac polling checking routine:
|
||||||
* If NOT NULL: points to polling check routine
|
* If NOT NULL: points to polling check routine
|
||||||
|
@ -647,11 +640,7 @@ struct edac_pci_ctl_info {
|
||||||
/* the internal state of this controller instance */
|
/* the internal state of this controller instance */
|
||||||
int op_state;
|
int op_state;
|
||||||
/* work struct for this instance */
|
/* work struct for this instance */
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
||||||
struct delayed_work work;
|
struct delayed_work work;
|
||||||
#else
|
|
||||||
struct work_struct work;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* pointer to edac polling checking routine:
|
/* pointer to edac polling checking routine:
|
||||||
* If NOT NULL: points to polling check routine
|
* If NOT NULL: points to polling check routine
|
||||||
|
|
|
@ -332,17 +332,10 @@ EXPORT_SYMBOL(edac_device_find);
|
||||||
* edac_device_workq_function
|
* edac_device_workq_function
|
||||||
* performs the operation scheduled by a workq request
|
* performs the operation scheduled by a workq request
|
||||||
*/
|
*/
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
||||||
static void edac_device_workq_function(struct work_struct *work_req)
|
static void edac_device_workq_function(struct work_struct *work_req)
|
||||||
{
|
{
|
||||||
struct delayed_work *d_work = (struct delayed_work *)work_req;
|
struct delayed_work *d_work = (struct delayed_work *)work_req;
|
||||||
struct edac_device_ctl_info *edac_dev = to_edac_device_ctl_work(d_work);
|
struct edac_device_ctl_info *edac_dev = to_edac_device_ctl_work(d_work);
|
||||||
#else
|
|
||||||
static void edac_device_workq_function(void *ptr)
|
|
||||||
{
|
|
||||||
struct edac_device_ctl_info *edac_dev =
|
|
||||||
(struct edac_device_ctl_info *)ptr;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//debugf0("%s() here and running\n", __func__);
|
//debugf0("%s() here and running\n", __func__);
|
||||||
lock_device_list();
|
lock_device_list();
|
||||||
|
@ -372,11 +365,7 @@ void edac_device_workq_setup(struct edac_device_ctl_info *edac_dev,
|
||||||
edac_dev->poll_msec = msec;
|
edac_dev->poll_msec = msec;
|
||||||
edac_calc_delay(edac_dev); /* Calc delay jiffies */
|
edac_calc_delay(edac_dev); /* Calc delay jiffies */
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
||||||
INIT_DELAYED_WORK(&edac_dev->work, edac_device_workq_function);
|
INIT_DELAYED_WORK(&edac_dev->work, edac_device_workq_function);
|
||||||
#else
|
|
||||||
INIT_WORK(&edac_dev->work, edac_device_workq_function, edac_dev);
|
|
||||||
#endif
|
|
||||||
queue_delayed_work(edac_workqueue, &edac_dev->work, edac_dev->delay);
|
queue_delayed_work(edac_workqueue, &edac_dev->work, edac_dev->delay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -235,16 +235,10 @@ static int edac_mc_assert_error_check_and_clear(void)
|
||||||
* edac_mc_workq_function
|
* edac_mc_workq_function
|
||||||
* performs the operation scheduled by a workq request
|
* performs the operation scheduled by a workq request
|
||||||
*/
|
*/
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
||||||
static void edac_mc_workq_function(struct work_struct *work_req)
|
static void edac_mc_workq_function(struct work_struct *work_req)
|
||||||
{
|
{
|
||||||
struct delayed_work *d_work = (struct delayed_work *)work_req;
|
struct delayed_work *d_work = (struct delayed_work *)work_req;
|
||||||
struct mem_ctl_info *mci = to_edac_mem_ctl_work(d_work);
|
struct mem_ctl_info *mci = to_edac_mem_ctl_work(d_work);
|
||||||
#else
|
|
||||||
static void edac_mc_workq_function(void *ptr)
|
|
||||||
{
|
|
||||||
struct mem_ctl_info *mci = (struct mem_ctl_info *)ptr;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mutex_lock(&mem_ctls_mutex);
|
mutex_lock(&mem_ctls_mutex);
|
||||||
|
|
||||||
|
@ -274,11 +268,7 @@ void edac_mc_workq_setup(struct mem_ctl_info *mci, unsigned msec)
|
||||||
{
|
{
|
||||||
debugf0("%s()\n", __func__);
|
debugf0("%s()\n", __func__);
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
||||||
INIT_DELAYED_WORK(&mci->work, edac_mc_workq_function);
|
INIT_DELAYED_WORK(&mci->work, edac_mc_workq_function);
|
||||||
#else
|
|
||||||
INIT_WORK(&mci->work, edac_mc_workq_function, mci);
|
|
||||||
#endif
|
|
||||||
queue_delayed_work(edac_workqueue, &mci->work, msecs_to_jiffies(msec));
|
queue_delayed_work(edac_workqueue, &mci->work, msecs_to_jiffies(msec));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -214,16 +214,10 @@ EXPORT_SYMBOL_GPL(edac_pci_find);
|
||||||
* edac_pci_workq_function()
|
* edac_pci_workq_function()
|
||||||
* performs the operation scheduled by a workq request
|
* performs the operation scheduled by a workq request
|
||||||
*/
|
*/
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
||||||
static void edac_pci_workq_function(struct work_struct *work_req)
|
static void edac_pci_workq_function(struct work_struct *work_req)
|
||||||
{
|
{
|
||||||
struct delayed_work *d_work = (struct delayed_work *)work_req;
|
struct delayed_work *d_work = (struct delayed_work *)work_req;
|
||||||
struct edac_pci_ctl_info *pci = to_edac_pci_ctl_work(d_work);
|
struct edac_pci_ctl_info *pci = to_edac_pci_ctl_work(d_work);
|
||||||
#else
|
|
||||||
static void edac_pci_workq_function(void *ptr)
|
|
||||||
{
|
|
||||||
struct edac_pci_ctl_info *pci = ptr;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
edac_lock_pci_list();
|
edac_lock_pci_list();
|
||||||
|
|
||||||
|
@ -248,11 +242,7 @@ static void edac_pci_workq_setup(struct edac_pci_ctl_info *pci,
|
||||||
{
|
{
|
||||||
debugf0("%s()\n", __func__);
|
debugf0("%s()\n", __func__);
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
||||||
INIT_DELAYED_WORK(&pci->work, edac_pci_workq_function);
|
INIT_DELAYED_WORK(&pci->work, edac_pci_workq_function);
|
||||||
#else
|
|
||||||
INIT_WORK(&pci->work, edac_pci_workq_function, pci);
|
|
||||||
#endif
|
|
||||||
queue_delayed_work(edac_workqueue, &pci->work,
|
queue_delayed_work(edac_workqueue, &pci->work,
|
||||||
msecs_to_jiffies(edac_pci_get_poll_msec()));
|
msecs_to_jiffies(edac_pci_get_poll_msec()));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue