From patchwork Mon Jan 29 04:39:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10189217 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 0F04D60388 for ; Mon, 29 Jan 2018 05:01:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F1EA12621D for ; Mon, 29 Jan 2018 05:01:57 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E4EBA286AD; Mon, 29 Jan 2018 05:01:57 +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 07A552621D for ; Mon, 29 Jan 2018 05:01:57 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 73B69268329; Mon, 29 Jan 2018 05:57: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 7902B268326; Mon, 29 Jan 2018 05:57:25 +0100 (CET) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id D738F267D50 for ; Mon, 29 Jan 2018 05:39:13 +0100 (CET) Received: from unknown (HELO relmlir3.idc.renesas.com) ([10.200.68.153]) by relmlie2.idc.renesas.com with ESMTP; 29 Jan 2018 13:39:12 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir3.idc.renesas.com (Postfix) with ESMTP id 25AF85D54A; Mon, 29 Jan 2018 13:39:12 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,429,1511794800"; d="scan'208";a="269597524" Received: from mail-hk2apc01lp0210.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.210]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 29 Jan 2018 13:39:11 +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=kyqLejYd9+difDH/ei5Uo1PPfpItwuQljVys7upK2wQ=; b=Pz8ZzWzemwiVZCT13jqI0P5dP5dzK/8GMsy1nFlFE3TnD0QU5vKxZHaYVnwUqjLY8t5wg54JWOftfnxgHSDNcTAwCLLUjcawCn8P9728qwpduN/iT61+6ulhJ83QdNcUaBXXiGIsbWIXheQfkhFDKfbp19pnxh1jHUiVbvGzdfo= Received: from morimoto-PC.renesas.com (211.11.155.138) by HK2PR0601MB1875.apcprd06.prod.outlook.com (2603:1096:202:a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14; Mon, 29 Jan 2018 04:39:10 +0000 Message-ID: <87shapuvop.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: <87inbl5q6q.wl%kuninori.morimoto.gx@renesas.com> References: <87607l8k9i.wl%kuninori.morimoto.gx@renesas.com> <87inbl5q6q.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 29 Jan 2018 04:39:10 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: TYXPR0101CA0037.jpnprd01.prod.outlook.com (2603:1096:401:1::47) To HK2PR0601MB1875.apcprd06.prod.outlook.com (2603:1096:202:a::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 8b1208d6-1b45-40b9-6bd7-08d566d23da1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:HK2PR0601MB1875; X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1875; 3:8q3ZZJEwo26XT83Yr2Df9Ye/RiUq4wCCp8AsyQj7Hin6E0y/rSo4fHyx/5Zqr1Rs8UAQEFtVmw3UrIiquxfhXRgE+YmZobMZCND7LuMHP4av/aRqFejyp3Ki99LYK9vU0T2ty/lE/uGyRHv1Ap0bbWwUQ32bhgkoxBEd4FKy56YvsSH9L6crurfydXVCUwNAH4AV1j1wLQ3s2MwTOQEDzPcstV7ez4rkBeq4/5OtENyi6jBv1ovKhIhuPRY6OSSd; 25:NXEZf1eloVeBFLoExnRVC0rVXyN1MqsvY5ZoCuFnxbetujXc0tBD6cd6PhkD1CUis5EFmrKuPAzae/T/HvUvpBGAC23AEBS5ZPZD3tAgqBtdUYm4D6zDs1FKIreq781XOSykpCYJ3ZAWGx5JQUwsNeehkx3zCWnCrm4rWbtthdCegFks+UBalNOotzlI6K9AVB3mhDEOiYX5TfT48Dc2UFqUHz81RJ9i5/eRpcrI7aeoskGOx+wz7Eo94EdEba/2q3GvbPzFbTt+OvVG/zzt7SFSIXtXNUgInuKbTbL4/BqdYfsPpjy/hpBB1G8MMFo73PEz2pdfUez53ZNuxLCPtw==; 31:23/Ma+PU9N+6CMAQLldhAJCpcHayMAXRdMjWqfUX3dGdLATOLaXegbxdj9OEgDg52QsqXZe/X1V7EyobuXqaKRcEHm4wuOBGGy9RL6Fa6wfDR1h17aBZqEPMOxnELI9VdCOOcPtmLcVBNOFaIPKJAHntOiyVcQuB/DEnt+lUW+zysmtapGO/+FkA4hPzJ1cmUQwe1bnjmArH60UN5FQMnLV71EpJNpY79FknyapBkbU= X-MS-TrafficTypeDiagnostic: HK2PR0601MB1875: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1875; 20:zdsLHQbMjRznpTBZyIkO8FUzy7gxl43bNe1OuRL/oN0B9ScxTC71xOcFv7HTO7NxuUodNf0wO9DRKR7uInG/6b6weFjQLzYQxmbhO3Pein730r8xCeG3UylfF5D9MKQwlUoLdeqi/sNH+eNBx6fuPRHGBD1Cboe+QPYgeDNh5bZ3wmTI6eagUZrcyXB35NzcPIQQd7X81+lX1qKGGXLT014/HVZgjf5H6lVuIe6I927dYhAJ/qhnWs7SPe1R5Ip0KcnhsbQBw6CCNVzgKgJqfZuWnon9jjQweRT3jHJzW3ZKfq6RVXXUgV4Aeh2o7scyG3+9qoMKlMb8TKQ/Hu/a0T3Wa/EFWJlaUTLykGuTiBwwjGkbRkxm625gYz3QW8Rx0TzXswHZ1xRnZbc2oWN9/mx6St209BSYW9HK1vC1UEpPBXCWwL252a6P2tHxaYpf64UqEGMM6hn+quJYJ7dOpeMkSOmXX/HsxpvhKaZbD1p0U86UM2HkVpdQkjVKMqdb; 4:mvVUB238E/TLKo4LjqwH8bwfwTFy23B0rc809paf9EC/khZkBGWzZHo6kASHIkhtQEE1UM4hv3/GJcmRmPmoqEr+KNaYZXVMCOrVUj7grvX0QXdIWQXSR1JtyGobsWSR/wN1nk6vlVhFPHWNft5040xMGxcV4piyjl/bJlwDj6zmxvLQfs88no6zBSI6sX+c1UzA65+IVZOad2wAWHv6wcscIKnBNiSSO4xI9P2YreMXNKbYeTpTx/1v97sTd5+SOOgvqNvW0/hoFTVKdsv1csy7xSytB4cWT0TS0mrhsvUFI0QxjlSLQMynyR+cHAzy X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(8121501046)(5005006)(3231101)(944501161)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041288)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:HK2PR0601MB1875; BCL:0; PCL:0; RULEID:; SRVR:HK2PR0601MB1875; X-Forefront-PRVS: 0567A15835 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(39380400002)(346002)(366004)(39860400002)(376002)(189003)(199004)(5660300001)(7696005)(386003)(59450400001)(69596002)(76176011)(305945005)(52116002)(7736002)(53936002)(6486002)(6916009)(2950100002)(83506002)(53416004)(36756003)(50466002)(106356001)(16586007)(58126008)(25786009)(26005)(3846002)(6116002)(2906002)(23726003)(47776003)(186003)(478600001)(66066001)(81166006)(8936002)(81156014)(8676002)(68736007)(4326008)(105586002)(16526019)(316002)(97736004)(86362001)(21314002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:HK2PR0601MB1875; H:morimoto-PC.renesas.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A: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; HK2PR0601MB1875; 23:vAi8PVAZa7K27SokFUYQAqBVkOQfEL+92dNT0EY?= =?us-ascii?Q?jLDQw7KZxv9SmgOH073K8VAP+LEq+4rQAr3IyIuXp+db8lzXf3GgY9tXwAvM?= =?us-ascii?Q?qRidYh/pf+F+VSlPUz0JCKEhyC6VS9Hp/auEE5q2vqEYra+VQwPplgUkoDLa?= =?us-ascii?Q?ma1q1EB5vUmmJxSkN+pdbr235jOPZlVkMfjBJ3IAThNVuNKakbEUQu8nNec+?= =?us-ascii?Q?c9qMRB/Iieva/l7BiRNofKgwMwIgo7mh0HoWBv3Ke3wwP56admG3F/G8gNVc?= =?us-ascii?Q?lrdWPReOc9o3M8gVxlWV4Y0m3p0P2EiipKJiyVmP3xTFnogxnayEB8ywuJvt?= =?us-ascii?Q?xQA2RMAlWxyslNZCg/hgK8mor7AzDwP75lGhlgbwf7t9+DBLW0G2NLr0I0wE?= =?us-ascii?Q?cACynWlogJUO7/J31c4TKpY8sv9MURe6knLbYdiHv1a7adYXU69xBDLln4TH?= =?us-ascii?Q?eJoHtAzugn+cS/jIOOpcipBTM5/khQAg/43Mvq+f03jq3zDAHC+B2vWWhoq5?= =?us-ascii?Q?UU8yoOmBvov5c6CygK4y92K3mDMQNYtOThK3mEFSZrHneES6seuVdxnHH0x8?= =?us-ascii?Q?OS70xtVCtCYCqGbm3+/pksyczvkabMyCux7cbnF8+X/3JZHltZf3Ksiow5HK?= =?us-ascii?Q?Q3XYr60K20NpAdLNZUT1qoCIl0FsazVWj05b2LlT0ouBWUggJOB1JYbNypYX?= =?us-ascii?Q?HCIRYzruk8jJ1XJ1J3WFKlRyOJmTxxMnQuwnKVaAVpEpDxAJVJ48Iakqo5sS?= =?us-ascii?Q?r5pEjWdDRCmy9ooUSPh2tLLSh+QQV1MegjJFRw91HbdZBOPachg3mvpnTyBB?= =?us-ascii?Q?z75DIZBZzdLNz09BhGazfIByb4sThDw09iA/dmRGOboLrqzJiLZjSc61UpNH?= =?us-ascii?Q?kP98ATBphnc18DkJCx5S/0P9OOuLgWa9Sn0CHVYp+wlL4/BNXNdkoZNSPvNd?= =?us-ascii?Q?UOEJQrklWy4hKiQSoG5wMwViuMgYyYJM5Bt6AQJWUIZ4wkrMYy9yJ225vuey?= =?us-ascii?Q?49QhlB0kiaOodnjRfQz0pA5+lWBu7+lNKVVQi9gFarWGwhkaq40ELXrxSlGK?= =?us-ascii?Q?w40fBogOaIq62wX9NlITtPr/gvi9/MI82mqLAdcMEAvSbpgJ/ub8Q5rRp0u7?= =?us-ascii?Q?L4qgFAgdZNOEONnD/FdGNKcBi61AfbEXYJZcGqVhpSG2wFCu9nygpgNiatMu?= =?us-ascii?Q?ddRkbaa3emQWPpHw=3D?= X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1875; 6:jcQb7hqE7Hyo2I+JvBwuWXRwE7dwLYajyUduOKhv7p0iMVjudAQ70a2u72rXB/M1xaIMiMIKm31HcK8K1trgQ6f3IgKKRavOe1yrwMGLOo7/tBbG0pXDsMFvg0VOD9vFh/Bdk0eksDRAuOVbZPqd062PrXFoYBuEHdG6Fq/BXqqMU/B+FggoU8xJ3dh2tUUff3E/GCJKXDkAvmZxx9jaTLAzwVofRdR3r/b8dspRV2T2lndr9BUJUHZnb480wOqOTdTtK4XY9avzf1aCj/ukoW1NcR4S4ES5jfgQeYFqzsS2t1O2X/I3y+tb1BqQjrqqBJOj6Mni5+e9KqCaUt6Y22OJ37UTNXjod9Ru9xuhvsM=; 5:cDn4KFaSTswS00OC/jK01GfFxAg8/V9lgKVEdfuT8/P4z6RCRSEqypBjU8qfQ+3CdSHnmVLuB7WtpVNZXpJwG28JDkMaA6va+P3aegRZa8igZ8gv3wiO7obviQppNA3ItkyBrucVVsr3xpcIkJYsXiHaoqy51c6FbqbmHdQIzC0=; 24:XdbDzl7+S75//3G7oYp0HwpQHyeUTf9rtFJO532ILH7tJushxbeu4vFU8W3BXwjNyZiLNGuAKQbA2Naxf3pip9Z90KIDfERhERWKOiBgZ24=; 7:y0Q8rEDzlImhWyW/sbN9hs1eDutyk1Zd/KD+EbZ6ZOtNZg6pKtEqTimFFaI9zmlscZeUQX5f8/8wePysa8Q9lAMptG1SbObzKXBGgznaaMKUIVjRYUaIxBhiAFxLvSfzAh+aRMjvue/JvPViGACzKFo2jncUgWgGDo7lp8MWpNd0pBomtiibuW4xyUSYyjhfqMlxaLo26IlTpdP+hOnAzDFMNcXlH2+JcAzAMKgIUzgKQO8hxhHD8VsbeFz5gPGB SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1875; 20:Lg2sncoPN8ZOxQrsfmUhSAsakQdjlgF8yfTpDZi5pmItocZJR1L54DneeiN8ioduhI2Pixn1L5iiQ48rnePn4hlksDtnacQYb9xzyXZYDq/iXkJlNKMCP3ooD36n1W5wucQORWBpfyKqQx1q0zrHZcxhtLjoc9OPGNCaY+LrYSs= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2018 04:39:10.3135 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8b1208d6-1b45-40b9-6bd7-08d566d23da1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2PR0601MB1875 Cc: Linux-ALSA Subject: [alsa-devel] [PATCH v2 167/186] ASoC: inno_rk3036: replace codec to component 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 Now we can replace Codec to Component. Let's do it. Note: xxx_codec_xxx() -> xxx_component_xxx() .idle_bias_off = 0 -> .idle_bias_on = 1 .ignore_pmdown_time = 0 -> .use_pmdown_time = 1 - -> .endianness = 1 - -> .non_legacy_dai_naming = 1 Signed-off-by: Kuninori Morimoto --- sound/soc/codecs/inno_rk3036.c | 70 +++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/sound/soc/codecs/inno_rk3036.c b/sound/soc/codecs/inno_rk3036.c index 6b59b6f..85a336b 100644 --- a/sound/soc/codecs/inno_rk3036.c +++ b/sound/soc/codecs/inno_rk3036.c @@ -196,10 +196,10 @@ static int rk3036_codec_antipop_put(struct snd_kcontrol *kcontrol, static int rk3036_codec_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) { - struct snd_soc_codec *codec = dai->codec; + struct snd_soc_component *component = dai->component; unsigned int reg01_val = 0, reg02_val = 0, reg03_val = 0; - dev_dbg(codec->dev, "rk3036_codec dai set fmt : %08x\n", fmt); + dev_dbg(component->dev, "rk3036_codec dai set fmt : %08x\n", fmt); switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { case SND_SOC_DAIFMT_CBS_CFS: @@ -211,7 +211,7 @@ static int rk3036_codec_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) INNO_R01_I2SMODE_MASTER; break; default: - dev_err(codec->dev, "invalid fmt\n"); + dev_err(component->dev, "invalid fmt\n"); return -EINVAL; } @@ -229,7 +229,7 @@ static int rk3036_codec_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) reg02_val |= INNO_R02_DACM_LJM; break; default: - dev_err(codec->dev, "set dai format failed\n"); + dev_err(component->dev, "set dai format failed\n"); return -EINVAL; } @@ -251,15 +251,15 @@ static int rk3036_codec_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) reg03_val |= INNO_R03_BCP_REVERSAL; break; default: - dev_err(codec->dev, "set dai format failed\n"); + dev_err(component->dev, "set dai format failed\n"); return -EINVAL; } - snd_soc_update_bits(codec, INNO_R01, INNO_R01_I2SMODE_MSK | + snd_soc_component_update_bits(component, INNO_R01, INNO_R01_I2SMODE_MSK | INNO_R01_PINDIR_MSK, reg01_val); - snd_soc_update_bits(codec, INNO_R02, INNO_R02_LRCP_MSK | + snd_soc_component_update_bits(component, INNO_R02, INNO_R02_LRCP_MSK | INNO_R02_DACM_MSK, reg02_val); - snd_soc_update_bits(codec, INNO_R03, INNO_R03_BCP_MSK, reg03_val); + snd_soc_component_update_bits(component, INNO_R03, INNO_R03_BCP_MSK, reg03_val); return 0; } @@ -268,7 +268,7 @@ static int rk3036_codec_dai_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *hw_params, struct snd_soc_dai *dai) { - struct snd_soc_codec *codec = dai->codec; + struct snd_soc_component *component = dai->component; unsigned int reg02_val = 0, reg03_val = 0; switch (params_format(hw_params)) { @@ -291,9 +291,9 @@ static int rk3036_codec_dai_hw_params(struct snd_pcm_substream *substream, reg02_val |= INNO_R02_LRCP_NORMAL; reg03_val |= INNO_R03_FWL_32BIT | INNO_R03_DACR_WORK; - snd_soc_update_bits(codec, INNO_R02, INNO_R02_LRCP_MSK | + snd_soc_component_update_bits(component, INNO_R02, INNO_R02_LRCP_MSK | INNO_R02_VWL_MSK, reg02_val); - snd_soc_update_bits(codec, INNO_R03, INNO_R03_DACR_MSK | + snd_soc_component_update_bits(component, INNO_R03, INNO_R03_DACR_MSK | INNO_R03_FWL_MSK, reg03_val); return 0; } @@ -330,43 +330,42 @@ static int rk3036_codec_dai_hw_params(struct snd_pcm_substream *substream, }, }; -static void rk3036_codec_reset(struct snd_soc_codec *codec) +static void rk3036_codec_reset(struct snd_soc_component *component) { - snd_soc_write(codec, INNO_R00, + snd_soc_component_write(component, INNO_R00, INNO_R00_CSR_RESET | INNO_R00_CDCR_RESET); - snd_soc_write(codec, INNO_R00, + snd_soc_component_write(component, INNO_R00, INNO_R00_CSR_WORK | INNO_R00_CDCR_WORK); } -static int rk3036_codec_probe(struct snd_soc_codec *codec) +static int rk3036_codec_probe(struct snd_soc_component *component) { - rk3036_codec_reset(codec); + rk3036_codec_reset(component); return 0; } -static int rk3036_codec_remove(struct snd_soc_codec *codec) +static void rk3036_codec_remove(struct snd_soc_component *component) { - rk3036_codec_reset(codec); - return 0; + rk3036_codec_reset(component); } -static int rk3036_codec_set_bias_level(struct snd_soc_codec *codec, +static int rk3036_codec_set_bias_level(struct snd_soc_component *component, enum snd_soc_bias_level level) { switch (level) { case SND_SOC_BIAS_STANDBY: /* set a big current for capacitor charging. */ - snd_soc_write(codec, INNO_R10, INNO_R10_MAX_CUR); + snd_soc_component_write(component, INNO_R10, INNO_R10_MAX_CUR); /* start precharge */ - snd_soc_write(codec, INNO_R06, INNO_R06_DAC_PRECHARGE); + snd_soc_component_write(component, INNO_R06, INNO_R06_DAC_PRECHARGE); break; case SND_SOC_BIAS_OFF: /* set a big current for capacitor discharging. */ - snd_soc_write(codec, INNO_R10, INNO_R10_MAX_CUR); + snd_soc_component_write(component, INNO_R10, INNO_R10_MAX_CUR); /* start discharge. */ - snd_soc_write(codec, INNO_R06, INNO_R06_DAC_DISCHARGE); + snd_soc_component_write(component, INNO_R06, INNO_R06_DAC_DISCHARGE); break; default: @@ -376,18 +375,20 @@ static int rk3036_codec_set_bias_level(struct snd_soc_codec *codec, return 0; } -static const struct snd_soc_codec_driver rk3036_codec_driver = { +static const struct snd_soc_component_driver rk3036_codec_driver = { .probe = rk3036_codec_probe, .remove = rk3036_codec_remove, .set_bias_level = rk3036_codec_set_bias_level, - .component_driver = { - .controls = rk3036_codec_dapm_controls, - .num_controls = ARRAY_SIZE(rk3036_codec_dapm_controls), - .dapm_routes = rk3036_codec_dapm_routes, - .num_dapm_routes = ARRAY_SIZE(rk3036_codec_dapm_routes), - .dapm_widgets = rk3036_codec_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(rk3036_codec_dapm_widgets), - }, + .controls = rk3036_codec_dapm_controls, + .num_controls = ARRAY_SIZE(rk3036_codec_dapm_controls), + .dapm_routes = rk3036_codec_dapm_routes, + .num_dapm_routes = ARRAY_SIZE(rk3036_codec_dapm_routes), + .dapm_widgets = rk3036_codec_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(rk3036_codec_dapm_widgets), + .idle_bias_on = 1, + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static const struct regmap_config rk3036_codec_regmap_config = { @@ -449,7 +450,7 @@ static int rk3036_codec_platform_probe(struct platform_device *pdev) priv->dev = &pdev->dev; dev_set_drvdata(&pdev->dev, priv); - ret = snd_soc_register_codec(&pdev->dev, &rk3036_codec_driver, + ret = devm_snd_soc_register_component(&pdev->dev, &rk3036_codec_driver, rk3036_codec_dai_driver, ARRAY_SIZE(rk3036_codec_dai_driver)); if (ret) { @@ -464,7 +465,6 @@ static int rk3036_codec_platform_remove(struct platform_device *pdev) { struct rk3036_codec_priv *priv = dev_get_drvdata(&pdev->dev); - snd_soc_unregister_codec(&pdev->dev); clk_disable_unprepare(priv->pclk); return 0;