From patchwork Fri Jan 27 06:39:10 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 9540873 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 2028160415 for ; Fri, 27 Jan 2017 09:33:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 139862074F for ; Fri, 27 Jan 2017 09:33:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0822A271BC; Fri, 27 Jan 2017 09:33:49 +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 1FFDC20952 for ; Fri, 27 Jan 2017 09:33:47 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id CFBA02679A1; Fri, 27 Jan 2017 10:33:45 +0100 (CET) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 58D562679A0; Fri, 27 Jan 2017 10:31:27 +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 1CBFA267931; Fri, 27 Jan 2017 07:39:21 +0100 (CET) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id 3ABB426790E for ; Fri, 27 Jan 2017 07:39:17 +0100 (CET) Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie3.idc.renesas.com with ESMTP; 27 Jan 2017 15:39:13 +0900 Received: from relmlac4.idc.renesas.com (relmlac4.idc.renesas.com [10.200.69.24]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id B032B7350B; Fri, 27 Jan 2017 15:39:13 +0900 (JST) Received: by relmlac4.idc.renesas.com (Postfix, from userid 0) id 981E4480A6; Fri, 27 Jan 2017 15:39:13 +0900 (JST) Received: from relmlac4.idc.renesas.com (localhost [127.0.0.1]) by relmlac4.idc.renesas.com (Postfix) with ESMTP id 9236248014; Fri, 27 Jan 2017 15:39:13 +0900 (JST) Received: from relmlii2.idc.renesas.com [10.200.68.66] by relmlac4.idc.renesas.com with ESMTP id RAK16594; Fri, 27 Jan 2017 15:39:13 +0900 X-IronPort-AV: E=Sophos;i="5.33,293,1477926000"; d="scan'208";a="232745515" Received: from mail-pu1apc01lp0017.outbound.protection.outlook.com (HELO APC01-PU1-obe.outbound.protection.outlook.com) ([65.55.88.17]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 27 Jan 2017 15:39:12 +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=dOWAN9lWdB/AF7lZrWXMX87joWDEZEUtOgNbt+KHlIY=; b=Zkmx/qtlab1F2Azt/QWJtpZgcUmNWx/5BzjSMBEKpgLkIQ2k0eqq9VFudHZfHO7HT3OSmb2cIgTc05tuwLTiaEmdStphqIbu9CvYFBIS5MVBzLg1umbRA7tn4OiFdRG/fLjMjeDseLYBcE1Ue4X7N1PMc7w839DsPkOS6b7Jf78= 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 HK2PR0601MB1923.apcprd06.prod.outlook.com (10.170.150.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.874.12; Fri, 27 Jan 2017 06:39:10 +0000 Message-ID: <874m0lqa9z.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 To: Mark Brown , Rob Herring In-Reply-To: <87efzpqaf5.wl%kuninori.morimoto.gx@renesas.com> References: <87efzpqaf5.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Fri, 27 Jan 2017 06:39:10 +0000 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: OS1PR01CA0048.jpnprd01.prod.outlook.com (10.164.162.30) To HK2PR0601MB1923.apcprd06.prod.outlook.com (10.170.150.18) X-MS-Office365-Filtering-Correlation-Id: d0f4de1f-8c08-4945-64a2-08d4467f3410 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401076); SRVR:HK2PR0601MB1923; X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1923; 3:Ps5E3XWAOPTiishx8qttJ99S0umqFGR2zqt5tqiFm/i1plUad/BVRgLma1QEBxl9munCtI7987kgv15L0Ty6u1I4NayA1DjspKHLwjcRbiAYK4b8WiqGeW5DM+JNcqjxqKUe5/J0Tpp6Vc2DW3pFjrBTVBU7YtzKRaPuuNfvgHzOoK9R4+MzJ0Msv6kIszDMT0PD12dw/61tXYZWkNAm5YHrEI1m1TWddtSZlBcTlyiTh2yqYI/9he1o77wrb75r+p82GAVm0Jj7v1WyN6GUTgAoplAMqDo9CQP05eUDX+I= X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1923; 25:wBLPUD4+HIkkFBbN//2Nlr/EP3/9kznVcuh7msKvAbfGvVuc0pNdMji2xRP3c8afmqzVinCPAoMGQgOceqtb3Ssu5gms0c4QuuldMqA0Akl0nZ7YtHnqVhP5Q4ABd9UIP4h5mEyZEF0GRObwVDGB/Twe3Bm8LAHsrIBgs1aUTr/wQCcE7oteyMrkz3b4zPzylsYCZRSDQIxcHMJmJQgtx6lRuFPY8jmk4RM5o3oPCHbuhekz8EPXGaN2weJtE+YHskO2UJwf8/kAU32HkjR+N/LvAi3qNKcunekjy8cBeg1R6y1wCQDBngIMSWyCKhrypQVQLqgStiv72yctKjWVf92Yvod3EA6elKW40jR0MaPxbRlLvCZsh0O1lSua/axtNY+sLMbjqL6Mev3RFNGegaVrVtNGxUmAC7wlfkyxl4tuJZuMJaP2H3SUpWYNkZBwBvzZnIa93brEu83s2cIStGNSxrF2BttWRMjm1jNSuqtd9k7btECTXWILgUJ24LDzTcV4mSCHsY+ayLoux5AEyFOVTneVTSjHI1TmbQaIGSRpXKyCZ6zCSzrTrB+NtPOwu1fqWWJslVLKUInTW+/SvKUajkzhoGZvQI/Gn0Cl+5IE5WQuOrmg9P4WuhIc8vTSFyM0K5xRceetcpcHYymKqG5GblJTSTYsQnFlR4uUIywiZ9JAnLLzXWD5PVZy3Smf X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1923; 31:iJSPQqVIPealBdn81AO/FzAO1cTT5KOlBbMdw/nSm/Vp4k9U6GiiB4yrsVgdoYNu8T6dOOk5xbZjKzCGmWHT0CNzWXTkcCsppmghepc7OEUFQ6n0J5GrNe9LnwOfX7F2/DUF0JJ2NUwCIvTV+X05VTOD8yiiTpjYI7e0BhlvW+hRp77dUWV1QPh5w0LskReEmJpSXVY0F/niCHkm9UQ1eLr/yQEtxLu9uZce2PPxXRoo2h1f0nWtxxUI7sQGcKsS5zhfRqcYuU2h+Hr0QcLH/Q==; 20:wqw7SN4Kz0jJBL9p/9j19KIqrwuH0t6W+0ndkO9uJMnNcr/BATHXMU1vVuBxmLoPZoCPrBI3yfn1+T/uxxLjcYbXLsgrAwuzvfeddb8tVUjPOXuhDQCWSFFDTvkcByHdO8y/TGYza84xmn5rUpjcqmZbye6sOGEomv2xQD6nNQL9fFYxpmQ6NZNg6vNAJj3wU1fbbuhKWzVOkBYWrFvj/bKdCx2hgENbTQuQfPmLJShUf/q25xe8P5Ae+Dz1ZpN7OkRNpwGC8xn/QvLw19rhm0vXyODOi7TGAXws+RkLqh0uKx+rq5dDPZu1CYfIFKihz8KJjRIfupmQmqbMeHTsJtEccC9KHNDwnUrAwzyE93WVrKLoiYuWaCjRUSeR4q2y5I9xA3cgcPjJFFLev0gIbPDA+sBLxM7LNMH4cvzHqk19zMqhDvRA10tbu0mZbzaM8/gPFS4y3Hm4w49cZYLM5iIMnDJkWfIkmw+/0qUVequnvh7EgdB72oPKJclpvm15 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123555025)(20161123564025)(20161123562025)(20161123560025)(20161123558021)(6072148); SRVR:HK2PR0601MB1923; BCL:0; PCL:0; RULEID:; SRVR:HK2PR0601MB1923; X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1923; 4:YotrtEdYAESddUetTnOdzijOpcExxNSUbZT8JFif5gmQRc/pkPxxWkUAiwhYxwadgPbBN/Ydg/6foAhUAnFm6/GG+e/9xFVW+9drbGlR9u2X1IzHPMjDDAUR5AUEM96BItMRsAT937+7pO//CcueoHQLYI/tnWMMd8dNiiCTBmBd430vN0ZFGKzINowTUS5qKqMdH5GkguRf1GxVJqwzHV8vVu+zgR4Sy+x/oMxaIEO/sE+NfOiiEobd/lycZTjRTrgJEmlgZatNjI1Mb77KvV5EPEuK3tZxEBi8lUmamybNvaUUBk00h7AmUBlDqzN7XSw+QFg+74DSsiF5ZUmLKp7uZs6KYuYfIV7FQV1ktULRMDiadK8F+1SyJXhXSWIE0RqcZy8izhgqlico/W/OGdrC1z2D6LB5GaWwegqD/Bw2UMHQ60ulYZ98KqUQTR7sTvCcb1lSQC/32TnlJ0XMnJissJKuG1kaSm/6MXBPKX0XSRZrt+01N0sQ7Rq647Gb4xm2o7/bEqkPFaFlZBWWBRWDs3wwihcE3GEPxN723AH7DR4OrW378bKQZl9VMGOSzoDE1Z0cntOqkMjePQECfvrDaijH0/rXhaQkW1T0Kl6MxnkyvqFd2IXEeW6+HerG X-Forefront-PRVS: 0200DDA8BE X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(39410400002)(39850400002)(39860400002)(39450400003)(39840400002)(199003)(189002)(3846002)(6116002)(2950100002)(50986999)(47776003)(54356999)(5660300001)(76176999)(25786008)(54906002)(105586002)(101416001)(106356001)(81166006)(42186005)(53416004)(81156014)(189998001)(83506001)(36756003)(8676002)(4326007)(92566002)(68736007)(46406003)(53936002)(6486002)(305945005)(66066001)(2906002)(23726003)(50466002)(86362001)(5001770100001)(33646002)(4001350100001)(97736004)(38730400001)(69596002)(7736002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:HK2PR0601MB1923; H:morimoto-PC.renesas.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HK2PR0601MB1923; 23:e8GIJYLfCVLz+StnA0xYDj8EBWz+oyjAuK54M5g?= =?us-ascii?Q?k6RKEHUmylUwHUSCieC2zDjW2ubBkRctALArQ808yqx/VtaAEto+XPjgYCXh?= =?us-ascii?Q?2a/xW7PNvVovTJlGO+lb8/l4CWYziYRu+K49KAQhLp8VSZwqgiZZEMQpscFd?= =?us-ascii?Q?7VEb6bqzD6059ND7mlQutal3d0Jfx44//R2DGXo+ex8h7nlcbk79bVxFezK4?= =?us-ascii?Q?a0EX/Js21ehgLqO07OulGxpwJymzG50OoJWvxsuQSg1pyB4u5ZLBtWIzi1MA?= =?us-ascii?Q?ydI+Uw8Hi/KoUVxbPoIBwnUdgxPhGwKq8RbmYmWnhtDSp9sHN0/oY0meWL93?= =?us-ascii?Q?KN3FQvjR4LygmzbyUSgjX1c1Udr7iAMd4v7G/R0/vVkaCSJ83PkVy9Q0sxeC?= =?us-ascii?Q?058zzSwAAQ48gngQ+GRM1TibJI6CPlAkpf9DQsXkZNGzKL4s9+/YjEfABWd+?= =?us-ascii?Q?QDLcP8DANaSxjYPcYg38JU/DxB/IprW8aqZkf1Vub0mH9HSQYMUecISf6ZaW?= =?us-ascii?Q?S014UHfg8nT9z8+FP6VOHKxpQ/Ncw5jnvTfSBRtsVo6wZ0wbEzwBsQuGjS5r?= =?us-ascii?Q?lYBlp/hvmxbeMHuE08o1dprmmKMZ4PZ5Fe8laUjM4j8Vel0eirTWi6gtnCP1?= =?us-ascii?Q?XUdyB7+1k+qS7J6udfdcUJLNAwJph7Irlk5UBlULIVOq7nbsUg0ezopMaZtA?= =?us-ascii?Q?XqRbCM7pOp8OLsL4JYuWKV/JYB26pSPEYQIcW//dAZiR5vO6lfpGKN9HjgmH?= =?us-ascii?Q?yBB+0RoIXOsgvOlgY4Suhs6igpMr/n9gSaAQZwV7qTIuke1H3/R82yXvHiLD?= =?us-ascii?Q?MsrUcqoVlwqvw+88Pcq0JDXleNKfulTj4DfexXMSGj+NnTrB1M8gUhV2rREy?= =?us-ascii?Q?SW42u8wbuv3UDkMN1ZH6pEyzlB1TqIMZk42h2kfXkY9fzp7VyvqYZOGvuAtj?= =?us-ascii?Q?VqXvEQbKIiT9SwxVFK16hc0jAUWLeF7heZbMOO3xH0Fjz6CZIvJ8FbPQDk+R?= =?us-ascii?Q?3dE+sDElN45MEDcxLG/j/84aQtc/+xsVGo4fwpTswDo+3UYBWR387jbsORgF?= =?us-ascii?Q?UnRkC8cXp/yIglYa//5OPJBkUFHsE1mVfTcYigYS5Xx9m3NZV5kV0+LRUU3c?= =?us-ascii?Q?jthuZuT4GBWRBkOF9PAeQXW7hMVe3oN2J+yL+o1Nr5rFi6UVdO4q6QPsYrot?= =?us-ascii?Q?oMuatoEsyGota/RxoyUom7bXoO9omHCRkDdRwIZYqf71Ue+bDApvfmdYmJS4?= =?us-ascii?Q?sW96ttFK5KWOopN9AWNsGeNEJfL3DzKUqTRoMT8fF?= X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1923; 6:GTCs/Mas+gEoQiYn4CiRvoKgHf9AODYtu07PPwmg2qYkKG9A8JkEwYICq5iuoLrW9nVdUejjvF6vkHMrRUOhiT+dEx539SV/AkctaODpCR+K7Z/sHW0uDkcRhd57VV5+WEHRpjowYteVemIcSSQGmfW4yHK2YBSHbSZ9pltDaLe2/PvdFcH9pzXgbcaVAkR57GDhgDwrH4Xcp9xzJQE6n6/b/tg2biBFv3AL0y29eQU99ayfbYzpzPPrdioeU3PbaR6IsSoQpbd4D+qVa6GRuCT4qjbVGIPKNSSLbdyVNg2YtBJsqlNb7XoC4exX2AuRX6zuhO/3I6lgo12ZAHbNHYAXjsqdeG4JMcxXDn636MB5TdLM2ru0yCJDYL6YkYV6vRa7If7Otv+atMKmAjEz2karW4iyH4rCxbt0y77jk4CcavGt1SG/NrsNLfvtcClGyXxn5R225VTmCKvZPu0qhg==; 5:R1Uqb+0OCzt0uHjvOzGOEWTAOEsNZ2Xo1HiHEDUXaFG2obWKTAtsGk2BujIUUL2qqvZVkU2OxI7SuP60leaBRFear24OfIKYDvJ5B2BEBcdfVi1fJM9NR4kLFK3dQDrnBXIQM2Eoi79T/1Pd5XNNZg==; 24:8xbu7VzpGFA1aOq6qX5jWVe5jKXbsf+RndpoiJI6GZIt0hoRXDawrVA6AJd9Ry2CK+o36jO3q3cTSBp1fLvsQYhXeKo9WTHR09rHS0WHZqQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1923; 7:KCbyo33+DahM4BYZ8UfuJxp81yh+AoUuEbmJEh9VMzxmeFMAWMtmXns6dDDtDK3kXbyz0jJB+lI32EUkzUhGSDTXSNZR7gKrE1kNek+5XgiqdDhuY732Yz4LnQm64FDeQiJT/PZ5IHJgpdToJzs19cyhET9NZEgvn3qh02Nn4RIedX1xrJM6Kp8dpLd01Fidt7N1WIKpgff2oKWSgpVLvoObd54ge51nNCcFKiLn1tDakdYRDKjTt01qWRjQA5/486vBdPh49pjBEQYFTLLzwTPlXrw68+9S5yOGKALBguljSJzitc/Yotxz3kj3x7G5T3QI+nNZ1SUE7awh9Bf/X/NvvY9k2nf5je98H0PxXCC+9XgXdQ6r60GQAHMvd5HpQ1wR2mTFcg4HrpXg+nX79NWxn5qFjQKnSiSr3y4NBGjUErjxspQ3m5CgS6LKzXoaHvftTEsxa1ztfRyrNcheLg==; 20:20wB4dx1p7JlsuX2Ov1SeRTWtEQG19wcTSHLHebcXBdJGolmSxlDyDjbWnCGkhO2HM7aQMzqguuBaxfE06EiqCQr5sQHfiFsckgR7AzKL6HQ7rhl7IqarBNwgvfs9Uu7bMVTohGOyedso1ZjMv4jO85AZEe38te4/y1rtnbYDbA= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2017 06:39:10.8698 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2PR0601MB1923 Cc: Linux-DT , Linux-ALSA , Simon Subject: [alsa-devel] [PATCH 07/10] ASoC: add 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 probing. On OF-graph case, basically we can check DT port location. Signed-off-by: Kuninori Morimoto --- include/sound/soc.h | 1 + sound/soc/soc-core.c | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/include/sound/soc.h b/include/sound/soc.h index e2ea305..67616d1 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -1666,6 +1666,7 @@ unsigned int snd_soc_of_parse_daifmt(struct device_node *np, const char *prefix, struct device_node **bitclkmaster, struct device_node **framemaster); +int snd_soc_get_dai_id(struct device_node *ep); int snd_soc_get_dai_name(struct of_phandle_args *args, const char **dai_name); int snd_soc_of_get_dai_name(struct device_node *of_node, diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 737765e..49ff615 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -3852,6 +3853,28 @@ unsigned int snd_soc_of_parse_daifmt(struct device_node *np, } EXPORT_SYMBOL_GPL(snd_soc_of_parse_daifmt); +int snd_soc_get_dai_id(struct device_node *ep) +{ + struct device_node *node; + struct device_node *endpoint; + int i, id; + + node = of_graph_get_port_parent(ep); + + i = 0; + id = -1; + for_each_endpoint_of_node(node, endpoint) { + if (endpoint == ep) + id = i; + i++; + } + if (id < 0) + return -ENODEV; + + return id; +} +EXPORT_SYMBOL_GPL(snd_soc_get_dai_id); + int snd_soc_get_dai_name(struct of_phandle_args *args, const char **dai_name) {