ASoC: Intel: wrap runtime_pm usage count under CONFIG_PM
authorVinod Koul <vinod.koul@intel.com>
Wed, 25 Feb 2015 16:07:52 +0000 (21:37 +0530)
committerMark Brown <broonie@kernel.org>
Thu, 26 Feb 2015 01:59:37 +0000 (10:59 +0900)
The struct dev_pm_ops defines usage_count only when CONFIG_PM is defined. So
we should use this variable only in cases where this falg is true.
So we define a local variable and read the value under this flag. In non PM
cases, we set this to 1.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/sst/sst_drv_interface.c

index 549af7d7f6d0705d345054851661bd7decdc94e1..f0e4b99b3aeb13a61c1f5a5b5ad67de8c575d737 100644 (file)
@@ -139,17 +139,23 @@ static int sst_power_control(struct device *dev, bool state)
 {
        struct intel_sst_drv *ctx = dev_get_drvdata(dev);
        int ret = 0;
+       int usage_count = 0;
+
+#ifdef CONFIG_PM
+       usage_count = atomic_read(&dev->power.usage_count);
+#else
+       usage_count = 1;
+#endif
 
        if (state == true) {
                ret = pm_runtime_get_sync(dev);
-               dev_dbg(ctx->dev, "Enable: pm usage count: %d\n",
-                               atomic_read(&dev->power.usage_count));
+
+               dev_dbg(ctx->dev, "Enable: pm usage count: %d\n", usage_count);
                if (ret < 0) {
                        dev_err(ctx->dev, "Runtime get failed with err: %d\n", ret);
                        return ret;
                }
-               if ((ctx->sst_state == SST_RESET) &&
-                       (atomic_read(&dev->power.usage_count) == 1)) {
+               if ((ctx->sst_state == SST_RESET) && (usage_count == 1)) {
                        ret = sst_load_fw(ctx);
                        if (ret) {
                                dev_err(dev, "FW download fail %d\n", ret);
@@ -158,8 +164,7 @@ static int sst_power_control(struct device *dev, bool state)
                        }
                }
        } else {
-               dev_dbg(ctx->dev, "Disable: pm usage count: %d\n",
-                               atomic_read(&dev->power.usage_count));
+               dev_dbg(ctx->dev, "Disable: pm usage count: %d\n", usage_count);
                return sst_pm_runtime_put(ctx);
        }
        return ret;