From patchwork Wed Jul 5 08:15:35 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 9826097 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 00869602F0 for ; Wed, 5 Jul 2017 08:16:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E754226E16 for ; Wed, 5 Jul 2017 08:16:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DB9CD27813; Wed, 5 Jul 2017 08:16:19 +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 ABA4C26E56 for ; Wed, 5 Jul 2017 08:16:18 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 96274266B4B; Wed, 5 Jul 2017 10:16:13 +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 07C1C266B4B; Wed, 5 Jul 2017 10:15:53 +0200 (CEST) Received: from relmlie4.idc.renesas.com (relmlor1.renesas.com [210.160.252.171]) by alsa0.perex.cz (Postfix) with ESMTP id DEDBC266991 for ; Wed, 5 Jul 2017 10:15:45 +0200 (CEST) Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie4.idc.renesas.com with ESMTP; 05 Jul 2017 17:15:38 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id AA4008802F; Wed, 5 Jul 2017 17:15:38 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.40,310,1496070000"; d="scan'208";a="248961825" Received: from mail-hk2apc01lp0211.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.211]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 05 Jul 2017 17:15:37 +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=WDOKTcbJwMgs8zffiRbKtaPB5nvl+7yArUCucPOIUHI=; b=nXoYnnxKvrCKrzZKYKUbhLXnN6wfK5UwpyrqLDoJD+TowmlmJpS6+96Cw2G/D9bAyuS5JDTqa6ylzdla30SPfAocVfG4EfC4CLiJHyEHCiCBK0WHTSTSJAzHh08kc4hsU/lckVr6cJSg+QxJE1vpU3J71V6R3p2WWAoz+DYFxC0= 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.1220.11; Wed, 5 Jul 2017 08:15:35 +0000 Message-ID: <87eftvmhir.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 To: Mark Brown MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Wed, 5 Jul 2017 08:15:35 +0000 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: OSXPR01CA0043.jpnprd01.prod.outlook.com (2603:1096:600:f::22) To HK2PR0601MB1873.apcprd06.prod.outlook.com (2603:1096:202:a::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a9643e2b-831c-4045-73d2-08d4c37e03f5 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:HK2PR0601MB1873; X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 3:JEfTbZyNyX+77ZpXZ6sSr5TJTGK0WwjIderBOLr47/rXrNNl4YNf1vi1uA9iI2LGcTk8m88TckwUGrNNM2+CG57+Vaz1/ZLCClcpFqE9wl0mq6cDbb5atTxVg56Cvz95RSFQ1qPgAz00b8QB/VeTfzodv4Wm+WG65UO9phKf3wQfmLAjZzv9QoxnmkxXaOWrzZHF+a7IRx89gAreFGEMOjwXpC8c0qMdP3A++Tz1IDCLgufaddSeJ/EVhG2sQnj7llaaDZQg1fwMOjOLROk/NGgwmCcQvSnrkLor7upcEsctiwZ54mnY0xdKRu1jINW4CrTO6ruk+O6rjnQKjMc92+B8j7T1NF2yD8G/qr1wzwmLu5G6Vk3Q/KTeVSha6F90XZyYh2caGnrx1Ar3W7xg3pSosx3qqvEFYgvHGWz0m/aQWVlGfmMBJtlDymUe9ska5avfccHxSy0ILYUJ5XtdLzi67cmH4FXbyup0g6JBUmsUEBSPvgzXN5fxKRxeBD6X9Us7+8x0+/QjFb6EAp86RAJj0rt4o26L9Pilt89VspqIriaw+5KrG5qeB9WJxyGW1LmkTGdtXCVUtBxWGpSnf2fmSYhu77eM3L7eGt2wwh7H9x/LzrFULd1FKzSGTQX4e+WuK/shz6JAJatiLMb8RTvRlHjdZkC6QaprpN10MjfEUR7t1RV+Y1dXl/0F0cuuicakzeIOAmGoL5mqmcfQHGQGEAVpoRmHQjAqf76KnKnGMEHrBPVdizgrerlmw0Gk87ZUHTkV4FTH5llTBmgHFQ== X-MS-TrafficTypeDiagnostic: HK2PR0601MB1873: X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 25:4FiLJyGgdZ5lM70fwi8W+8tMM66geHeHZEc1seJHMgbwk2aGmHWl2Qf1s9Qt1Zyn0+t+nb5mkZAXW0yYqk8AL/VOGTZkMGtxWrdOEm1aO0FuTJjNr457IdObr9lqW68iL4VCk6l1ssfd6nXZo0eEH0+WqT2gRba5yhw2Af7Ct1Ssb3nA5gQGuAmjXRPoKRdMBhw5Wd6dK+CNfsnLjLXQbTn+dWFQC3lGE+UfkeyrXZTxGKf/AyAVBTjTR4kAGdqkP/8nYQtABmj5BpelUUXi7oWHU3PYhwCoCETa60XxHZuDnG2aGl4O7osoFf5M0QtqF3GxWqPS5JyZLUU3p26wawqFkCJ4aNbceFywGy83KslxQIdz23mkgr1egmy2+ZU1/5uT4HRSVI9eqAVh2oitvpPdbcDfI4bj5f2zVcLEjkSKmCKDx00KlFNE5jaCqp54HoFcth9K8DhkdCIlyWspmenXPZduhVMhwupX4oo6b+0Hg2NqRwVbgulgD412F3sQOrIQdNhywkjxUZFUOfxzbAOk25rQCykUKOMjtFRVOW/qklQA1uVt6QIqFV4bkv79rtnKvt0HEDVaK8uhYG7aKcIAcxeDWNKUpZFoMbbWoczwfVTij17yyXFERXkDsBJQhsp63hDkjYK5Feqmmvcw+fdup8AnC9zbL69gYDONLQSXAEl41f0BECjlBg3kTVR1Dy3nV9G8Ibp9Ga+j1oYfRvGkXw1ZMBsRpXWk9tjBnDizuQKp5kdLclsBOOqyiGnoexmYMtcbwfanVOiu1Myb9aS6Ehr1Ty/iBM1AhyQTiJyO/8vw7eX3GV5d+6eEktUQXOPHRPaazYUCPErn31hkmN+HhJyFGmghY6diNMsmwcEXBLCHILBfxPZX4dwf5IOypviHwrSpQj5XCNlxDryF5GVmDZtVIqX62Me8fBxuYFY= X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 31:FKMsI69ZDSVIbXdW9/Zut9GYt9Thau6+LFA7Ejaj3c12G9bzzERkAUxjMqGlKG/FYW9fJWZ6mAqwmbO9rNAkJJtgl6JsW4yCeXVrO0K0oOtIlcAUhF4r+cSQbISOA+K/AKpUxPggtyS+Pfbc8hj4ndC4MwRBcr9LHAPibaYcp32VGqMJHskj5EOUhfS8k+ZjjaskcL/FSzNDQVEnA4v9bIhXDMGpwPbRVDmV/l4xyL8Ql/4QhWn910Lz30fqQI7yack7d1BjdkDSOxzzuoY7Mx+myxTsTm4nmQr7LVb3o21l+KJX8iE0dxdmAC/PhaRQfgxXc2t9pRTA+zHjuw5TG29cdN1rue5yyTpmbVgRaIWGl99smSGJqDyfYGReNjVPS1nSBtqbeYUS6qZgNk3A1IMvwc5VlS1uOAP9Qk1JQ904p5rpXlKUr1iFwwda7aQrV2lqSgH/tpsqET6j5q7aDjpioxh01kpPXXXjUYK2Ai8KZedvxa/Gom+ioUxaTOO+jyDREbq0BuGJLTx1eYFxgq62OsD+BOUVanSpGuTddpqR0QJP2uSYU/MNWB87xN0WW6qVFIS2iynenEZfYPcuZOnBCTw8NoyBA7fBN2U7HE5xcIRFqkR/juCIUPLTe/D3x4/99L46mlTvX/x1tvF45jnvmE8ChKH2X8S7bXxGZuVNNVNE38pKXZ8Sqk6Y6Qx8BBEqGPxagLggHhcom8+zrw== X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 20:jLfb245+EbygyjYFK8oL/NyLw+3whsTEH/8cS7J3aqorgNKCZ7KCiJBi6bWTUyDxcfwyaWTKdmrJ4l5mVAFaGsMN+1e8DSGJSVjR0zdV0gQ8NewVXM+iJfUue/dGCOMG1vPgbeYK0Cy8pYZ+/iT+OpnL5HQyog19YSlUK+dFeybpWtRbLXJUN5B1k2/6qUoW8YbO3KJ9vosiD9hO4pzScy7K6oXb8iMOCvbWgtyWpxZCJIHET08Jd06Uk1/qb/v35L5Ux1r1rt4BlfotG525zyMuodvJzwp9wqr2d/qFq4gRNOIC2Z09C/tgpwgVYFFpfDloAj/V9e6RuYos9zj/CHMT734nYR4EFjbjoJhkqYKkg0Z23nQxOv74G+qnXG0sRg9hp5GJ+tXm7QMAd3D4J9V2u4IE1EqpTGjocxwGT3r76kjr7YQT9Pkqel6LjcDDOztSeqCMKwynln5sMG4z5OSJSn/fEMhPAWnbgf7MzirhgDaLzjI2FoelerTdkvk0 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089)(148574349560750); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(2017060910033)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123555025)(20161123558100)(20161123560025)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:HK2PR0601MB1873; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:HK2PR0601MB1873; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HK2PR0601MB1873; 4:Si91dC5xIN6W+/H4Vq6cOWItwoEDU4bETAB3wepT?= =?us-ascii?Q?HfoQeDL/3ZE+jkvMcxeTBaJKBabiGYew2zApcQGTw0FWIZzM4F96TpuwMQfF?= =?us-ascii?Q?RlPxZgNg5148aFNQF+7ZauwMgMzUtmuw+jCmWrECTIeBqrVFosQEl+7UJmJZ?= =?us-ascii?Q?4omiQJs+YfBJ9bCB9kOmKnlm8VgGmX/6n+WUVgIxeF+hpU1duAZvD0MHIAvv?= =?us-ascii?Q?naXwXYg8mc2ByDXAHiqRfvVJNl9rXhCiaPItmb4sBaQnGMNhA95c8YB2EAm3?= =?us-ascii?Q?SXl1IHDlg6UAfcykzEeFRi0HFTEjQxbBxZqhycLmDmOw1BX3Dixs8FCpR1cU?= =?us-ascii?Q?/BrMVK9Q+rLHPLap5qVJDdeD9hOzkHf4OyzYmMSDmYHneW26XfLKUHSEfpel?= =?us-ascii?Q?ZpNLIzc7n9FDFUYmbo4LYtWKKzgvdeGahZYbGtkni+UO34+DTGo/9jDFRhB9?= =?us-ascii?Q?7Gg/jusYL2DeAIUY45J/4uwwTaOxQiZkidKrJytuBsnGldxecJlEqaug3VhQ?= =?us-ascii?Q?T34xEtvoRyESxa5KryYajfuO3HdD1H2Z+kHS5BAc7EyUa9G7j2oMl9ND4vn8?= =?us-ascii?Q?3U6Xruq8upkMYov4Ekj39NXS2auwHaKO0qrsOwuCoo9K5Q6tOTyfWbynK3Sp?= =?us-ascii?Q?0Cjf8WV75cq5NThof6B76mdJQ+7vLh1j/CxIkmBzvkQpzqxysKyfXpjxTWM0?= =?us-ascii?Q?6g2/a12d/pfZ697ohtMZDuVAVie5RjBShBEttkC2DxfMBE2W+ny5zMP4i3Y3?= =?us-ascii?Q?zI+WoeJ+0TKYMqTGy0AYKkoFe3nF1fNvHFlIUDpA5C93RvTQtgGP8EumXH6w?= =?us-ascii?Q?ZK3e2MfiUjXXBOeYO4VjRkoIUNY4o1AvfHzCM55DTqEbp5cz5ue6wOHEhyAL?= =?us-ascii?Q?D7aPI/GsYgaNs2zBE23cKgnHya9PqETcxAmJEwebFPDVcIh8O44ZtH0WgBZx?= =?us-ascii?Q?PzvgluK8Dy06TqoQ4eXGkD5A0IjcCp/FOPStQ1TLLcm9weE8VO+WP5nIpz+a?= =?us-ascii?Q?UWuGnKXxlhIq4j9YBhUQB8flVWa2o0HP4OhSGF7QW4cpV2vs+WjwfzFe04j1?= =?us-ascii?Q?nfJ5PWbq/4r9JX2eJ1daldy3RFtVMbY90c8zMJozDFtbVo1PujIFnXJN4DV1?= =?us-ascii?Q?KxL0PkdHgdXgtUgDxei46UVRWERKxnuwSna0bGFiWNN8APmbO0l5Emo01Hxg?= =?us-ascii?Q?mIqmObuLU+Bnsz/zUrNth0RCUyvlKX2w2lVOCQVcB5XbQj6t7yiBjV7UHmy8?= =?us-ascii?Q?4NsAM/gRbvK7I+YbMJriw2xzz7GZWZvNViX6DNL/?= X-Forefront-PRVS: 0359162B6D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(39410400002)(39840400002)(39450400003)(39400400002)(39860400002)(39850400002)(7416002)(46406003)(36756003)(50466002)(478600001)(4326008)(25786009)(54906002)(110136004)(38730400002)(23726003)(47776003)(53936002)(575784001)(66066001)(4001350100001)(6116002)(3846002)(86362001)(83506001)(33646002)(81166006)(2906002)(7736002)(54356999)(305945005)(5660300001)(53416004)(6486002)(50986999)(8676002)(189998001)(42186005)(6916009)(21314002)(16060500001)(6606295002); 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:oR7F19ELa69mrtpmKl35Pr7wi30EZsSZ56L/vhl?= =?us-ascii?Q?O5MeoE/eoHNSGGDGOcCcOCqsZdleImbulFle0/GXZkdJjEGYeyJnWejDgwqy?= =?us-ascii?Q?NP4oWsL1ekeQQ3otKT1aDVNHg69GPnV/i0IVw6H8LQ4dwmroLdFFOqyeIfFC?= =?us-ascii?Q?lyfcYLWQv9FFsRb4/9IDeZdHZMUjswPdRRCcDGH2oIN2ESXQv4XT/lkM6Ac5?= =?us-ascii?Q?F0QKFjccghhx/HV+Q+dhgWVQ3v3kUEKGdWK906FnG9OR57HpzYccIkZxnIgk?= =?us-ascii?Q?xFLmSktzNttYC1ROsyJkuNGTBUPAvJTgsd+VlHRJadf01QAadApMkxTTaNSJ?= =?us-ascii?Q?6lTojLFbZLs9pJ2437TztvUYsm8lo7ruqXSJTBSgp4jDEq2V/6/vmYqtxvLP?= =?us-ascii?Q?GKqTEBxmxsqg45yIX8WZCYzRWS1hkrePPNc9uouHQy/s94CzEG+LMQxMtIXx?= =?us-ascii?Q?5vfKmk2cci3YxX8gNG8HfNSkVkfBsG2avS3NoStIKNQqn6tV6NI8wgdjE/JK?= =?us-ascii?Q?j2c+SG1M1EwDObHSV48UjTv9486rQN5XOC+Po0Wj4hIc8+zERIUujDiZIYzh?= =?us-ascii?Q?HfytZl4sTW1gpG2E6zdsNvHqc3xMwQ0X5GoeUJ8MpKRyEnW3n8wak4ydzdbL?= =?us-ascii?Q?upkQ2PTLH7f5ZX/qiblFKLmeXR136U3XZhKC/IOWAAsDPb1r71wBlrR1ckSw?= =?us-ascii?Q?QClBHZdexzHwPDl5KZhoNJbT6Q6JbvMLdnEokkG9LjG3uqB+DsZ3svzgE9MY?= =?us-ascii?Q?i+dX0699w0cGlgZ216uLwyeLYRRdedn/5/v7qNEoGBGK+dpJ1ELsZiTfv5+8?= =?us-ascii?Q?tfyKh35GYe4vqC//8p8mKIdJ4VgTqT4DWOUMfYlQBoEzRE7eDrsHWMj4u0kf?= =?us-ascii?Q?Yk6RAgnaX1AuEG+Hz/SaDF2lU4+Twz9ur5HL6bwLpOFIXzcx+tQoolSRgvba?= =?us-ascii?Q?i76aZFusAHO28EfJvQLz9Fsfq8fGtAb6EPinJNZQfOzZpsy6MNvqMoTnWWQ9?= =?us-ascii?Q?dv+NKdM7LayDlkWdwB3oeb6MNeoneW3KPPrZ/9XqvKt4ZDZG9jVv51JlxfOu?= =?us-ascii?Q?0rfe4ii8e2y5YpfKP1Az3345B3pQvidJWJ47sf6ST66ocxghiQgIx2tv4iFj?= =?us-ascii?Q?mzQT1aixDHw+FGEMMR8kAff1NO2RoESZ7WAS51tosOyZOn9aCMZlo4g=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HK2PR0601MB1873; 6:fDuA7d4M/Q/AeOPem2Y/Ne8UB7TN5jVFxL1kmpRq?= =?us-ascii?Q?oyVJJqYLC/8lazAlqD7e3hns37FVx+JWRP2thibXv+3mzprK7lB/jYYHUZCU?= =?us-ascii?Q?k/+sq3bxa2UYCvr/LcC/upoKxi7kKTnuQWMIkWm5emhqNfc9q7aCBWCT2SDF?= =?us-ascii?Q?YabiTaSxhCTGfK9kOlSNm+Efr4ddKXSmdYhdnPEmLpclgutHj9xWJMwH/hSq?= =?us-ascii?Q?Y1M0I8zbWbQu6sABGIWvWXkDbq99soEkK5vWgBpOdbj/jBjdaC00aR51UzaT?= =?us-ascii?Q?vhoRyL7NbbfJU0X2hTzICJRWT4nh/g/L/XWtYmuKTcHLSYwqXuEpRoCRlPeh?= =?us-ascii?Q?Et86mVB6pA4+SyB7OQmVi/IkCdpOyzUJpePmK6PNjuarzmeRV5CTJyKXLuuC?= =?us-ascii?Q?Va23+cnEESEPpB+1JBp1/61ClBhBrU+ZCw1OePl0FMuHlaIYKOcJ7lir1Gek?= =?us-ascii?Q?KzXARZ4AaKqwvpb0f+tB/aL5rEuysTNmfO79TIrzyAK5lTy0A7io4B1U6O9G?= =?us-ascii?Q?f7ZgEb9ifvFYH5SEJuYIZORdT6d5L+b1/sWC/8UJlDAT8lla/WAUhdBHvFK6?= =?us-ascii?Q?7JSYRsTGT+zZ6f+3fER1B38cIp+jORMZN0E0UQnc45PpY0IY5nUYfE/c+rmc?= =?us-ascii?Q?XvLIiEiJkoCGus2+0xVSbs06Xtt+NrXsEKvctesEOMcDKpmwvYz584PlsCkJ?= =?us-ascii?Q?rrpAPPosxTq0/I0I1uz3zcr+qOv3SARt4t4Ev1nM3e+T/vNyUGic6LezZegG?= =?us-ascii?Q?2dDpWIBu0NNaZjwo5Ew8KMFU4WFJQA+vD1OcFDrzmOzdnj1mpVPocS7bkgs/?= =?us-ascii?Q?qzDv4JwssbXm4IhyqJynGbTkm8FPvNJrdvF2gPMGu2EM6Lkb28GmjwKXz9IR?= =?us-ascii?Q?YuZzK1GPbnGDFDFAJ3pfxeRKhtVwk5vz1ELHInnmCjo/3EuBUv7m0Ax2OdkU?= =?us-ascii?Q?43/+76JNXiwqjPhhQAUfcRwIeTPYsgxUIMTpA07C9YiF8c6mnRlKLjXEtUT6?= =?us-ascii?Q?r+pgs2KCQTPPHFOKVoeEiRUS?= X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 5:YNbuCF69Z6I8TWjkjmyRhSj8lvJiEpiFY1Zzj5Mk2HzQ/h6Jw6+zM15Vv9y+SAyF3W7spe1ppF5Aotl+096Us2m9teil+xT6W0OdhHHYiY8epFHo9sjkpcjE8u/5omVaJ8ngzqYUANjZO2SE07d4pQuM6NX63gPpEnJpsPvQXBuogpZ3YH1LmkE5WdwX2ygZuLOCLNynwXR57PE3FojWaHheoLjScdyiuCsppMx0Jf6AVa1Cs1ngtnyZXF2Z9Pj8rFO5vzhQf3aBf5nkgEHO/VocJluEQ+6j7VKUKuZeesDwMlzKoLvcI+Il7dst0z3B+lNVpUuLe3Ecmz7mqBnOhQ1le0ZqFvvxdI52DZRTxzvxnkRs4X3xzZ7qHVDRlfOXhWyyYKDo9eRIqRX6YyGhoPcp5wnYJxxwUDZAzXzfrv7BjgHEo9q8y04SRqnLNJUX4YviYwiRunrqhlD1m0c2TOfIAfsEG0jk8XMvOA2UyR51bp+YyuRxy9nu034nMAT2; 24:wnJvE+XJpY1nAVnszQt0bgrkyPmaxSSefoZYzJv/kCaVJ1hjcqDcYHa/vA1KlCHss7yZtVcbhtBA4s4aga3KaKBBRj1ZhgIHPbMfWyzJ/M8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 7:JpkSXoYE/iqVh5yUtvsEPX9mFCxjflJIJOHKu0yb9kQdwVKPeIDNK0/+h2rDDYmMDz74SDN7XqOg8cwyX4HeU1N2oS7LXdO8DwTWh6QB350bJekKbiB4Cz6wQQZMLsvkOwrdAM2vUy9wLvIxX0UKLL/xBFypDIqFV/qqjW+hc5R8ize6yFUchgNAz0uGHS0elpg0hWl6B50CdJIylL09lJ3qIU78h3kmQ/DSWiTU2N3aQO5bJXpCRihWG4z4gzn3lNaKu9rKVPtTZnG4sFfoxNWVwgD6FyTlXJJED9lA4dhOyOzksMXRKsVwbkY0eHeRIYkmfMCpenR0APZYuHPN0RZePS+iSAT1DPWk5uUmbNbc6GZZKmTxAcUYlywjvw3x78Am3oSdcxnUf1kTkiIEo8jlNIf2OCYjSElTB7qjRu5ZbhJr3nG/y5Nsrar20Mwgy0aN16ZsWE2AMmoREON1+CH4VYvywCWS03y9chgbRjzTtHLidcJ8pqkEICJ1g/mV0bOBsNUvMb02K9GJmO4qUmqJbA+ByoFz8qgcIevNZpCeBgEnBne0H7LAEsXR+vdMk6/sQ5Pslbesl2SmrtoYSqh+/84e6YOjvc4h9TofWp3lwnsuGGBZATSqPPDEJb+UwiL/RCCfWYkXdDv6chJrlPnlnFoK5ub8U/6YN50dgDeECdqIqX/30UZTdcsFrk0thZHCrQYPO5dYy+A6w+QEZokqqljqFtIx5KdKxR8cnLDcO+CT4Ex0UhQsdc9RUNcSWhZFCyp3dwCP/NEjffMRa53+v9N4OvmuUyWoTa1DRPg= X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 20:FrkCTSZYSuanzS11ghH77EOhpAk09iQ3FKegEWa33GMvff9dR6EMw6PCc6992z3FEVISCa8HNubaSiSMSc72eoj1yiLP+i05Gl8Nlq6xOF53QPjzIdniwRvM8JJGfkKYO1n3peSsMJqU+HKawJBfKBV2GuBLU6weGvtMG4xWNWA= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2017 08:15:35.5216 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2PR0601MB1873 Cc: "Jon Medhurst \(Tixy\)" , Linux-ALSA , Arnaud Pouliquen , Takashi Iwai , Liam Girdwood , linux-renesas-soc@vger.kernel.org, Simon , Philipp Zabel , Colin Ian King , Vincent Abriou Subject: [alsa-devel] [PATCH] ASoC: hdmi-codec: hdmi_codec_priv includes snd_kcontrol_new 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 Current hdmi-codec driver is using hdmi_controls for "ELD" control. But, hdmi-codec driver might be used from many HDMIs. In such case, they will use same "ELD" name and kernel will indicate below error. xxx: control x:x:x:ELD:x is already present hdmi_controls will be registered in soc_probe_component(), and we can replace it by component driver probe function. This patch registers current hdmi_controls in new hdmi_probe(). If hdmi-codec is used from only 1 device, it will use "ELD" as control name (We can keep compatibility). If hdmi-codec is used from many devices, it will use "ELD.x" as control name. Signed-off-by: Kuninori Morimoto --- sound/soc/codecs/hdmi-codec.c | 60 +++++++++++++++++++++++++++++++++---------- 1 file changed, 46 insertions(+), 14 deletions(-) diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c index 22ed0dc..5835a90 100644 --- a/sound/soc/codecs/hdmi-codec.c +++ b/sound/soc/codecs/hdmi-codec.c @@ -276,6 +276,7 @@ struct hdmi_codec_cea_spk_alloc { .mask = FL | FR | LFE | FC | RL | RR | FLC | FRC }, }; +#define ELD_NAME_SIZE 8 struct hdmi_codec_priv { struct hdmi_codec_pdata hcd; struct snd_soc_dai_driver *daidrv; @@ -284,7 +285,10 @@ struct hdmi_codec_priv { struct snd_pcm_substream *current_stream; uint8_t eld[MAX_ELD_BYTES]; struct snd_pcm_chmap *chmap_info; + struct snd_kcontrol_new control; unsigned int chmap_idx; + int id; + char eld_name[ELD_NAME_SIZE]; }; static const struct snd_soc_dapm_widget hdmi_widgets[] = { @@ -399,18 +403,6 @@ static int hdmi_codec_chmap_ctl_get(struct snd_kcontrol *kcontrol, return 0; } - -static const struct snd_kcontrol_new hdmi_controls[] = { - { - .access = SNDRV_CTL_ELEM_ACCESS_READ | - SNDRV_CTL_ELEM_ACCESS_VOLATILE, - .iface = SNDRV_CTL_ELEM_IFACE_PCM, - .name = "ELD", - .info = hdmi_eld_ctl_info, - .get = hdmi_eld_ctl_get, - }, -}; - static int hdmi_codec_new_stream(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { @@ -718,6 +710,45 @@ static int hdmi_codec_pcm_new(struct snd_soc_pcm_runtime *rtd, .pcm_new = hdmi_codec_pcm_new, }; +static int hdmi_last_id = 0; +static int hdmi_probe(struct snd_soc_component *component) +{ + struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component); + static struct snd_soc_component *component_1st = NULL; + char *name = "ELD"; + + /* + * It will use "ELD" if hdmi_codec was used from only 1 device. + * It will use "ELD.x" if hdmi_codec was used from many devices. + * Then, first "ELD" will be replaced to "ELD.0" + */ + snprintf(hcp->eld_name, ELD_NAME_SIZE, "ELD.%d", hcp->id); + + if (hcp->id == 0) + component_1st = component; + + if (hdmi_last_id > 1) { + name = hcp->eld_name; + + if (component_1st) { + struct hdmi_codec_priv *hcp_1st; + + /* replaced 1st "ELD" to "ELD.0" */ + hcp_1st = snd_soc_component_get_drvdata(component_1st); + hcp_1st->control.name = hcp_1st->eld_name; + } + } + + hcp->control.access = SNDRV_CTL_ELEM_ACCESS_READ | + SNDRV_CTL_ELEM_ACCESS_VOLATILE; + hcp->control.iface = SNDRV_CTL_ELEM_IFACE_PCM; + hcp->control.name = name; + hcp->control.info = hdmi_eld_ctl_info; + hcp->control.get = hdmi_eld_ctl_get; + + return snd_soc_add_component_controls(component, &hcp->control, 1); +} + static int hdmi_of_xlate_dai_id(struct snd_soc_component *component, struct device_node *endpoint) { @@ -732,8 +763,7 @@ static int hdmi_of_xlate_dai_id(struct snd_soc_component *component, static struct snd_soc_codec_driver hdmi_codec = { .component_driver = { - .controls = hdmi_controls, - .num_controls = ARRAY_SIZE(hdmi_controls), + .probe = hdmi_probe, .dapm_widgets = hdmi_widgets, .num_dapm_widgets = ARRAY_SIZE(hdmi_widgets), .dapm_routes = hdmi_routes, @@ -768,6 +798,7 @@ static int hdmi_codec_probe(struct platform_device *pdev) if (!hcp) return -ENOMEM; + hcp->id = hdmi_last_id; hcp->hcd = *hcd; mutex_init(&hcp->current_stream_lock); @@ -795,6 +826,7 @@ static int hdmi_codec_probe(struct platform_device *pdev) } dev_set_drvdata(dev, hcp); + hdmi_last_id++; return 0; }