intel_idle: add SnowRidge C-state table
[linux-2.6-microblaze.git] / drivers / amba / bus.c
index 8558b62..ecc3041 100644 (file)
@@ -505,7 +505,7 @@ static DECLARE_DELAYED_WORK(deferred_retry_work, amba_deferred_retry_func);
 
 #define DEFERRED_DEVICE_TIMEOUT (msecs_to_jiffies(5 * 1000))
 
-static void amba_deferred_retry_func(struct work_struct *dummy)
+static int amba_deferred_retry(void)
 {
        struct deferred_device *ddev, *tmp;
 
@@ -521,11 +521,19 @@ static void amba_deferred_retry_func(struct work_struct *dummy)
                kfree(ddev);
        }
 
+       mutex_unlock(&deferred_devices_lock);
+
+       return 0;
+}
+late_initcall(amba_deferred_retry);
+
+static void amba_deferred_retry_func(struct work_struct *dummy)
+{
+       amba_deferred_retry();
+
        if (!list_empty(&deferred_devices))
                schedule_delayed_work(&deferred_retry_work,
                                      DEFERRED_DEVICE_TIMEOUT);
-
-       mutex_unlock(&deferred_devices_lock);
 }
 
 /**