From patchwork Thu Sep 10 07:04:24 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 7151241 Return-Path: X-Original-To: patchwork-alsa-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 167F79F1D3 for ; Thu, 10 Sep 2015 07:08:23 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 388E0208E1 for ; Thu, 10 Sep 2015 07:08:22 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.kernel.org (Postfix) with ESMTP id 06591208CA for ; Thu, 10 Sep 2015 07:08:21 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id 35CFE2659C7; Thu, 10 Sep 2015 09:08:20 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Status: No, score=-2.6 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_LOW, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 Received: from alsa0.perex.cz (localhost [IPv6:::1]) by alsa0.perex.cz (Postfix) with ESMTP id D3B182657FC; Thu, 10 Sep 2015 09:05:37 +0200 (CEST) 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 C637926584D; Thu, 10 Sep 2015 09:05:35 +0200 (CEST) Received: from relmlie1.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by alsa0.perex.cz (Postfix) with ESMTP id AAC4926589D for ; Thu, 10 Sep 2015 09:04:27 +0200 (CEST) Received: from unknown (HELO relmlir4.idc.renesas.com) ([10.200.68.154]) by relmlie1.idc.renesas.com with ESMTP; 10 Sep 2015 16:04:26 +0900 Received: from relmlac1.idc.renesas.com (relmlac1.idc.renesas.com [10.200.69.21]) by relmlir4.idc.renesas.com (Postfix) with ESMTP id 5CD3348959; Thu, 10 Sep 2015 16:04:26 +0900 (JST) Received: by relmlac1.idc.renesas.com (Postfix, from userid 0) id 6016A8002E; Thu, 10 Sep 2015 16:04:26 +0900 (JST) Received: from relmlac1.idc.renesas.com (localhost [127.0.0.1]) by relmlac1.idc.renesas.com (Postfix) with ESMTP id 59E328002D; Thu, 10 Sep 2015 16:04:26 +0900 (JST) Received: from relmlii1.idc.renesas.com [10.200.68.65] by relmlac1.idc.renesas.com with ESMTP id SAA28058; Thu, 10 Sep 2015 16:04:26 +0900 X-IronPort-AV: E=Sophos;i="5.17,502,1437404400"; d="scan'";a="194139600" Received: from mail-hk2apc01lp0209.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.209]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA; 10 Sep 2015 16:04:25 +0900 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.144) by HK2PR06MB0596.apcprd06.prod.outlook.com (10.161.187.147) with Microsoft SMTP Server (TLS) id 15.1.262.15; Thu, 10 Sep 2015 07:04:24 +0000 Message-ID: <87vbbin4hp.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 To: Mark Brown In-Reply-To: <878u8eoj7x.wl%kuninori.morimoto.gx@renesas.com> References: <878u8eoj7x.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Thu, 10 Sep 2015 07:04:24 +0000 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: OS1PR01CA0009.jpnprd01.prod.outlook.com (25.161.225.147) To HK2PR06MB0596.apcprd06.prod.outlook.com (25.161.187.147) X-Microsoft-Exchange-Diagnostics: 1; HK2PR06MB0596; 2:8FQw/Nml/aesmQvDBYFLECOoibF0TdlEy+dqn8CbYeocSxHludyzM2qY4FzXvbnwo0XBz7e/ZUufpQvEp1RNoCmIdJJHam5aBGkQiXTxxIlYVYN5jhPP8PNXm5h83hxghT60ibDZRhbHJKqgGlgL5x6RMXI5fLWXBfAEhEolaoY=; 3:vZxZz9BMiOis38uNiykAouuygusJ2giWvPiT6XAuoVvza+eZ2CZLvcm7vE5sp5SlHcKSeLusvhiGO+Nx2y0iFPE/gogBk2uzYc503Oi/wpIhJcc5ebnQr/TuXixsQLAi9cXbXG2ZndhLDaTH48rG6A==; 25:3N7ofO4/5PNr45P/s06dtyuametKwCyIh5cR5mQ9xaRnBpdDiR9DY6A9qybwwVZo8DpVd8lvv/fbEoR8PQn4xVKBRbiE0jQ3E06cHFa3jqzHz9y19CvqoRt6j5cCDrpzL+IxUxAgDYEwk5IS+I7jJhFOB6YopmDB7NSxOtpur3GjHZznWUmBuxDAu7xU8wLNLcnW6kU8VD9PJuln3Gc1h519iwqUCaal8myuiaMV8lFTNv6sLGOgNLXjwXrVZ0oX X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HK2PR06MB0596; X-Microsoft-Exchange-Diagnostics: 1; HK2PR06MB0596; 20:4v3qcl+wTvVTeP7meC7wRwgqmQ7510ZDoP4Ryrrhxeyu+uu1D9oLuhPU8Ueu2BMfMGMJHU+2huS4YU76QxCnMY+smv6tk/k1xD+FkOwNYGf3Wnxh1poMVGikWPCy4K3FiPd7xAdT3WtUnQStz+dROo/sPjoJAyTFVeZOxAfLCVSeDVwreMzx/UjfdgwGnrHvFNg+j6W67CiNIic2Y2Dx3jVGLlKlju5HRnUApqhOEeMSdQT3HbG7zt+21lG4Ef1a3VCGCu8Low+7ARYNHPiXcgsSw6qpFJ4kZpbCBmfOtsWm2ELJOgpehv5pTRvDL3hu0sV4vaP6T2kI/oPEw5JlHgjw7hmMMZkg49buNZ0HLcrBChYsI0zAV9SkIlqaZeu5007YR8qtDn2pDsifq8HJRqUbQJWv+gdjgXoBKN4DhNsvdK/ibTuQzbmacVIZ8TPQ7PEvlip9n1/bGxXRPiv2JdyZ7LPxXOUAEiK/Dkqv39ut3lgLGY4bqiJXqdzmwDSq; 4:WJ/Sg+YvUVtbRde4jhLelELjoT8sA8x+IKYUyAhBVr8t11l0pWUEjtV4RSRfptRX4UTVuract8l9/KOaAGvPl5C7W8WZkhql7lsugdbddFeR1edv/95hnkBVaquDlxWLW9JDBkcOZue1FYzkIsseKnNFM/7h2xtE+zaaC9+Jw6VpzSt2BqGp3cOL8CoTjlpK65iIrPffcV+92QNr+q+QRkRcRtgeGFUfvtL6Lu2T3bFefsmeskj7hkJRlXc2aWt4+XrKcmjzR2F9Mk5cLsdXJdbdmYbOdY5AO8N8i2lHurVHV1GT1jSG5cfsCOwupwDF X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(5005006)(8121501046)(3002001); SRVR:HK2PR06MB0596; BCL:0; PCL:0; RULEID:; SRVR:HK2PR06MB0596; X-Forefront-PRVS: 06952FC175 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(199003)(189002)(87976001)(46102003)(23726002)(46406003)(76176999)(33646002)(83506001)(64706001)(5007970100001)(81156007)(62966003)(19580395003)(68736005)(77156002)(19580405001)(92566002)(5004730100002)(50466002)(229853001)(77096005)(106356001)(105586002)(4001350100001)(2950100001)(4001540100001)(5001860100001)(53416004)(50986999)(40100003)(54356999)(122386002)(101416001)(66066001)(69596002)(47776003)(36756003)(5001960100002)(110136002)(86362001)(42186005)(97736004)(5001830100001)(5001920100001)(189998001); DIR:OUT; SFP:1102; SCL:1; SRVR:HK2PR06MB0596; H:morimoto-PC.renesas.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HK2PR06MB0596; 23:aNLGNSVJ8njhAfIchHFn454T5p/HNnn68EtRUcUm6?= =?us-ascii?Q?/UR/oDRD9R1o6bLogQ/H3FfxUtRVXT/uMb4qihiT6uyyTwNgOIqjnkrR1u9F?= =?us-ascii?Q?3xQQzDDE3br/pHccbKttTPge6xCjL0dguo4oajXAHEg+ZPqtQNnOyQBV4TEf?= =?us-ascii?Q?8wEgO640jhrpld/AvzL3ccrfu2i5nOrYCjz6hHt0IVOdb/zV9JlxrvcYJ7Gd?= =?us-ascii?Q?qlRCXV9kSp3LlX0z3mRJJWqj/TopEbst67ZeTmHgs8kUOc9VqPfzEsy5TZZr?= =?us-ascii?Q?XHfhUg/ya54WdahQW72poX9H2bQRA/msTKrUGX5toB0M41V7pQIiqfxAwaDw?= =?us-ascii?Q?7fTam9qOa0Bd9CYUpRJCgnCYTrvEwj9zsIeFMggfQ0UNN//cNPyqhhMIDJxc?= =?us-ascii?Q?a1a2kvDsdqv/xfekBr27rzdzY635FTHbYSakFcp1SS+H2R+f/xEGhvKnchks?= =?us-ascii?Q?5k8Wj3sNtPfIfUbk7DuV5K2OhOUhuW70ePGLyz5zB1wMUEYPF9YvekuGOeY7?= =?us-ascii?Q?zfIcRaDNjytORK4isd0IHeQzSbZxBd1SUI7+OxKtPd8o4Rois6VGxyv49tN3?= =?us-ascii?Q?Z6vGI0q2TCIXem2ypdqdVvLPICYVSQlOq4WDV0lF2mUdtid+AOTGRxxQtfSx?= =?us-ascii?Q?67vuxTyANPvHqHBEQbftzxOwnViT+wKdfIGyPVNmoPqzS+X5KjybFcTpOrbi?= =?us-ascii?Q?8TMIOZ2M/yRzdDV7yuT505G1mpcVKkUnYEKtODLfIA6ILqCrjQP4DQ3OxJlZ?= =?us-ascii?Q?1RFljgEcNsHMdx0k2Sxe4zPXz6uOKbQGduCCs2mQSiYvoUoFmNJkpZ70TJhk?= =?us-ascii?Q?5w2HStIp9pi6TMLIprEzzAqSN9KXMQZArnMnc2Xx893grXAj6mhFVTBI/A7C?= =?us-ascii?Q?VNl86G5ZviMjqbf8FPmAojGDvdV5ZKZRrIg7P7R7FTOyrqV/HLOa/drZGU1t?= =?us-ascii?Q?Gk4g316N7sr/zZHf5kbP/otAj8+LyPM3Ix3lvWfmeIWXkxg0DaftZVLS8uqK?= =?us-ascii?Q?HlJZ6soRVq4i/FhooyNXC5uVsJ+ulsI8z3kXm5JCANEYgPd0cMKXBptLgkJ5?= =?us-ascii?Q?56eHXLki3KKct7ECKdWTNV4Igi0j25XU5QDJbGWHPDYsq1nhU4tCfnlh0zaP?= =?us-ascii?Q?GaufplmeVMf2kpJ0YW8HFwedWOtmfqgeJNTExqSY/JpzC/P1/Qq3GO1myMlJ?= =?us-ascii?Q?+piZpMdWMgg+VncPkIs4eKjUAywDrhO19gYqzQ02oWVzeV8cw56s46BOKlg4?= =?us-ascii?Q?scaLQDtLmN5CYBenzq/CBKHegBrj4cvL5TRar9+?= X-Microsoft-Exchange-Diagnostics: 1; HK2PR06MB0596; 5:5h1TfPGCR0jZhf3jSBoSbEd5Ork5vRhZhD0+FuS780WnYfzx4lL7q5PVDIwZk3cl28UCsYAj6HMFy8LZiZMhhnYkZa+2VpxXbEleNmYTx9vciSzqrWbHciCXW7WS6OHlAeziXbkUjaoQSZA+Lyg6sQ==; 24:fdQIeM3mmHIulllh2yVMDtWDnUkKU2B+zPjkwfbM3HbiAUS5kqQ7ouj84Tc5mnHK4+okAdR+ic/g3CR8EpX9nTtArIB7Hsl6g5tltBpWrTY=; 20:A6RpCdVofJet2T13cN/CCIX0vX3l9g9tACm/TVhK4Hnn4xU8QQCzevpTwPdEIT7SfcD5KNR1K9l4HBaITy2JS/iuZ/j12Y9BUyJOdxEtSbvHA4d8aOg9JRUWHxV0zJsNsAcIiiVok16yl28P/LGHJrmjzbX7oU12mpCf58hqqcY= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2015 07:04:24.2741 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2PR06MB0596 Cc: Linux-ALSA , Simon , Liam Girdwood Subject: [alsa-devel] [PATCH 8/9] ASoC: rsnd: adg: ignore undefined clock error 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 From: Kuninori Morimoto undefined clock is not error. Accept such case. And this is prepare for clock out support in the same time. Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/adg.c | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c index 606d416..d4fb11a 100644 --- a/sound/soc/sh/rcar/adg.c +++ b/sound/soc/sh/rcar/adg.c @@ -394,6 +394,28 @@ found_clock: return 0; } +static void rsnd_adg_get_clkin(struct rsnd_priv *priv, + struct rsnd_adg *adg) +{ + struct device *dev = rsnd_priv_to_dev(priv); + struct clk *clk; + static const char * const clk_name[] = { + [CLKA] = "clk_a", + [CLKB] = "clk_b", + [CLKC] = "clk_c", + [CLKI] = "clk_i", + }; + int i; + + for (i = 0; i < CLKMAX; i++) { + clk = devm_clk_get(dev, clk_name[i]); + adg->clk[i] = IS_ERR(clk) ? NULL : clk; + } + + for_each_rsnd_clk(clk, adg, i) + dev_dbg(dev, "clk %d : %p : %ld\n", i, clk, clk_get_rate(clk)); +} + static void rsnd_adg_ssi_clk_init(struct rsnd_priv *priv, struct rsnd_adg *adg) { struct clk *clk; @@ -466,8 +488,6 @@ int rsnd_adg_probe(struct platform_device *pdev, { struct rsnd_adg *adg; struct device *dev = rsnd_priv_to_dev(priv); - struct clk *clk; - int i; adg = devm_kzalloc(dev, sizeof(*adg), GFP_KERNEL); if (!adg) { @@ -483,13 +503,7 @@ int rsnd_adg_probe(struct platform_device *pdev, adg->mod.ops = &adg_ops; adg->mod.priv = priv; - adg->clk[CLKA] = devm_clk_get(dev, "clk_a"); - adg->clk[CLKB] = devm_clk_get(dev, "clk_b"); - adg->clk[CLKC] = devm_clk_get(dev, "clk_c"); - adg->clk[CLKI] = devm_clk_get(dev, "clk_i"); - - for_each_rsnd_clk(clk, adg, i) - dev_dbg(dev, "clk %d : %p : %ld\n", i, clk, clk_get_rate(clk)); + rsnd_adg_get_clkin(priv, adg); rsnd_adg_ssi_clk_init(priv, adg);