From patchwork Wed Aug 10 02:21:25 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 9272533 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 79B3E601C2 for ; Wed, 10 Aug 2016 02:24:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4ADCC283E2 for ; Wed, 10 Aug 2016 02:24:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3F40D28402; Wed, 10 Aug 2016 02:24:09 +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 3CADA283E2 for ; Wed, 10 Aug 2016 02:24:08 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id 57EF72666D5; Wed, 10 Aug 2016 04:24:07 +0200 (CEST) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id B2A7E266BB3; Wed, 10 Aug 2016 04:22:46 +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 8087B266BAD; Wed, 10 Aug 2016 04:22:45 +0200 (CEST) Received: from relmlie4.idc.renesas.com (relmlor1.renesas.com [210.160.252.171]) by alsa0.perex.cz (Postfix) with ESMTP id 074282667DD for ; Wed, 10 Aug 2016 04:21:30 +0200 (CEST) Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie4.idc.renesas.com with ESMTP; 10 Aug 2016 11:21:28 +0900 Received: from relmlac4.idc.renesas.com (relmlac4.idc.renesas.com [10.200.69.24]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id 9BD0946944; Wed, 10 Aug 2016 11:21:28 +0900 (JST) Received: by relmlac4.idc.renesas.com (Postfix, from userid 0) id 944F2480A3; Wed, 10 Aug 2016 11:21:28 +0900 (JST) Received: from relmlac4.idc.renesas.com (localhost [127.0.0.1]) by relmlac4.idc.renesas.com (Postfix) with ESMTP id 8D0BF480A5; Wed, 10 Aug 2016 11:21:28 +0900 (JST) Received: from relmlii2.idc.renesas.com [10.200.68.66] by relmlac4.idc.renesas.com with ESMTP id MAH13357; Wed, 10 Aug 2016 11:21:28 +0900 X-IronPort-AV: E=Sophos;i="5.22,559,1449500400"; d="scan'208";a="217603234" Received: from mail-sg2apc01lp0241.outbound.protection.outlook.com (HELO APC01-SG2-obe.outbound.protection.outlook.com) ([65.55.88.241]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA; 10 Aug 2016 11:21:27 +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=JTtmcJRfHZs1hprLKxsS4eVBE4HwrVr5Ow4eKnt2zmg=; b=Oq8dZbjWICn/F9ncVYpJCrIoJm20tQbjorO/ch8N5jA2dIXg63/EfTv1SFX8w6SbTQphXF2HI4JTLI2o5Pvzy/ezBkcn9gJIBGbLB5tYJK57BU64C7izPrl46Uy/chcbAwapgtabAIy99OB+DGgYI5HrPWIljtqunqSyygaboVY= 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 SG2PR0601MB1453.apcprd06.prod.outlook.com (10.169.106.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.549.15; Wed, 10 Aug 2016 02:21:25 +0000 Message-ID: <87wpjpgylx.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: <8737mdid9w.wl%kuninori.morimoto.gx@renesas.com> References: <8737mdid9w.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Wed, 10 Aug 2016 02:21:25 +0000 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: TY1PR01CA0103.jpnprd01.prod.outlook.com (10.167.154.21) To SG2PR0601MB1453.apcprd06.prod.outlook.com (10.169.106.19) X-MS-Office365-Filtering-Correlation-Id: 85cb0468-355c-423e-4cf5-08d3c0c50789 X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1453; 2:DX89gNJ5b8hG/JqDAMteBMw2wvKqFpvXusVtafTpsx2LDbndHrUmWXFlrgE2ynwLqrjLpKK0Rfilz571UGarTkX9l4K/a3BjNKK98B/qyR61X5JFQvsugRmerhSbBcA50JGSC6CwhNtKHhEz3Fxrcvr/oGTsPDNXKxSGv+XHhAWJVdohBrXZnzX6LJ2PJgQJ; 3:QO548KqvMaxZd+zbKW5yVGl7AhSc5UcYqZJidupYWkAfjBqvgWHFeyFHOYK4I7aCQESPWThTaFr6fCcF99fVLrvyCwbUoDi9jRISkiHOkLe8kFc81AIcGB2msm85aKBs; 25:a9AqxLg6F/1faUWbDicjO7CvMDGaHzTAik8/z524ON9GgkG8ZKsU0Cu0eHSJ6K2PDOvK0pGs0KbiIY/JHEw5SWqY6vlDtyviSFoesXlrRRRITLy8tQkMImXM+qtZdbMxsTq5N7xsOP9HjFRvetVweqmp4WbENkkiURLAs5FqgnoTTTUFdAI92sEX4a3Eqn4lclu9J9oWeHppAV06H4N7H6QnrCtubHF0CKqmDnr0Gcd04bdQg50R5KV1hI7RQiizEI0TV++ldK7nNSm+FNBlRkBKFM8+ny4yc9QuxxNYfDQCa5/n6NArSKUviEyZfr8uR9eh2QLIpC5ubYtSoUGH+QMxMrYlFFL7hCY2bXczI/dQf0cBaAZN/cPEGobMq21HWMizgucWNvVjsCxWwqZ2JcKQa5v5VS1qtzdgxHALzQQ= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SG2PR0601MB1453; X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1453; 31:2VT9YiPPTd0q2sOJxyjLSKJzlUtmvm2dn1UtWeOu1CxiynOhbSb2qTd1/EVNtCKoDzO47lkxqNk1qkma9+TMDvcY7xfJmDJzDyjG3oLxRZJBWwGAfWgXubnDIzUr/zx6gUq46yHkrT9nEY9BrMVasei47YT/4ZVC68EDEFl7vMWNob3B27V7236vtXhuBNZDB5JvoVOXQWMCH6cCzRQrizwmqtgFqahF8GYsMfeHczw=; 20:uiEiRpUK7EyfQSaNinoTLrMB1IHGPXqy6PJdnjij2MJpinh+cTl3JzID8iYonX8Ca3wAEwgTmKlJRIivapbIpzrInzmK4BbnUAvvCXr4areLJBDp9oOT8wMn+qPzxBGrQko7pLujmKwhSk86oNNcZf7ladaqUKlAp3MAhs2/EIRB73OYAlhqNtSgILL9Gh/kCFkf66q+h7Q5HMnoxih2PzurmOHjnh1d/h+RbKoM1FdszTnqNzYREeP9thAd8YzuAnLGJySkg6028V6wRBG+eZViBIvYGNAfP85GZlwBhCVLNiFGzJ/UhtmRoStW+dUyYgTPDsfbvDHNCoh7lXHtJR+qAoQHoPbD6Q+gLONmU4F2YWkfnABhr9so1wndxz845iwDKZEleLXkEqLMP12PEwEd2LHzX8aFfA/aBgGdmT6WdXr/mKjPOgq2/lHhTJLhwGHPPkyFS0vett3OUZug0o0bnPHntK5bxkkiH47VyRaGie2jUS5OsCt6Fxb6/DaT X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026); SRVR:SG2PR0601MB1453; BCL:0; PCL:0; RULEID:; SRVR:SG2PR0601MB1453; X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1453; 4:TbeMWGjnf/PJ+1hj5o/T4vG7vf/8GdQHoW9py36NrxHE40Kh2Qq6UOg7nv1lEgs/hARfcK1Fw/M1GEi4mPE/O3SbrwhiMdMgmnzaDAKkcjUfUmlPAHDWdZWu3HDCaNgbJklKoKfWLyLyC5ytGYpadmzbuHaqlAnabgUC8FEuebSXaB/udJ1TdNQ/R/jNpBVgeqmENEdz6zXhBcJ+tvzPETpDx2FPi6NzTkw8rcDl+yTfIdhq3isG2xmih2Xgu7M/PWDwRZaDB4mqf6h9/YQRoR2GvsEvXWt9BRB2jaMR0UxTcBObVfH2iidsSejpcjjqkKf+ygrn+KOpd8gT1aBwBuIQDh68ursRe7KJfdPUwh5TmMOanDKPJ86AMf1ags9wr3iSxOe3F+pvqGsYqdS1iA== X-Forefront-PRVS: 0030839EEE X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(189002)(199003)(83506001)(36756003)(19580395003)(69596002)(19580405001)(76176999)(50466002)(54356999)(46406003)(110136002)(106356001)(189998001)(33646002)(50986999)(229853001)(101416001)(86362001)(66066001)(4001350100001)(97736004)(305945005)(47776003)(92566002)(6116002)(105586002)(7846002)(7736002)(2950100001)(77096005)(81166006)(8676002)(3846002)(23726003)(81156014)(42186005)(68736007)(2906002)(53416004)(586003)(4326007)(230783001)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:SG2PR0601MB1453; H:morimoto-PC.renesas.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SG2PR0601MB1453; 23:2zVUHP901ygXWALP38UI9SUKKvDPcGz4tPKIM35?= =?us-ascii?Q?kKjvUNfE8gbSdgm9gFqoaS8ymYMoKz/dKb54MuTJK4GYebki0WlucQQ2FoRP?= =?us-ascii?Q?sr5rj93uD5DM/vmGnVNGlCK/6P1MjXK8GlMAIFKr0wRXX+7Ur2Pxhw/uswEB?= =?us-ascii?Q?Yo7T3Es78zRA+CYbVXZLiaoJI0YNQjSbBp8aBrSlhJlhgRA3UkkSV5D2/YAZ?= =?us-ascii?Q?UcYhfQpLOtvHHgbAl+qx7GajMfvR6eBK0jykKorkBv6QTvTnv/+/Vxb/G3o2?= =?us-ascii?Q?epCc84BhHMl9/nqfNaPoPR1A6VElC//S1EeX/gMnBRQyXIAtWJptzA61s3RI?= =?us-ascii?Q?sVxJqt3Ye78dYz+2VjTX8qgzDf4oZohMDJmoDOC/T9+3lmbloT4eUsjA/vW6?= =?us-ascii?Q?PiW+TsyMUKeLHqD5sdfQM3CtwWgQZXPonoJDDDFK0TwoAnk8EYx6+FP7zJ3x?= =?us-ascii?Q?ITxHHcd1IidsccXVjSfFmZrfGFcAJamzPHdLoex6Txn/RxzvaWOqboGnIZHw?= =?us-ascii?Q?Ovpd3IqJSm3Mjx9+S4H9km06P7ozjU7cXmWNoRNMzdbA2hFdbpai4tx2u4uh?= =?us-ascii?Q?Jwz0YXW3UYF8DlMSkhs3Io+3xUUR8wv8O8WLlXhwrSg+HqyDu4Lnm4Ie2RAm?= =?us-ascii?Q?t3hb9U7Z9ExQl++xvCEixaHqUoq+XF16pWZ67fJr9o0XyO1Q+xa63tZ8zJUX?= =?us-ascii?Q?o/ccjzRRTIZnJWn1nwTXki7FwEDWdrJpYxMj6NLUJg9+4xKNkkPzRdF6tBKv?= =?us-ascii?Q?BAosEAAnmDGEBnytNEo6knoRYiFmzTakxbr1s6T9q09vO0kErTAHOD6AKfNK?= =?us-ascii?Q?SGL7WoBHlZuMuSmfuU7zifBgOlOHrSY+KR0RHVoClPD99z65FQ1VLKlDvvS1?= =?us-ascii?Q?vgSm2izHmHUmtjF6ba9qnu+Yf0JoDxs7YY7p5sg/noSROhdPaiWo5mKjTjic?= =?us-ascii?Q?J4+yelzEaFxCVLWv6YfJsOl3EF4etYTECjGQ2FN+Fa+ZJi02CSocyPZ9oBl9?= =?us-ascii?Q?8u3F+bc8zwHijtYJHsZ402DyIUey8gnFcu4OgsRLpOV4dhnDO5f22sC8k/K1?= =?us-ascii?Q?X80juVyJSPEaxludoEbQ+OKkqFdMg1qdYp3Z2L26ctgVf9/e6nLaJ3+ze9Yn?= =?us-ascii?Q?kfgb7DI1QVMMIn1ILCLZQovJoMlquRW3nHIuoCMbXpg1agXU8flgvyZbLPdO?= =?us-ascii?Q?ahIHzryBAhDnR0+Y=3D?= X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1453; 6:ZQ9MX6acf1hy5zsQWReiRS9+uuOJ/LWSFoHTEfBiOcN2NXVrIO5SIAnHF3NDbEJm8W+TJ9gwPajz/XxbnlvbQUaTp31spFsYmtsjwWbEVSh2ov1bMHYrr78SVJE5SeqkArN4AsWKSWnkPRsTok0W8Jct1RFsruv6a4dS637LqGErtq49UFYFEnLM7pC/XEbq+mw3PGVLbubNiX0u8+lsKtG7h0emGaP3PwxeWFe0lqcDAjAl6cK8+UdtH0ayH05k1W171Q6TEObCrqhWFD5Ply3FEFHqmFVBjSSpYAel+fwNIJVl2ADV9IU/sHT0jA34MN2+hcwUo95J8rssN7mL0A==; 5:qyoL+dAuc5tig68lf06z/5Na98yWuafhrYFcoe5G74zQ8wSRBpM6pELhYRUE1pIltBunKWkEoEkpg322nD8McY+QOodKtfKPP7gXlclfRlc6PD8ln8IwHyMlYuVbvtzbFUTopXVTYOgXwVH9OOp1KA==; 24:dCn0kdrDTb/5htCYXAMy4FKPhVDxaPSX5zbNK2ixy0qPN9U1jFBL0IZap28iHQIm9ihMDIlO3GcVX+bl8kHtAy4rQ+4Slgq/uDY8XPbohQc=; 7:QGAj0lqv85EPwjZBS9z/VPQWf9pW2NIwKnJ99du770j6wDHrTcBG1sN5n27SlaUaa6CH/eg/iWr44aSn8m6kuYOcvS0Y/2X147//JrV8ZmD5nMtQ5SiCLevGUErIJffBb1MPOhjPgc+/raRYUVazyz8hzQYTRX3M/Uy4V8ooirSAmyYnyWSBYLDXb4dayLEMTZYPxZVtilHHKodB2cVoifS2NTCiawnTEm4dSKd7KsHxdHFzM0PbTPX8UClscx/p SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1453; 20:5i0PIQGfUjBb/3DlcJXaLyrp9+IaE51Q+hfwZpgKnsORQ1UwHLCHIj5l0pYJtA5xs06+fxBmd4XtCApp7wogb5aQfIJXhqWOVzInVUocZOmQs8GfRIp544fM0K4JazvfwzOhG21nf/mmBfjkKabpr+GxfdPZKwmPZnydLpgqlps= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2016 02:21:25.1066 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR0601MB1453 Cc: linux-renesas-soc@vger.kernel.org, Linux-ALSA , Simon , Liam Girdwood Subject: [alsa-devel] [PATCH 4/6] ASoC: simple-card-utils: add asoc_simple_card_clean_reference() 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 simple-card needs to decrease the reference count of the device nodes. This patch makes this method simple style standard. Signed-off-by: Kuninori Morimoto --- include/sound/simple_card_utils.h | 2 ++ sound/soc/generic/simple-card-utils.c | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/include/sound/simple_card_utils.h b/include/sound/simple_card_utils.h index f760f55..403ec92 100644 --- a/include/sound/simple_card_utils.h +++ b/include/sound/simple_card_utils.h @@ -65,4 +65,6 @@ int asoc_simple_card_canonicalize_dailink(struct snd_soc_dai_link *dai_link); void asoc_simple_card_canonicalize_cpu(struct snd_soc_dai_link *dai_link, int is_single_links); +int asoc_simple_card_clean_reference(struct snd_soc_card *card); + #endif /* __SIMPLE_CARD_CORE_H */ diff --git a/sound/soc/generic/simple-card-utils.c b/sound/soc/generic/simple-card-utils.c index c5d32da..1cb3930 100644 --- a/sound/soc/generic/simple-card-utils.c +++ b/sound/soc/generic/simple-card-utils.c @@ -223,6 +223,21 @@ void asoc_simple_card_canonicalize_cpu(struct snd_soc_dai_link *dai_link, } EXPORT_SYMBOL_GPL(asoc_simple_card_canonicalize_cpu); +int asoc_simple_card_clean_reference(struct snd_soc_card *card) +{ + struct snd_soc_dai_link *dai_link; + int num_links; + + for (num_links = 0, dai_link = card->dai_link; + num_links < card->num_links; + num_links++, dai_link++) { + of_node_put(dai_link->cpu_of_node); + of_node_put(dai_link->codec_of_node); + } + return 0; +} +EXPORT_SYMBOL_GPL(asoc_simple_card_clean_reference); + /* Module information */ MODULE_AUTHOR("Kuninori Morimoto "); MODULE_DESCRIPTION("ALSA SoC Simple Card Utils");