firmware loader: fix build failure if FW_LOADER is m
authorMing Lei <ming.lei@canonical.com>
Fri, 17 Aug 2012 14:07:00 +0000 (22:07 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Aug 2012 14:37:35 +0000 (07:37 -0700)
device_cache_fw_images need to iterate devices in system,
so this patch applies the introduced dpm_for_each_dev to
avoid link failure if CONFIG_FW_LOADER is m.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/firmware_class.c

index 4c8d8efecdf41709d85bfc6f6e56fc0db9c8538d..ed0510a912c8ac459065f8e7cccf64b07c9973ed 100644 (file)
@@ -27,7 +27,6 @@
 #include <linux/suspend.h>
 
 #include "base.h"
-#include "power/power.h"
 
 MODULE_AUTHOR("Manuel Estrada Sainz");
 MODULE_DESCRIPTION("Multi purpose firmware loading support");
@@ -1093,7 +1092,7 @@ static int devm_name_match(struct device *dev, void *res,
        return (fwn->magic == (unsigned long)match_data);
 }
 
-static void dev_cache_fw_image(struct device *dev)
+static void dev_cache_fw_image(struct device *dev, void *data)
 {
        LIST_HEAD(todo);
        struct fw_cache_entry *fce;
@@ -1148,7 +1147,6 @@ static void __device_uncache_fw_images(void)
 static void device_cache_fw_images(void)
 {
        struct firmware_cache *fwc = &fw_cache;
-       struct device *dev;
        int old_timeout;
        DEFINE_WAIT(wait);
 
@@ -1165,10 +1163,7 @@ static void device_cache_fw_images(void)
        old_timeout = loading_timeout;
        loading_timeout = 10;
 
-       device_pm_lock();
-       list_for_each_entry(dev, &dpm_list, power.entry)
-               dev_cache_fw_image(dev);
-       device_pm_unlock();
+       dpm_for_each_dev(NULL, dev_cache_fw_image);
 
        /* wait for completion of caching firmware for all devices */
        spin_lock(&fwc->name_lock);