From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751398AbbEQQO4 (ORCPT ); Sun, 17 May 2015 12:14:56 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:52818 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750842AbbEQQOq (ORCPT ); Sun, 17 May 2015 12:14:46 -0400 Date: Sun, 17 May 2015 09:14:44 -0700 From: Kenneth Westfield To: Srinivas Kandagatla Cc: Patrick Lai , Mark Brown , Rob Herring , Pawel Moll , Ian Campbell , Kumar Gala , Banajit Goswami , Kenneth Westfield , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, linux-arm-msm@vger.kernel.org Subject: Re: [PATCH v2 05/13] ASoC: qcom: support bitclk and osrclk per i2s port Message-ID: <20150517161444.GA10901@kwestfie-linux.qualcomm.com> Mail-Followup-To: Srinivas Kandagatla , Patrick Lai , Mark Brown , Rob Herring , Pawel Moll , Ian Campbell , Kumar Gala , Banajit Goswami , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, linux-arm-msm@vger.kernel.org References: <1431779462-1732-1-git-send-email-srinivas.kandagatla@linaro.org> <1431779562-2034-1-git-send-email-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1431779562-2034-1-git-send-email-srinivas.kandagatla@linaro.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, May 16, 2015 at 05:32:42AM -0700, Srinivas Kandagatla wrote: > This patch adds support to allow bitclk and osrclk per i2s dai port. > on APQ8016 there are 4 i2s ports each one has its own bit clks. > > Without this patch its not possible to support multiple i2s ports in the > lpass driver. > @@ -400,18 +402,34 @@ int asoc_qcom_lpass_cpu_platform_probe(struct > platform_device *pdev) > if (variant->init) > variant->init(pdev); > > - drvdata->mi2s_osr_clk = devm_clk_get(&pdev->dev, "mi2s-osr-clk"); > - if (IS_ERR(drvdata->mi2s_osr_clk)) { > - dev_err(&pdev->dev, "%s() error getting mi2s-osr-clk: > %ld\n", > - __func__, PTR_ERR(drvdata->mi2s_osr_clk)); > - return PTR_ERR(drvdata->mi2s_osr_clk); > - } > - > - drvdata->mi2s_bit_clk = devm_clk_get(&pdev->dev, "mi2s-bit-clk"); > - if (IS_ERR(drvdata->mi2s_bit_clk)) { > - dev_err(&pdev->dev, "%s() error getting mi2s-bit-clk: > %ld\n", > - __func__, PTR_ERR(drvdata->mi2s_bit_clk)); > - return PTR_ERR(drvdata->mi2s_bit_clk); > + for (i = 0; i < variant->num_dai; i++) { > + dai_id = variant->dai_driver[i].id; > + if (variant->num_dai > 1) > + sprintf(clk_name, "mi2s-osr-clk%d", i); > + else > + sprintf(clk_name, "mi2s-osr-clk"); > + > + drvdata->mi2s_osr_clk[dai_id] = devm_clk_get(&pdev->dev, > + clk_name); > + if (IS_ERR(drvdata->mi2s_osr_clk[dai_id])) { > + dev_err(&pdev->dev, > + "%s() error getting mi2s-osr-clk: %ld\n", > + __func__, > + return PTR_ERR(drvdata->mi2s_osr_clk[dai_id])); Should the previous two lines be: + __func__, PTR_ERR(drvdata->mi2s_osr_clk[dai_id])); + return PTR_ERR(drvdata->mi2s_osr_clk[dai_id]); as you remove the return in patch 6? > + } > + > + if (variant->num_dai > 1) > + sprintf(clk_name, "mi2s-bit-clk%d", i); > + else > + sprintf(clk_name, "mi2s-bit-clk"); > + > + drvdata->mi2s_bit_clk[dai_id] = devm_clk_get(&pdev->dev, > clk_name); > + if (IS_ERR(drvdata->mi2s_bit_clk[dai_id])) { > + dev_err(&pdev->dev, > + "%s() error getting mi2s-bit-clk: %ld\n", > + __func__, > PTR_ERR(drvdata->mi2s_bit_clk[i])); > + return PTR_ERR(drvdata->mi2s_bit_clk[dai_id]); > + } > } -- Kenneth Westfield Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project