From patchwork Wed Feb 25 16:07:52 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vinod Koul X-Patchwork-Id: 5881531 Return-Path: X-Original-To: patchwork-alsa-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 6E6F09F691 for ; Wed, 25 Feb 2015 16:12:02 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 73E0820386 for ; Wed, 25 Feb 2015 16:12:01 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.kernel.org (Postfix) with ESMTP id 34A012034A for ; Wed, 25 Feb 2015 16:12:00 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id 59D46261545; Wed, 25 Feb 2015 17:11:58 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NO_DNS_FOR_FROM, UNPARSEABLE_RELAY autolearn=no version=3.3.1 Received: from alsa0.perex.cz (localhost [IPv6:::1]) by alsa0.perex.cz (Postfix) with ESMTP id 2FCEE2612AE; Wed, 25 Feb 2015 17:11:48 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 0F15F2612AE; Wed, 25 Feb 2015 17:11:47 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by alsa0.perex.cz (Postfix) with ESMTP id B0AB026070E for ; Wed, 25 Feb 2015 17:11:36 +0100 (CET) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP; 25 Feb 2015 08:10:47 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,645,1418112000"; d="scan'208";a="671494732" Received: from vkoul-udesk3.iind.intel.com ([10.223.84.65]) by fmsmga001.fm.intel.com with ESMTP; 25 Feb 2015 08:10:45 -0800 From: Vinod Koul To: alsa-devel@alsa-project.org Date: Wed, 25 Feb 2015 21:37:52 +0530 Message-Id: <1424880472-1714-1-git-send-email-vinod.koul@intel.com> X-Mailer: git-send-email 1.7.9.5 Cc: Vinod Koul , broonie@kernel.org, lgirdwood@gmail.com Subject: [alsa-devel] [PATCH] ASoC: Intel: wrap runtime_pm usage count under CONFIG_PM X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP 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 Signed-off-by: Vinod Koul --- sound/soc/intel/sst/sst_drv_interface.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/sound/soc/intel/sst/sst_drv_interface.c b/sound/soc/intel/sst/sst_drv_interface.c index 549af7d7f6d0..f0e4b99b3aeb 100644 --- a/sound/soc/intel/sst/sst_drv_interface.c +++ b/sound/soc/intel/sst/sst_drv_interface.c @@ -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;