From patchwork Fri Jun 24 01:19:00 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 9196307 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 77CC46077D for ; Fri, 24 Jun 2016 01:24:14 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 64CAA2847D for ; Fri, 24 Jun 2016 01:24:14 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 57ACB28483; Fri, 24 Jun 2016 01:24:14 +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 D99A62847D for ; Fri, 24 Jun 2016 01:24:12 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id E7C73265D8E; Fri, 24 Jun 2016 03:24:11 +0200 (CEST) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 79FF5266040; Fri, 24 Jun 2016 03:21:12 +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 3C138266040; Fri, 24 Jun 2016 03:21:11 +0200 (CEST) Received: from relmlie4.idc.renesas.com (relmlor1.renesas.com [210.160.252.171]) by alsa0.perex.cz (Postfix) with ESMTP id AC686266096 for ; Fri, 24 Jun 2016 03:19:04 +0200 (CEST) Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie4.idc.renesas.com with ESMTP; 24 Jun 2016 10:19:03 +0900 Received: from relmlac1.idc.renesas.com (relmlac1.idc.renesas.com [10.200.69.21]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id 554D6459F3; Fri, 24 Jun 2016 10:19:03 +0900 (JST) Received: by relmlac1.idc.renesas.com (Postfix, from userid 0) id 50AAA8002E; Fri, 24 Jun 2016 10:19:03 +0900 (JST) Received: from relmlac1.idc.renesas.com (localhost [127.0.0.1]) by relmlac1.idc.renesas.com (Postfix) with ESMTP id 4BFDF8002D; Fri, 24 Jun 2016 10:19:03 +0900 (JST) Received: from relmlii2.idc.renesas.com [10.200.68.66] by relmlac1.idc.renesas.com with ESMTP id LAZ21924; Fri, 24 Jun 2016 10:19:03 +0900 X-IronPort-AV: E=Sophos;i="5.22,559,1449500400"; d="scan'";a="214136768" Received: from mail-pu1apc01lp0019.outbound.protection.outlook.com (HELO APC01-PU1-obe.outbound.protection.outlook.com) ([65.55.88.19]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA; 24 Jun 2016 10:19:02 +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=yfNbIAInQyHGFgC5Zc4zQqLNGcHHoSk8kL77MZgwUek=; b=ftKcB8wYW/JvLBNnwY2MLccZC/WBrX47RePSj1wkB3l2zgYOChR6UUQ/8pUzi5bEh7IIMpFql/vDRKmmsM01WLWMs+gxvBs5r/493QYRJpDGc3JIf1K6UnSXVDi+lxuFBBf9DSKfHzk4+5sZNKPz32pbgYs4Sz/XN21q1zhFt9c= 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 HK2PR06MB1700.apcprd06.prod.outlook.com (10.167.73.14) with Microsoft SMTP Server (TLS) id 15.1.523.12; Fri, 24 Jun 2016 01:19:00 +0000 Message-ID: <87h9cjxue0.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: <87wplfxumi.wl%kuninori.morimoto.gx@renesas.com> References: <87wplfxumi.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Fri, 24 Jun 2016 01:19:00 +0000 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: OS2PR01CA0037.jpnprd01.prod.outlook.com (10.164.161.147) To HK2PR06MB1700.apcprd06.prod.outlook.com (10.167.73.14) X-MS-Office365-Filtering-Correlation-Id: 935ca981-47c9-4e46-d1e2-08d39bcd8646 X-Microsoft-Exchange-Diagnostics: 1; HK2PR06MB1700; 2:Qo05dykcGMXfaf+K4/gUsFXkDnTz+8/tV+tY2sxje1Gw8Ewpk3o3gN1Rq4cIrz1JmJvkTQzDk9tz7PIcldDkh3nFZvr/YidK+1PcjPL/3MQRlAD5WpDebUWW1v4fET3We5+wvRKILMo7/jd3qKYKFbOYjllou4MwUbY+w02Szqj9USgot/tRIkZK1q2xqEgv; 3:ZEH48N+0RxOFlXLiwrBC6fi06OXzUYBVvAWfhKP87Pp93w19mxxA54KRmrlM4u3gzowPgrgw8X2//lXKlY8C1EB6Sx7+fc3tnI2ncPToiaZjJUZSuJsTj6dM1Ilybjyj X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HK2PR06MB1700; X-Microsoft-Exchange-Diagnostics: 1; HK2PR06MB1700; 25:cdgl65rvW/OiDwyiQMxrVLp4O69gjUFvwl0cYsH9AeVjBf2jcrh2e/s4zYtOdVY6GRFf0r+2JooRVXPju6COtWVQnbBpPhFxkYQ3/r4oO1Nc03BT72z9fYq7wZR7e2TlWteqZNF2GhqnOlZlnbItMNPQTn+ZidMwNSNIcx641BNsQXmVJEHtMsqmao59U0+HXf+ek2F2yLQP5DlwuLT28QS0bGhh3Xke2udXfhI1Ayiwl4tVwV5ddQNTBaxS+fVbcaQojZ5CnryiCGrHV6aMNLBVOw82y++DiNOkI8w4jPaRFEvIOWKPgbzSz5UtQhdtzYGuinN20NP/RYrtCbfchjslMJfvTWDM+YjXcapanIx6C720VJYA+pVpy3KFCRBjnnImr8RhP8Ro6QIp4DO3MstuPbXAFrNMmtIn0vNc/dZ5bIlD90VGSuyTPE92ccbV9UFpasQUHWVSdo75hazH+4+CAX7HiUPfV8t1Xt8awyupWneztUuPQHbWYn0vbZZz8d4HnyvscwVsJ079ow55dFEmOvwXIS2Mkkd7/k9D8F50IqFRlLflh6B20JU8gkYSsinv712qh4dk8nI1aH8kvw+vfQv93rXPDtZGdf5NTM/csdFk8HNpAM54eS+YBrk+bI6Gs+PZ6EOMETfexRjQwGIRTJGS4QTIpwNMEtWiv2mpoxtOeKiTXI5YkGyT0Jj1 X-Microsoft-Exchange-Diagnostics: 1; HK2PR06MB1700; 20:5E3k9TlsDDi91C1dmlmhbMcD6yGUEGGSpKQKpXOyC8v7ayrWws4PWp58EB3MuECQwQDOW2AuzPRSwQA2LhB4EssbMQ2L7bxLCus8s2RtUJrsDVLcQw9DiIxkuoQvj6pWdnnNbUUCpnGXa3ec9tynKZxRYhTuyRVEYHzNGu5KqCvVdY5XLUAnRwDlC12KjiJ51+FBwrW43AmNXZIbz4XBfjhiXj9Az9JlRFhq7lEPxE5QvgjM3Z4jVxz9W5fgM1rugcOnjI6l/83IFoo87YEV/ewlNzUbSJa+0bgSiboE0fkVX1UcE8SPVix3KNo8JUPmj0hIkaTLE7kP9IO8bx9gLNkMij6Rj4xbPyfJJk0HXOSWpsRN1dIWMSE6ZuKxOuJwXUyUvkE4DgkZVDydfFHLT4w+S43tkpFFABDMTQIObKebvyOTVD0btWmXjbZyIpuKDgcw76QNh4pRMop7U/6a52nrMx9Lv4eEszBoJSYepdqldsZXN9aDNwuGuHTiYn4g; 4:EeMYXXxwu1FIvrZOEgZXqMc7h3IBLdjq/Y66FshC4btAnDbehXUdkQBdklmkw3Cw1VnwDQygH+QaLEmI0Hj2IVe5D1zT2f63axahCrQQBBTslczzMepogJGJ+jJ3DVAO1arTUp1v25bXK65IhXAtDp9NVBBPSJlhTjTc/ZJpIyyrG6RHc9Pze7Ca4KyNsRCLjRkYBvSHWJKB9wD8LI20nYb3ZhqHs1N3oilkP+QvYQJMuf7EYAx8MGq+wPJwpzwXFXIsrnkWj7UYKaHrQw/9dHO43X+f5L99EG9VGkQgTNakk7INVY+2PoQZBbHJ3O3VrvbI8wrVlWqM7qzAOwKiQW9/618wIQQaghMtHJgBEe56lBwIHQ5qCcNcROUxTZ2Ttv3+45q0yTI/1KC9Qh9kaA== 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)(10201501046)(3002001)(6055026); SRVR:HK2PR06MB1700; BCL:0; PCL:0; RULEID:; SRVR:HK2PR06MB1700; X-Forefront-PRVS: 0983EAD6B2 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(199003)(189002)(69596002)(46406003)(50986999)(83506001)(101416001)(33646002)(76176999)(54356999)(105586002)(106356001)(36756003)(50466002)(230783001)(19580395003)(19580405001)(4326007)(3846002)(7846002)(6116002)(2906002)(68736007)(8676002)(81156014)(2950100001)(7736002)(81166006)(305945005)(23726003)(586003)(77096005)(92566002)(47776003)(66066001)(4001350100001)(97736004)(189998001)(229853001)(86362001)(53416004)(110136002)(42186005)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:HK2PR06MB1700; H:morimoto-PC.renesas.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HK2PR06MB1700; 23:8lPXno9RKu2rvaJ3wAtXOCwO/yreUOIQFblWkP0N+?= =?us-ascii?Q?5+OrjlwEdhXl8gs/FHufNvybn0BKB0DGOhmpxYWXRq1QVweoiSEe0qEW4F3T?= =?us-ascii?Q?h7M3fS/kUBwaw+LQQryzPJJ5cgRg31zSY4el1DVE/As/F1tMCJ9y1fgB93UX?= =?us-ascii?Q?ksdFyYHPwj2N56OgovFk2173qiCFikLqWsUXHyXzTihocMu7MmCfMygCAj4F?= =?us-ascii?Q?2QbvPRW3ePy/JCgP/LB/85B0ifycgupUhiXdjmmPAU5vZaugfclAihH37ov4?= =?us-ascii?Q?dUNVizC7+Sa/ro4K8dtTbFuTmbkzfUORyUAnIr8QIB6Q4T5d/CI4EaxRuMLi?= =?us-ascii?Q?tTgTBh38Fu0u87PiyonJNHaCZqU9qhFs78/8CH53F4f0Qy6BMS+A1ARQGpna?= =?us-ascii?Q?9QBLOUEDPJpvmR8Q7O3SvwGKCLGaH6DqamTfXA3dvUNOus/qKLcWIE25Mhh8?= =?us-ascii?Q?4DG/hXTpBD1DBjw/HmPc4ibR0zqkVWFBu/07D2fEo6FmngFL4dfVzW+9D7JO?= =?us-ascii?Q?Vo9eshlS1wHwjZ14/mC36eram04Cj9sCOuEksJehvv5fadrkm5/O3aNUU4HT?= =?us-ascii?Q?F6MLgymILbVUlyMKbHRfsUnnIgrNSkKTnr7zCT5m76WVZrAjvMcfZm/A3qvS?= =?us-ascii?Q?CAVG6UWKLPwelToI6zaGLMDOxAJY8tREruP3cgwgdqJFdnJikv4zsjb32qC9?= =?us-ascii?Q?m9dF3V99EmqU7xOhy06JXwKBR7Be9T8X5OXI8T4gkHaSPBNcLkBb3PDZPXcA?= =?us-ascii?Q?mnhY5DaiwCkTxVRfGH2XZxcXUCa0840AuWa67rwUGowxIVxhCbg2VBdA/zkD?= =?us-ascii?Q?T9RDkipXoRiz2R+4uqsAq/2v+8kOPO/0nVVj2DFNNrmQz38oS/UT2kpfjnsn?= =?us-ascii?Q?SUnSw8+8UvTZvUOEPZb5LAvL8drl6qp3gmRsZYb9n+E5V2krSZHBPogyRdrx?= =?us-ascii?Q?bH6yoyFPr6SjgaWDbY0Ymbmr/fKYl4kY2SOynjtEnlLFyZWgcs8SpRSeuVi7?= =?us-ascii?Q?fOfezNuJNfPik1wt31VFLpFRZHb5tjAKwIbEJ9dk8is0iKbkJe4H5wCnC3ql?= =?us-ascii?Q?mBCztqkR8zMvwBQ7RV3bvH+OBJSJnwjS7mBy98ktY86BXSSK/ch7yr1aeeLP?= =?us-ascii?Q?w6PkEs8/ERT6CtbxZynjGctS/xEUmTWZpJSBMsEttSdIIw/Z091ZI6ayjiLw?= =?us-ascii?Q?xhXfs0YJKb2yX8=3D?= X-Microsoft-Exchange-Diagnostics: 1; HK2PR06MB1700; 6:/JY51G8aEgWqk0HhgECGjr1eoAEktn0xmQIDGr0bjSdKVBE6vdFp5+m4Qr5Ehww8QBX8POjtq2beqigqQm02kLonib64VvZHXL+Ts2wXbjieIaDc18VjascfCixCaAcsoUrnFNKDpHqwp2PAc9TXGN3hFz3Sfh7HX73rbiHjBse/V80zMU/mu39dz00kNGHRfIWaCQvHftypAfsnbErxUxIlil5USHAm1qBl+/eP0DsenaX3xaF+gbkFXBOrx+fI5WfKwzmgCwHJbCj2dsCiZgZ4m6HyhXDwXmJ5zJYymhgfoXadEYBqkdiSG6E7yZzHZWyGqmIcGHCMYfFTslEgGSuBO1vnc3mOg1bzM4KtnqA=; 5:s5ghX7EDtEQcRnGWmYaSd1XnvC1G/hinR4Ge6w9x5gvivCTvWkQ9fT8V9K6lOV2VKSlFjdNardu3wC+d/6qr5juV7vq4T3ec9xRQWU/hqscyQILY0/rmlg1n5Tjza4aC7MsJe0r4trGynpWg8ABQAg==; 24:NqIzLocfsu+gnr35pO3faqnoU31+qjGgK6OlP1eHVJkVRrzKQWxxeZONV5UmuN7tUEEWKf4rbUcAyDg5VicgOTW8JrGgvu08JIBNI1TgeOU=; 7:CxMA2K1IEDQgzpU94y5xvdIpr6zdIZdAHHmT9iP+ZWt3iJmkv8YqQER0MGsUhQ2vQsK5Bh481+h84I2/CiZh/DHVzTvWF20Sn6yrFoJpbUBo+UnUNkPxz2nzpEtlJaEWAaai3AaM/ThR6DE5dWHGmmrw/icCWQ3L9zo4ptLV8c3EIE6ZcstYYz4zH4EEM8OWorV8JSH/1Qj9EobK3CM9t2UIY9eogNBD0NFvRbhPpaPsB0nkjkDqI0JdhFxAOG0Fryipqxjn/FstkJtoQYLLdg== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HK2PR06MB1700; 20:nJh5CUraALCtmh8b1Rqd3J5mJin7z4EHF74wTDJ6NiCFEAy0ysDyrcTdj2ghqQM1XRLgc0lSbqcz6TWx8PiFSDBAnCXG5J8ijStT/+Zi7qdq2MO4OOP89JWkBHKP5HgoqCxTleDM22T27h+78SbS8Ghh9J7s5w+hwlzAwuNffM8= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2016 01:19:00.7306 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2PR06MB1700 Cc: linux-renesas-soc@vger.kernel.org, Linux-ALSA , Simon , Liam Girdwood Subject: [alsa-devel] [PATCH 11/11] 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 7846467..7dbb349 100644 --- a/include/sound/simple_card_utils.h +++ b/include/sound/simple_card_utils.h @@ -72,4 +72,6 @@ int asoc_simple_card_canonicalize_dailink(struct snd_soc_dai_link *dai_link); int 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 b8977ca..8bd4c83 100644 --- a/sound/soc/generic/simple-card-utils.c +++ b/sound/soc/generic/simple-card-utils.c @@ -271,3 +271,18 @@ int asoc_simple_card_canonicalize_cpu(struct snd_soc_dai_link *dai_link, return 0; } 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);