Received: by 10.192.165.148 with SMTP id m20csp3970044imm; Mon, 30 Apr 2018 09:25:02 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoZMSCiCUA4lena8QYoMiwJii6sn+2pCSwcUS5NGTV6dQveqUdYpoYtl/4vjIgsheeurrhL X-Received: by 10.98.190.2 with SMTP id l2mr12584527pff.224.1525105502783; Mon, 30 Apr 2018 09:25:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525105502; cv=none; d=google.com; s=arc-20160816; b=qZRDyGMjcKUFTmFApvA+eo3G3wvfQumsbUMAjwI3pSyqy3UESwruv8LXqtMZcq/bN0 zlK19z4YniGnz3Xs65rq5RcYeMC8fnKAL2hpmqtK5GRVieVJ/3BKmezMI9zn8IXxb814 enTIGsMxwpK4VjPvPP4ldSCWbjQwGLh6pBmAesQ8rSIkwD1EzFPscAeJTEhIHBpB4u84 J4GQz3lYmO490WRxFW+hi4izD5/NIHrwPEokFVeca/FcqtKGBJ3CidrMg3Uxd/PrAHSE BpJYo4JWVasTnbvDn4n1WzZi8nzaYKc/MoZrYreBF0wcs8DJOy3L2iipH1OdFtFEiWZu wrMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=K6lbAt93XKLKlvAoF0nu7v1xOSoFBMhk/boEACQgWOU=; b=wRAob2c2/hV27ocrXFG55ULmNUX4TisQQPLIQgNGJUtVhW7OI2Ad7heSHbtSLY7eop 0u13matY7LCf+bguO/jKOIHFAt53g5ell9QJnxjxI/WUhRqekNtCxPhS20e89QP/GWYW BF4HymI+pyenilTYMntlZfMPhOlYGD+0k96fODYHmOtWIJuCeaTGa/lVranY0DA4pFpj 8sZDLTtFSzxiQC9cAeKlZRyLuMzJP2y8Cg2W0CozVyNCOhjKMSXrNAnKwqTZKxCnBbGK I544/iuCQZ+1TQrc1QybIclHCW3yVijJnWriF9dQUKgwjOqfO3bvufir8K9RX4R+Uhws wEuQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x10-v6si6256666pgo.58.2018.04.30.09.24.48; Mon, 30 Apr 2018 09:25:02 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754713AbeD3QYh (ORCPT + 99 others); Mon, 30 Apr 2018 12:24:37 -0400 Received: from mga05.intel.com ([192.55.52.43]:2852 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753334AbeD3QYg (ORCPT ); Mon, 30 Apr 2018 12:24:36 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Apr 2018 09:24:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,346,1520924400"; d="scan'208";a="47195996" Received: from linux.intel.com ([10.54.29.200]) by orsmga003.jf.intel.com with ESMTP; 30 Apr 2018 09:24:35 -0700 Received: from dsamoylo-mobl1.amr.corp.intel.com (dsamoylo-mobl1.amr.corp.intel.com [10.254.40.47]) by linux.intel.com (Postfix) with ESMTP id 42CA3580397; Mon, 30 Apr 2018 09:24:34 -0700 (PDT) Subject: Re: [alsa-devel] [PATCH v2] ASoC: da7219: read fmw property to get mclk for non-dts systems To: Akshu Agrawal Cc: "moderated list:SOUND" , Support Opensource , Liam Girdwood , open list , Takashi Iwai , djkurtz@chromium.org, Mark Brown , Alexander.Deucher@amd.com, Adam.Thomson.Opensource@diasemi.com References: <1525080203-18947-1-git-send-email-akshu.agrawal@amd.com> From: Pierre-Louis Bossart Message-ID: Date: Mon, 30 Apr 2018 11:24:33 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <1525080203-18947-1-git-send-email-akshu.agrawal@amd.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 4/30/18 4:23 AM, Akshu Agrawal wrote: > Non-dts based systems can use ACPI DSDT to pass on the mclk > to da7219. > This enables da7219 mclk to be linked to system clock. > Enable/Disable of the mclk is already handled in the codec so > platform drivers don't have to explicitly do handling of mclk. > > Signed-off-by: Akshu Agrawal > --- > v2: Fixed kbuild error > include/sound/da7219.h | 2 ++ > sound/soc/codecs/da7219.c | 7 ++++++- > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/include/sound/da7219.h b/include/sound/da7219.h > index 1bfcb16..df7ddf4 100644 > --- a/include/sound/da7219.h > +++ b/include/sound/da7219.h > @@ -38,6 +38,8 @@ struct da7219_pdata { > > const char *dai_clks_name; > > + const char *mclk_name; > + > /* Mic */ > enum da7219_micbias_voltage micbias_lvl; > enum da7219_mic_amp_in_sel mic_amp_in_sel; > diff --git a/sound/soc/codecs/da7219.c b/sound/soc/codecs/da7219.c > index 980a6a8..aed68a4 100644 > --- a/sound/soc/codecs/da7219.c > +++ b/sound/soc/codecs/da7219.c > @@ -1624,6 +1624,8 @@ static struct da7219_pdata *da7219_fw_to_pdata(struct snd_soc_component *compone > dev_warn(dev, "Using default clk name: %s\n", > pdata->dai_clks_name); > > + device_property_read_string(dev, "dlg,mclk-name", &pdata->mclk_name); > + > if (device_property_read_u32(dev, "dlg,micbias-lvl", &of_val32) >= 0) > pdata->micbias_lvl = da7219_fw_micbias_lvl(dev, of_val32); > else > @@ -1905,7 +1907,10 @@ static int da7219_probe(struct snd_soc_component *component) > da7219_handle_pdata(component); > > /* Check if MCLK provided */ > - da7219->mclk = devm_clk_get(component->dev, "mclk"); > + if (da7219->pdata->mclk_name) > + da7219->mclk = clk_get(NULL, da7219->pdata->mclk_name); > + if (!da7219->mclk) > + da7219->mclk = devm_clk_get(component->dev, "mclk"); this looks weird, why are you using different clk functions depending on the existence of a _DSD property? Why not just change the name and keep the same flow, e.g something like if(!da7219->pdata->mclk_name) da7219->pdata->mclk_name = "mclk"; da7219->mclk = devm_clk_get(component->dev, da7219->pdata->mclk_name); > if (IS_ERR(da7219->mclk)) { > if (PTR_ERR(da7219->mclk) != -ENOENT) { > ret = PTR_ERR(da7219->mclk); >