From patchwork Thu May 18 01:39:44 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 9732273 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 2E98360230 for ; Thu, 18 May 2017 01:40:16 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D9BA425EF7 for ; Thu, 18 May 2017 01:40:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CECA928670; Thu, 18 May 2017 01:40:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=no version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 079E725EF7 for ; Thu, 18 May 2017 01:40:14 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 99AB92670DB; Thu, 18 May 2017 03:40:11 +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 5DF992670D7; Thu, 18 May 2017 03:40:10 +0200 (CEST) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id 555EB2670FD for ; Thu, 18 May 2017 03:39:49 +0200 (CEST) Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie2.idc.renesas.com with ESMTP; 18 May 2017 10:39:48 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id AC0D46046D; Thu, 18 May 2017 10:39:48 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.38,356,1491231600"; d="scan'208";a="243297148" Received: from mail-hk2apc01lp0214.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.214]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 18 May 2017 10:39:47 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=xKKrfVE6K+Wb9xBtIkFuls8Z5AspZQTQOfF/HREQ6ik=; b=UIiH6oyQUUxNq5JyQLBNmQDSOSJx/sO9Mhv815jlJX0QhYv8G2QLDu12jFDHZz52qabngpmVT4wp2iNazNYiw94f/YOq4scBT1mUfa1kEEnuhUqU0CzzmNLxFFzznZle6e8nIIyK0HZu9y6JGLj7FywS4XDnsvtEqJkxgxRA4AM= Authentication-Results: kernel.org; dkim=none (message not signed) header.d=none; kernel.org; dmarc=none action=none header.from=renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.144) by HK2PR0601MB1873.apcprd06.prod.outlook.com (2603:1096:202:a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1101.14; Thu, 18 May 2017 01:39:44 +0000 Message-ID: <87bmqrosla.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 To: Mark Brown , Archit Taneja In-Reply-To: <87efvnosnb.wl%kuninori.morimoto.gx@renesas.com> References: <87efvnosnb.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Thu, 18 May 2017 01:39:44 +0000 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: PS1PR04CA0022.apcprd04.prod.outlook.com (2a01:111:e400:780c::32) To HK2PR0601MB1873.apcprd06.prod.outlook.com (2603:1096:202:a::17) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HK2PR0601MB1873: X-MS-Office365-Filtering-Correlation-Id: e76238df-b5e3-450f-67ad-08d49d8ec3ab X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(201703131423075)(201703031133081); SRVR:HK2PR0601MB1873; X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 3:Jn5lDEJn+ELAiXs4+PiHMlwrRhQCXL4o0JKkJONkmOm1R/66e2NcpP2EjEjoYCYtzLEtJ1BYFyzxswPVP/FkqPNvg3HeKJ9FWgMBR0DLNq+P+7jIOXgP5AFP2Gp0FIqetAAlKjROnrgbSJxgEiKtKHqIgjfivl+ELzndyZtZw6+hzJGXw+gOOnBuvZSw7wlvaCzbeOQyPwRRP+qI2LN4mGIahGJwmedyah62OcNuhunHxDhFYq1M/GX+WrKRPjc+d/YLaUONkU6nNzZ64vfvPiqMJcJu0qpk4cqVvkc4KM01y3E8Ect6h/a+sTgxyMWV9k9xmSQbKFiIn8ew4yWr6EvMXIpVLtCU6ZEbXeo8rmE=; 25:WoweEgrLpYD3OsjguALLFiB+zjhb8GmTobnqBmvkunGILBldp44h95lcH80xLNEk8kRiiYtoyRdQ6NnarUryTjQVz/kU7o385WjhHjRgJBqrMhAQXo50asUfdzyzf85beZyJXOWkdii+6e+p2UrK9QtcST8XDvCCiTgndoQj8uKMY+ClZBpuzxxwb2Z29M2cAZklnz8fN1WUdEIDMS8DLQY1FTzYmZ38QJcCq/nHK9L+5XrR3aT+6jdPa9FOy3DkmBceaCJYfZtcobo9A/KpfuUUPTZsnqk9rCr0LAzFAoZ47Exa3fEvKZzPFMgy06XTsAqCHoDlJWnIg+RjivSb45TRjU9m7t28xmDEBzqD1qp6FiKq8KP1htuO1Shp0FKQfbcHOSbcT3KR0G8dwqu2SUt0Cbl1k2HKrpDmJcu0XSohhoohPrxHPCxJElB1afCb9wx9z402mMODTvTw4lUwPxlWPlUmJoAtIvxYIP3EOgk= X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 31:XxleygOygLLJnOGIy4nuhFidyikZolX4ekckYArECCrBzAl37Rglw2xz83cHuVVCIYH9JW6twqmcgXc6AR2NY2IudR7ECVSFwEOy4F2iUhbtGbDNAf3DZFQfcdFLi0pn6dDEjrzXp145BWAfkuy5p3PrjEwXheYkB/xycpVHa635rO5SqhiEwr/n6dNRU9wmLXVHD52CJpyWhD36i96nSTwfdUXYhpO5Z3c8RY0dQEOfd+vYmSQrK3z+LX7ihr66KuueG1KH1IK0eXSwLDw5aQ==; 20:fS8WdTfmg7O/k5r7f4PxWH984UQLu2HJz2u+UUZH5W6Vux3084n48V1v7m99XD+ZIy/3t1HvZ2Jls1KMjYkZLLmeZFHYcS8ioUrcnmXfC6yujGT/Rp9qYOmRkWLMRi4sQhifPnLODxyK9zDb9uOv1eZVXw71VfqbQ1ydFQo7y8eqwONAOMgeunKHrlBfBjw6c45M+D+L8+hF/lVv7Twda9oTr84AD/UTh3y2WFPBsxPy87BdNPZiJRk/aWwa7o4M0qIkirHaGwaj9P+0N/zQjXGcadGJ2m5nt3M2ZKPZGstHXaeD1F33L6+/XnPxYS6GgmQno/xwu3lbD72/CU+8V8QubjE4MiLs0Nm9cJ3YYGJvUn1T4L7geL+YQdaoB6IMyH8Pblpf5YMmBbGEMZcWzKmlFfmVoLKpEUAvEiPqlICfs1gqbXcWwAP0KxqZZgwp/5+hHjzuUVK7ZotfFOx9AhBYKmDnGMei762cywKuv90lhqPfYEdEomPLtKLc2H3H X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123560025)(20161123558100)(20161123555025)(6072148); SRVR:HK2PR0601MB1873; BCL:0; PCL:0; RULEID:; SRVR:HK2PR0601MB1873; X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 4:/P3JLN6xXJ795MNfS4p6fakWCpPQEkNk3SsCbelkn3+KyOJA8ddD1Ex+SC8drL3KnoI5vC3iOhlsOlz6VCUYYicKUd/UuTyTItcnaowGe0ATmxTqbNHnz57fzxZNaFAEBJypgAD883GJPAvI4Shqt4Pp/RqD51IMYEbmOA3mxxMlAFpC39y7x4Jg5kEownOrbiivX3pVDzvNM3AZypD8PKTb6eTNBQY5WX39YwwkmFM3Bh+69FrdynVK25oKw4aDshg7W38+6naybePEINfWz9by85RTeLl245/yuP0vYgvZejdMlQocTgJ7aFNVEgY9K2SFGTl7IA35JXqJAxmr5NYDF3szcPYE0mJwrucgpWK0sRMECGwPt7oNOwRTL2Pzxs+gOb+MFBCFxFirUWKbFFw5wL2R/sAolzj+gstzlySKExmEUUlTgdDaEGLSbKt9OD6yaEeoIvasORLfjnMZWAc1vfPI1wSDfVoFV865AMJpHLOtqUA1ojeCtNYXSk+lL5PmbBKw9OnUdk0fmjzXf3XxVD2DMSuvftrofGc1lTbMg+7+lL+6a9HydzjbRgDIB6axAiOZDFkDJoozsWN7+Gd0StMDTPeGDfLMae6ytdMKyyRVRdqUrCjOEA+WV6gbNhjZemKCm4DhBzXLioKCSu59NMdApucKCle5JfGIJXchGWEdF8O/zoE/nfSxRgdFOVsGy64tzZzA1cprfKOk6OMPRszzETTYlXjLUsgaN/cnKhh+kMGH+Rq8rb2i7409kV0DRDtazN5/jDNi8oHVsfLuXVtJnDw0YWs01aeI+zLlYhKXXvEkaBvQWrLDeTpy X-Forefront-PRVS: 0311124FA9 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(39840400002)(39450400003)(39850400002)(39400400002)(39410400002)(39860400002)(83506001)(25786009)(66066001)(50986999)(4326008)(33646002)(53936002)(47776003)(7416002)(76176999)(54356999)(54906002)(8676002)(50466002)(81166006)(478600001)(6486002)(3846002)(23726003)(36756003)(305945005)(86362001)(53416004)(38730400002)(189998001)(2950100002)(5660300001)(42186005)(7736002)(230783001)(6116002)(4001350100001)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:HK2PR0601MB1873; H:morimoto-PC.renesas.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HK2PR0601MB1873; 23:6Z+pWlUHJK6TdTQlNuOfI9KP57OPvDd6Zo6gFRK?= =?us-ascii?Q?b9cPyCp9spu8FAt32gTSvW6F3KtGAOrmjzUOBe59NF8Dl+KdKl5NdHY4Inz1?= =?us-ascii?Q?endLZcE4qXfWDhWa3idBMhCkOpNVSk3S0iUKQG0iB53lTd3Rl8xBBLu0JgZm?= =?us-ascii?Q?XVgQpccNAo0yDHwRKi0Uz8WuFgudzzzqCuEoDE7QvdJQmHxPnE/+3wRWhz2e?= =?us-ascii?Q?DreSHL1+Llt1NS+n0YJgakAYeRDBQhXviRmpVI1ucT5AzjwJoSB/uuyafkQI?= =?us-ascii?Q?Sq3FemzdCS3IlUf0pQEA2fUm0R0EUBfCekJ7PVydx5/gFZupaXC8kpcjl8y+?= =?us-ascii?Q?028ZJG+g4xHzX/aTudsoA/nFEy7maXBX2N1f7WgAjIKV47PGoc0Qb5m+Tcne?= =?us-ascii?Q?9duSzxc5D6ccCSzlTOrCKeQZqq5s1qS4ILEIyAgsNhDegNd5b7RPl7O1jIKe?= =?us-ascii?Q?OvaWtLho6tkB+6f6wApqEImKcp0fWwbgDELxKZDbdKgu0gJpCidmDhxLZwJe?= =?us-ascii?Q?Tt53m8WpEHyjShDdLScuxp0q5oy5I8dXRDbQXJOhbV5MXlhR0hkjkx5W/y4J?= =?us-ascii?Q?LtCAfyJ/okPLZG4cvyX0yzCuyGdB5Q4IwDYxN/SJFz7gX4FzCzthjU0UsztU?= =?us-ascii?Q?ZVBZvvCGIEl8DkL0nfCx3LG+7RMeocNLbtTjSnAoTEf1JcN0T6nrK9mqXyU3?= =?us-ascii?Q?E7dcDvqgG8qSYiARjzbBXWIqHGcZw0rnKmi1ab5mvNmvFw3hzBccPW/b98Tp?= =?us-ascii?Q?Rmf3zM7U/LbBFFnL8TYevBklMiQuRDWI7ko+cqBT1F+qsQkKppMR6pwOoIyw?= =?us-ascii?Q?OnUaaps/JrGTKWiUQKPXFkqVI5EjNpCdVFu2zc8EzJWopwEJD48uYSnmjtMP?= =?us-ascii?Q?DVej6KSE4wMjPjcyw1tcJRePDQwKY0JgiSubSPZZ+kmKkKsADZgrNkcre9Sk?= =?us-ascii?Q?aSA7TjXEdlWD5Z/Xj2DyBIiAumffFFEcL8cREcpfVucY5sxUXIcFsnhNyUOr?= =?us-ascii?Q?s9x1zaEUP5/tKuVz73Nr1rGu9o9KEbFgCRtKM3VkEYC9B/mK/8KgQ1elulLx?= =?us-ascii?Q?vuEB5m/mFrLB6URmmC0UFGst34bEj?= X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 6:DFSpSnj3/3CmGk8nUyit5SwVYEgIaFKk4oc+aeOGPPHYUxanOVcyaQsJKvURqey3H0I+S9uXYIprpR3Ykp48/4+cetepe7JIbFoWL6+868ftQ/AGhe18iv91HUZJJG82Tc3odsye0HIXvaUu7h+srWR81AGf4+ZPr24W3jw6NhN5JnK+Qpa11/RFrTZfqjggkfzEz2xpYf+eTkOS6zqFuwwLpquGGc9VCFjQgrQjTsCnuXYWAv9UH3NPTLsVaDHg8t7ZnTNB71DXmaPpKqZ+sAiaJiXlXGwrt9cG58DWssSblSeKbCR4T6IqohuhNwvsupxrAf6XrGlCWBfJfP4Liw2o11/wxDhSRXn8nJ03BGWDSbuAW4Be9lctlQTXV5WfbDPFSrJlyr/aE5q5ukepOooVbJlIXGJpOcY6r4gkCQBCns8LPbv6qhmswSDIB4I4I9M4pKYK2xFx7B9Ln+kFHCw+gLlg35ES2/7Cz9E7mWJfugg0Zgi5ZhdmVzA+PQa/T6t3NbXvt5uv5vGJCdbs1n6rzGLCCjNOcgXxQeaWOUg=; 5:37JpFxBlipNrzyTJk54pwcYjOQoKAA0Th9WSqe5kbjc2f5ScpWOw/1Wt6t7qsyEHolmZaIWjOraJWdgQSLcQQp5w6H85GeLSojg+y1d2fuOvTjYAjValjpAaa0YiMIMz2PWo0xy3qHPQqBV/tm3xEw==; 24:yivcQJrIyyR+it37qCJCHG9OGN0dSEQrurW6cCN2oV5tVs9oazpD0mWpqZIq7a1r+4Vvafma5RuPjeGd1AEByi+eSPxsDuD9xzJUwDyGlr8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 7:fo1w7Q9Pr/gOyP8t8pBkK1shwOAokR86L68GGSeowUBV4BtL5yK6s/Agw6/CXxjqYHmILkN+TzgGV6i8BiKEO/tLNq14Qh/NE3RnzwnXpjS1RxjngzvoYKUtgKQ5pI8bx7fxvyCiUeAk9n3Ir42mwOOqRtWlr0ww9AzFs5eWXur6ZurUMFqdFp4UlEH+2HSXGJ9WWobY4thpxXhCCk6E0cv+DtTnhIJc/PBbrqTu+uGQJffTGW9iBmow06JMTnFkE+6tieT9fFq2JhxJCl3GGymYoxMgMDtLGCD1RFdyDaij7TJHWvLVLsjBHpbsUPgOpxzH+GOk4KmHr1HjCCkQJg==; 20:84deqrMgIZ8zJxjjh/TmPCKuDq7CcHBKgR0l7B6VpxIhk1QnKFRi8E8cZiK9QrhgwfgwDa4GTtSPc8M6fizH25wIvwsjP7DXkuCZWhEHqz9eKfsTGUE8+pFVTfm6yMlrX4UyWkUoheVSw0Jz4pMo5pg5+aCS6tlsCiMN6NvfRLQ= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2017 01:39:44.6168 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2PR0601MB1873 Cc: Jose Abreu , Linux-ALSA , Laurent Pinchart , David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, Russell King , Simon Subject: [alsa-devel] [PATCH 2/5] ASoC: simple-card-utils: support snd_soc_get_dai_id() 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 ALSA SoC needs to know connected DAI ID for detecting. It is not a big problem if device/driver was only for sound, but getting DAI ID will be difficult if device includes both Video/Sound, like HDMI. To solve this issue, this patch adds new snd_soc_get_dai_id() and its related .of_xlate_dai_id callback on component driver. In below case, we can handle Sound port (= port@2) as ID = 0 if .of_xlate_dai_id has its support. hdmi { port@0 { /* VIDEO */ }; port@1 { /* VIDEO */ }; port@2 { /* SOUND */ }; }; Signed-off-by: Kuninori Morimoto --- sound/soc/generic/simple-card-utils.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sound/soc/generic/simple-card-utils.c b/sound/soc/generic/simple-card-utils.c index 5a3d51e..fe726e8 100644 --- a/sound/soc/generic/simple-card-utils.c +++ b/sound/soc/generic/simple-card-utils.c @@ -177,9 +177,18 @@ static int asoc_simple_card_get_dai_id(struct device_node *ep) struct device_node *node; struct device_node *endpoint; int i, id; + int ret; + + ret = snd_soc_get_dai_id(ep); + if (ret != -ENOTSUPP) + return ret; node = of_graph_get_port_parent(ep); + /* + * Non HDMI sound case, counting port/endpoint on its DT + * is enough. Let's count it. + */ i = 0; id = -1; for_each_endpoint_of_node(node, endpoint) {