From patchwork Mon Mar 3 02:42:24 2014
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Xiubo Li
X-Patchwork-Id: 3750931
X-Patchwork-Delegate: broonie@sirena.org.uk
Return-Path:
X-Original-To: patchwork-alsa-devel@patchwork.kernel.org
Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org
Received: from mail.kernel.org (mail.kernel.org [198.145.19.201])
by patchwork2.web.kernel.org (Postfix) with ESMTP id EA3F3BF13A
for ;
Mon, 3 Mar 2014 03:52:11 +0000 (UTC)
Received: from mail.kernel.org (localhost [127.0.0.1])
by mail.kernel.org (Postfix) with ESMTP id F212220179
for ;
Mon, 3 Mar 2014 03:52:10 +0000 (UTC)
Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243])
by mail.kernel.org (Postfix) with ESMTP id C61712015A
for ;
Mon, 3 Mar 2014 03:52:09 +0000 (UTC)
Received: by alsa0.perex.cz (Postfix, from userid 1000)
id 06ECF265567; Mon, 3 Mar 2014 04:52:04 +0100 (CET)
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org
X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00, UNPARSEABLE_RELAY,
UNRESOLVED_TEMPLATE autolearn=no version=3.3.1
Received: from alsa0.perex.cz (localhost [IPv6:::1])
by alsa0.perex.cz (Postfix) with ESMTP id 46815265579;
Mon, 3 Mar 2014 04:50:39 +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 936C62655BC; Mon, 3 Mar 2014 04:50:38 +0100 (CET)
Received: from ch1outboundpool.messaging.microsoft.com
(ch1ehsobe002.messaging.microsoft.com [216.32.181.182])
by alsa0.perex.cz (Postfix) with ESMTP id 84860265579
for ;
Mon, 3 Mar 2014 04:49:23 +0100 (CET)
Received: from mail100-ch1-R.bigfish.com (10.43.68.254) by
CH1EHSOBE010.bigfish.com (10.43.70.60) with Microsoft SMTP Server id
14.1.225.22; Mon, 3 Mar 2014 03:49:22 +0000
Received: from mail100-ch1 (localhost [127.0.0.1]) by
mail100-ch1-R.bigfish.com (Postfix) with ESMTP id 417E0201CA;
Mon, 3 Mar 2014 03:49:22 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:70.37.183.190; KIP:(null); UIP:(null);
IPV:NLI;
H:mail.freescale.net; RD:none; EFVD:NLI
X-SpamScore: 0
X-BigFish:
VS0(zzzz1f42h2148h208ch1ee6h1de0h1fdah2073h2146h1202h1e76h2189h1d1ah1d2ah21bch1fc6hzdchz1de098h8275bh1de097hz2dh2a8h839he5bhf0ah1288h12a5h12a9h12bdh12e5h137ah139eh13b6h1441h1504h1537h162dh1631h1758h1898h18e1h1946h19b5h1ad9h1b0ah1b2fh2222h224fh1fb3h1d0ch1d2eh1d3fh1dfeh1dffh1e23h1fe8h1ff5h2218h2216h226dh22d0h24afh2327h2336h2438h2461h2487h24d7h2516h2545h255eh25cch1155h)
Received: from mail100-ch1 (localhost.localdomain [127.0.0.1]) by mail100-ch1
(MessageSwitch) id 1393818560330317_12846;
Mon, 3 Mar 2014 03:49:20 +0000 (UTC)
Received: from CH1EHSMHS023.bigfish.com
(snatpool3.int.messaging.microsoft.com
[10.43.68.227]) by mail100-ch1.bigfish.com (Postfix) with ESMTP id
4AB092C013C; Mon, 3 Mar 2014 03:49:20 +0000 (UTC)
Received: from mail.freescale.net (70.37.183.190) by CH1EHSMHS023.bigfish.com
(10.43.70.23) with Microsoft SMTP Server (TLS) id 14.16.227.3;
Mon, 3 Mar 2014 03:49:20 +0000
Received: from az84smr01.freescale.net (10.64.34.197) by
039-SN1MMR1-004.039d.mgd.msft.net (10.84.1.14) with Microsoft SMTP
Server (TLS) id 14.3.158.2; Mon, 3 Mar 2014 03:49:19 +0000
Received: from rock.am.freescale.net (rock.ap.freescale.net [10.193.20.106])
by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id
s233mhVN020745; Sun, 2 Mar 2014 20:49:17 -0700
From: Xiubo Li
To: , ,
Date: Mon, 3 Mar 2014 10:42:24 +0800
Message-ID: <1393814545-15002-4-git-send-email-Li.Xiubo@freescale.com>
X-Mailer: git-send-email 1.8.0
In-Reply-To: <1393814545-15002-1-git-send-email-Li.Xiubo@freescale.com>
References: <1393814545-15002-1-git-send-email-Li.Xiubo@freescale.com>
MIME-Version: 1.0
X-OriginatorOrg: freescale.com
X-FOPE-CONNECTOR: Id%0$Dn%*$RO%0$TLS%0$FQDN%$TlsDn%
X-FOPE-CONNECTOR:
Id%0$Dn%FREESCALE.MAIL.ONMICROSOFT.COM$RO%1$TLS%0$FQDN%$TlsDn%
Cc: Xiubo Li , linux-kernel@vger.kernel.org
Subject: [alsa-devel] [PATCHv3 3/3] ASoC: core: Fix check before setting
default I/O up try regmap
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: ,
Errors-To: alsa-devel-bounces@alsa-project.org
Sender: alsa-devel-bounces@alsa-project.org
X-Virus-Scanned: ClamAV using ClamSMTP
Since the CODEC driver could specify its own I/O(read and write)
while registering the CODEC for some reason, maybe the MFDs is
used, etc.
So just do check it, if they are not specified by CODEC driver
then try to set up the default regmap I/O if regmap is used.
Signed-off-by: Xiubo Li
---
sound/soc/soc-core.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 6880fad..a14155b 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1137,9 +1137,15 @@ static int soc_probe_codec(struct snd_soc_card *card,
codec->dapm.idle_bias_off = driver->idle_bias_off;
- /* Set the default I/O up try regmap */
- if (dev_get_regmap(codec->dev, NULL))
- snd_soc_codec_set_cache_io(codec, NULL);
+ if (!codec->write && dev_get_regmap(codec->dev, NULL)) {
+ /* Set the default I/O up try regmap */
+ ret = snd_soc_codec_set_cache_io(codec, NULL);
+ if (ret < 0) {
+ dev_err(codec->dev,
+ "Failed to set cache I/O: %d\n", ret);
+ goto err_probe;
+ }
+ }
if (driver->probe) {
ret = driver->probe(codec);