]> err.no Git - linux-2.6/blobdiff - drivers/edac/edac_device.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
[linux-2.6] / drivers / edac / edac_device.c
index f3690a697cf98a88e51e57f02d36bac13bdd1580..63372fa7ecfe63ec6de319e4177a141c45bb508c 100644 (file)
@@ -36,7 +36,7 @@
  * is protected by the 'device_ctls_mutex' lock
  */
 static DEFINE_MUTEX(device_ctls_mutex);
-static struct list_head edac_device_list = LIST_HEAD_INIT(edac_device_list);
+static LIST_HEAD(edac_device_list);
 
 #ifdef CONFIG_EDAC_DEBUG
 static void edac_device_dump_device(struct edac_device_ctl_info *edac_dev)
@@ -155,6 +155,10 @@ struct edac_device_ctl_info *edac_device_alloc_ctl_info(
        dev_ctl->instances = dev_inst;
        dev_ctl->pvt_info = pvt;
 
+       /* Default logging of CEs and UEs */
+       dev_ctl->log_ce = 1;
+       dev_ctl->log_ue = 1;
+
        /* Name of this edac device */
        snprintf(dev_ctl->name,sizeof(dev_ctl->name),"%s",edac_device_name);
 
@@ -371,37 +375,6 @@ static void del_edac_device_from_global_list(struct edac_device_ctl_info
        wait_for_completion(&edac_device->removal_complete);
 }
 
-/**
- * edac_device_find
- *     Search for a edac_device_ctl_info structure whose index is 'idx'.
- *
- * If found, return a pointer to the structure.
- * Else return NULL.
- *
- * Caller must hold device_ctls_mutex.
- */
-struct edac_device_ctl_info *edac_device_find(int idx)
-{
-       struct list_head *item;
-       struct edac_device_ctl_info *edac_dev;
-
-       /* Iterate over list, looking for exact match of ID */
-       list_for_each(item, &edac_device_list) {
-               edac_dev = list_entry(item, struct edac_device_ctl_info, link);
-
-               if (edac_dev->dev_idx >= idx) {
-                       if (edac_dev->dev_idx == idx)
-                               return edac_dev;
-
-                       /* not on list, so terminate early */
-                       break;
-               }
-       }
-
-       return NULL;
-}
-EXPORT_SYMBOL_GPL(edac_device_find);
-
 /*
  * edac_device_workq_function
  *     performs the operation scheduled by a workq request
@@ -436,7 +409,7 @@ static void edac_device_workq_function(struct work_struct *work_req)
         */
        if (edac_dev->poll_msec == 1000)
                queue_delayed_work(edac_workqueue, &edac_dev->work,
-                               round_jiffies(edac_dev->delay));
+                               round_jiffies_relative(edac_dev->delay));
        else
                queue_delayed_work(edac_workqueue, &edac_dev->work,
                                edac_dev->delay);
@@ -468,7 +441,7 @@ void edac_device_workq_setup(struct edac_device_ctl_info *edac_dev,
         */
        if (edac_dev->poll_msec == 1000)
                queue_delayed_work(edac_workqueue, &edac_dev->work,
-                               round_jiffies(edac_dev->delay));
+                               round_jiffies_relative(edac_dev->delay));
        else
                queue_delayed_work(edac_workqueue, &edac_dev->work,
                                edac_dev->delay);