Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp3336182imm; Fri, 19 Oct 2018 08:58:30 -0700 (PDT) X-Google-Smtp-Source: ACcGV622UAr4LXy8ANSKRuOvEmB+R1s/kk1rPI8UeevG8MJTR4wXIs3Du6+S0SdXjApGHEQlruGq X-Received: by 2002:a62:583:: with SMTP id 125-v6mr22756932pff.186.1539964710458; Fri, 19 Oct 2018 08:58:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539964710; cv=none; d=google.com; s=arc-20160816; b=oyzQH8LrDM1C+QDYFhxlIMGGv+1uqIZ7PmplzjEkXIEGO7YY3l5CiOP8ATsW2u31Wh srj6Sopo9JCeuwcGiE03h5QQ6GVeJVEgKvDLiSEjBupLc1nnWJ9ENk9xlYTZVc/E0a+z NvQjj2U2Gz5NQGTHEveuYvRVCKTT2w0qL7m1yIR7suqtXqMD3oFp6Yn3F2I0Z3V+PTWT +rPIzaP+sM+UTchkZ7lXzcZnF3eNmJXR4boCCJfXF4DA67S6WfjwSxDd+8aUErAF/HyV S1oQrgBRlz+LrGQCvJ/aaPqdh4vOgnQhlE3mRuy3BCCsMLRow2R9d4n47DrtFdmeSJlo 5Ssg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:to :from; bh=ArVkjHSkghQq0tPyMm3AKgXdREnvCHS78bZMeI9G/Ro=; b=CB2Uf17dC0tDOap1Ye2QPcxR5yvo9x4U9zJEYDXU7VpX7FXL+eOWGVlq+5JzJoFY1A oZwtGr+qZDtHXkrDTjwfQDG1e/5KMRBJv8+cZNpFmXhJGe6p/thbaQqmFvxkJ5DjlL1F RKys6dURYDalkz2VdTl3dtM9H3Keuy1W0JVyOFdeUftDjdjhM3MX7AuFgn83SpigHIaU yYSw/mQWZXYp2jszwrcodVKgQ0hYpkQDf+5WwKu5L/pWEnkfdDzHpmsPFPh8EnV5bmdD etsNjmMHUAF6TCGMNjujCCa+Tmb18eXSc9PztpCK583LUUKItniX7tvsx/uEJUJ50T2C VsGQ== 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 93-v6si26248783plf.0.2018.10.19.08.58.13; Fri, 19 Oct 2018 08:58:30 -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 S1727693AbeJTAE0 (ORCPT + 99 others); Fri, 19 Oct 2018 20:04:26 -0400 Received: from mx08-00178001.pphosted.com ([91.207.212.93]:25694 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727641AbeJTAEZ (ORCPT ); Fri, 19 Oct 2018 20:04:25 -0400 Received: from pps.filterd (m0046660.ppops.net [127.0.0.1]) by mx08-.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id w9JFrj1b021709; Fri, 19 Oct 2018 17:56:40 +0200 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx08-00178001.pphosted.com with ESMTP id 2n35u690wp-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 19 Oct 2018 17:56:40 +0200 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 0D26F34; Fri, 19 Oct 2018 15:56:38 +0000 (GMT) Received: from Webmail-eu.st.com (Safex1hubcas24.st.com [10.75.90.94]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id B1F9651E7; Fri, 19 Oct 2018 15:56:38 +0000 (GMT) Received: from SAFEX1HUBCAS21.st.com (10.75.90.44) by Safex1hubcas24.st.com (10.75.90.94) with Microsoft SMTP Server (TLS) id 14.3.361.1; Fri, 19 Oct 2018 17:56:38 +0200 Received: from localhost (10.201.23.16) by Webmail-ga.st.com (10.75.90.48) with Microsoft SMTP Server (TLS) id 14.3.361.1; Fri, 19 Oct 2018 17:56:37 +0200 From: Olivier Moysan To: , , , , , , , , , , , , Subject: [PATCH 1/1] ASoC: cs42l51: fix mclk support Date: Fri, 19 Oct 2018 17:56:35 +0200 Message-ID: <1539964595-23758-1-git-send-email-olivier.moysan@st.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.201.23.16] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-10-19_07:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fixes: 5e8d63a726f8 ("ASoC: cs42l51: add mclk support") The MCLK clock is made optional for cs42l51 codec. However, ASoC DAPM clock supply widget, expects the clock to be defined unconditionally. Register MCLK DAPM conditionally in codec driver, depending on clock presence in DT. Signed-off-by: Olivier Moysan --- sound/soc/codecs/cs42l51.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/sound/soc/codecs/cs42l51.c b/sound/soc/codecs/cs42l51.c index eb40bff54cec..fd2bd74024c1 100644 --- a/sound/soc/codecs/cs42l51.c +++ b/sound/soc/codecs/cs42l51.c @@ -21,6 +21,7 @@ * - master mode *NOT* supported */ +#include #include #include #include @@ -41,6 +42,7 @@ enum master_slave_mode { struct cs42l51_private { unsigned int mclk; + struct clk *mclk_handle; unsigned int audio_mode; /* The mode (I2S or left-justified) */ enum master_slave_mode func; }; @@ -492,9 +494,13 @@ static int cs42l51_component_probe(struct snd_soc_component *component) { int ret, reg; struct snd_soc_dapm_context *dapm; + struct cs42l51_private *cs42l51; + cs42l51 = snd_soc_component_get_drvdata(component); dapm = snd_soc_component_get_dapm(component); - snd_soc_dapm_new_controls(dapm, cs42l51_dapm_mclk_widgets, 1); + + if (cs42l51->mclk_handle) + snd_soc_dapm_new_controls(dapm, cs42l51_dapm_mclk_widgets, 1); /* * DAC configuration @@ -548,6 +554,13 @@ int cs42l51_probe(struct device *dev, struct regmap *regmap) dev_set_drvdata(dev, cs42l51); + cs42l51->mclk_handle = devm_clk_get(dev, "MCLK"); + if (IS_ERR(cs42l51->mclk_handle)) { + if (PTR_ERR(cs42l51->mclk_handle) != -ENOENT) + return PTR_ERR(cs42l51->mclk_handle); + cs42l51->mclk_handle = NULL; + } + /* Verify that we have a CS42L51 */ ret = regmap_read(regmap, CS42L51_CHIP_REV_ID, &val); if (ret < 0) { -- 2.7.4