Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp2074154ybb; Thu, 2 Apr 2020 12:34:09 -0700 (PDT) X-Google-Smtp-Source: APiQypJezCTCEFmAW9R/IO9vkIQ+hy6KJNtnPWYUxzaxTD05g9ZCLRQetcxvuKP47WiFuVBND2U0 X-Received: by 2002:aca:8ce:: with SMTP id 197mr494024oii.35.1585856049582; Thu, 02 Apr 2020 12:34:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585856049; cv=none; d=google.com; s=arc-20160816; b=cA8YM6viOqPq7ZiKlDy/AtduW7rT79oyx4FxGZFAt8jwq7+nJBPLgK8mfeFsaMevsT gSdWoNSX5xKlR2qePOTPVbEZHEbuMEgnzcUQetcrBUtK9ISIsOinuYVjCJax6ECv9WI2 h3Su1+2jrST5c6Ac/aTRoEnsFNlEc/DTdqeTtByK0SdJZhxHnbycxy1yu/cB/jibb652 JFVfX2nn88cSpblWOtLP74+YOMTVJHC82NU7a2UoVHsQob3Txt80XTkCgaG3EVUwiPUR dd7LHWq05fJyWf12RKYOD0ZiKM1bzgCmSOAtnRE0UrQkHiL9mRdf51IFxVPoKVrZmowg xPXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:mail-followup-to:message-id:subject:cc:to :from:date; bh=4sBPU1L0Oheciw7H2c7NGDYhxpXgYxfVQOmaZlxz3SQ=; b=eevKcLxWUgdBh23BjVZMrlRhxb3dCsIfySAjWGWeLqN8g7eHuNVsevkBbvZcGI3OMn jR3zqnw4whaJ5fGdnstt5GFgi9vklYQZ+2myTYGQAOOV6ndTN2vwa/ClOYV2dw95bbz6 bk7vAYk6iTZh3TNYrpWysFb+b2wKtLP/ZShxwO+xCty7aOxRbKP3/oF7g+iviQ5NS+qW 3KN0u5fkYErdqF7C2MW5WkS5FVE3aVMQclhcWp/Qay3pQFjo0TRBf7sDfsIV9LolOVNV YiTavyVRt2FPoUysSeLHqPw6rYhGjncZhud0+yDNs5CZkIkYDfOv0O1jBpLsCiZ6xycR /rQw== 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 k194si2559286oib.251.2020.04.02.12.33.56; Thu, 02 Apr 2020 12:34:09 -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 S2389332AbgDBS4b (ORCPT + 99 others); Thu, 2 Apr 2020 14:56:31 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:51881 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388658AbgDBS4b (ORCPT ); Thu, 2 Apr 2020 14:56:31 -0400 Received: from mail.cetitecgmbh.com ([87.190.42.90]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1N4yNG-1jALfN3Ie4-010x38 for ; Thu, 02 Apr 2020 20:56:29 +0200 Received: from pflvmailgateway.corp.cetitec.com (unknown [127.0.0.1]) by mail.cetitecgmbh.com (Postfix) with ESMTP id 7ACC265073A for ; Thu, 2 Apr 2020 18:56:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at cetitec.com Received: from mail.cetitecgmbh.com ([127.0.0.1]) by pflvmailgateway.corp.cetitec.com (pflvmailgateway.corp.cetitec.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jyX4JAh99Un5 for ; Thu, 2 Apr 2020 20:56:29 +0200 (CEST) Received: from pfwsexchange.corp.cetitec.com (unknown [10.10.1.99]) by mail.cetitecgmbh.com (Postfix) with ESMTPS id 3574164EDB3 for ; Thu, 2 Apr 2020 20:56:29 +0200 (CEST) Received: from pflmari.corp.cetitec.com (10.8.5.12) by PFWSEXCHANGE.corp.cetitec.com (10.10.1.99) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 2 Apr 2020 20:56:29 +0200 Received: by pflmari.corp.cetitec.com (Postfix, from userid 1000) id E692280503; Thu, 2 Apr 2020 20:34:48 +0200 (CEST) Date: Thu, 2 Apr 2020 20:34:48 +0200 From: Alex Riesen To: Kieran Bingham CC: Geert Uytterhoeven , Mauro Carvalho Chehab , Hans Verkuil , "Laurent Pinchart" , Rob Herring , Mark Rutland , Kuninori Morimoto , , , , , Subject: [PATCH v5 6/9] media: adv748x: prepare/enable mclk when the audio is used Message-ID: Mail-Followup-To: Alex Riesen , Kieran Bingham , Geert Uytterhoeven , Mauro Carvalho Chehab , Hans Verkuil , Laurent Pinchart , Rob Herring , Mark Rutland , Kuninori Morimoto , devel@driverdev.osuosl.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-renesas-soc@vger.kernel.org References: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: X-Originating-IP: [10.8.5.12] X-ClientProxiedBy: PFWSEXCHANGE.corp.cetitec.com (10.10.1.99) To PFWSEXCHANGE.corp.cetitec.com (10.10.1.99) X-EsetResult: clean, is OK X-EsetId: 37303A290D7F536A6C7266 X-Provags-ID: V03:K1:emA9+eyx+bfMN1K+X0bQHRrQ755sVujhRAUytttif4qOevwdxqu CgTGeR8iX8tAzXamoe05vE//cWgCF4lljKAWtTMRP1/FY6gpUKTTGLvdCI7BxWZsliuty9d U6gz5Y8J+AjebPGUWFqk5QO5uSdfKKHr1EBQjwQN8npiBO/9sP1vQymUJilnPLx+L5Cqatl BzPs5v5yZOepm9sAF0w5g== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:4zR2z4qi4Mw=:C/3MR25q9YRrXIVDIqgWxm BcVcJXcw/LZRCqMYgtB7t/Z6CmbEryn65uqWzhckkWs8B1xtTspqHY+zPq/58av9SZQOYzeeS dmR5dJ7mVlHK/is9dx0/htcR7DEVp+sGFdUFXRwcDtStUBg6SKUaGKxKVFeIhWPCkNyku9Bcv R9+pubmybn5yLoikdAgFtmkyKifysF+hsqZXkci13HXlWolQWepM/sOqUq7c/NtPyLn4s66mJ 12ykKz9H5JzT8TdDPL1s93ZKdQWFhf/K94xSBWSYanD3ATNMzk98DTRg4Ill91SfKC8by2f7x VKmmSUNZSXCxcYlG/WGpUPsbT8K8QK+J1Mu1OOVtPEOQJFXusy6sQ4zz5KjocQFaDa76/k4Zd wJVMZnFvO1Xrq8b9o09/cXGecpR15yjVEofIwiTZCB9XgexPMlhyGJ8hbSleX5VESInia76/U XemnqvIzm2kTrLJkX961bKLhNnlMOwMlHaK6R2eSxKH/HFg731UOiNkQsmxAjf9Dwdj/UiOJp v7S8vT/5V3B25lsGpBL1382Zla2YWSjm77CV+5CcWffOpbFE/Y5HpSFPzhwFQ0R4Ayf5Fbuyj N8oViwIJRLfo5f00L8dAJZ5ZYaZTp4tKVYQiS27Z2g6GD2SJHI5FdAknGSoog67AtG7PePjtG ILmGQxoQP6gfRzyTGmlObCQ7eTStCF6RvKx8h6TbKId6Qyk58ktNdrFf82CgWy9vE20CJjB53 58gBE3ug8whevXfgl18uowdWhl+A/UYF7XPMXvAdOUSOQYFXcGc6ezrGmuZU52hqsPlxvxlU6 wuy++8m3IXtoloBNnm1ApDg6DNeV9zaY2kNBbXSBY0yoEK8x68xWmtK6mnVWjW9/quEihsM Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org As there is nothing else (the consumers are supposed to do that) which enables the clock, do it in the driver. Signed-off-by: Alexander Riesen -- v3: added --- drivers/media/i2c/adv748x/adv748x-dai.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/media/i2c/adv748x/adv748x-dai.c b/drivers/media/i2c/adv748x/adv748x-dai.c index c9191f8f1ca8..185f78023e91 100644 --- a/drivers/media/i2c/adv748x/adv748x-dai.c +++ b/drivers/media/i2c/adv748x/adv748x-dai.c @@ -117,11 +117,22 @@ static int adv748x_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) static int adv748x_dai_startup(struct snd_pcm_substream *sub, struct snd_soc_dai *dai) { + int ret; struct adv748x_state *state = state_of(dai); if (sub->stream != SNDRV_PCM_STREAM_CAPTURE) return -EINVAL; - return set_audio_pads_state(state, 1); + ret = set_audio_pads_state(state, 1); + if (ret) + goto fail; + ret = clk_prepare_enable(mclk_of(state)); + if (ret) + goto fail_pwdn; + return 0; +fail_pwdn: + set_audio_pads_state(state, 0); +fail: + return ret; } static int adv748x_dai_hw_params(struct snd_pcm_substream *sub, @@ -174,6 +185,7 @@ static void adv748x_dai_shutdown(struct snd_pcm_substream *sub, struct snd_soc_d { struct adv748x_state *state = state_of(dai); + clk_disable_unprepare(mclk_of(state)); set_audio_pads_state(state, 0); } -- 2.25.1.25.g9ecbe7eb18