From patchwork Mon Jan 29 04:37:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10189209 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 35CCA6020C for ; Mon, 29 Jan 2018 05:00:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 24FBC28788 for ; Mon, 29 Jan 2018 05:00:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 19AAA2878F; Mon, 29 Jan 2018 05:00:20 +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 711F828788 for ; Mon, 29 Jan 2018 05:00:18 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 32AB7267D29; Mon, 29 Jan 2018 05:55:00 +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 7278C2682AC; Mon, 29 Jan 2018 05:54:57 +0100 (CET) Received: from relmlie1.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by alsa0.perex.cz (Postfix) with ESMTP id 07FC4267D22 for ; Mon, 29 Jan 2018 05:37:39 +0100 (CET) Received: from unknown (HELO relmlir4.idc.renesas.com) ([10.200.68.154]) by relmlie1.idc.renesas.com with ESMTP; 29 Jan 2018 13:37:38 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir4.idc.renesas.com (Postfix) with ESMTP id 7B0D468F1E; Mon, 29 Jan 2018 13:37:38 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,429,1511794800"; d="scan'208";a="269597310" Received: from mail-hk2apc01lp0207.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.207]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 29 Jan 2018 13:37:38 +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=Mt8VjpYimEmLxnVs52KTKkBE5ko94beMoMDEONcu7Qc=; b=W8LjqkJHIDClef1moaHDCc1rXXI1xVe9oV/LXo7QKXxYEh3vRqsbf5K2NyG51N5rqbSFm0yM+QQaP3C74bjB3dUBAh5GVD5t9DBPHHihmClkyFjud7oxX9vCmQRNWt2XZUQ7cRR9WCB5MLEW3JjSESLSxXyK60EXEoJJ3kQueks= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.138) by HK2PR0601MB1874.apcprd06.prod.outlook.com (2603:1096:202:a::18) 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:37:36 +0000 Message-ID: <87y3khuvra.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:37:36 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: TYXPR0101CA0001.jpnprd01.prod.outlook.com (2603:1096:401:1::11) To HK2PR0601MB1874.apcprd06.prod.outlook.com (2603:1096:202:a::18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: d1fd802d-ebb9-44d2-c888-08d566d205e1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:HK2PR0601MB1874; X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1874; 3:WD2uAAr9vL5iIuaCLAh1ABxN1SCrKwTXELcZtmOTxP5Jm6fnIwogyP6R8X7G0tbvVGuKdRKjsZV3fWG+ygNVE06tnwspJW90cDLyel/rcPBj0UIVwHnBuoocGZm0jpaj9a4AYGMTAtRqV7dSeuWeL72+ixfBnfnvN/NSqruzAUTXw5y255VspfwK9zBfKxEEb+iG3HscTZjjdPHuTgvudE+EdQjsv3P430ti1iVXKOIwj5DCymaSB7w9wnV+r9Tb; 25:VTrWNoiYX8jaeTDoh/2NgjwXX0D7q4CPjAytxk4V1IrV8XvF4FbkV9BcYzl+c43RUe2svue4/sJGi3c0G99xawUzoMQtSodmVymSkbJcv3DhNad/311TQvkJZv7DEBDVyee4cX3+1ZxXcWVsncDeUwM4URPMKj9hwWeh1sD40JBMUFPhsRtkRx7MKRJ9PbxZj3M+e1VSs9CSf72IOis5E5QE4YbgpHxxJ/dboZ6V1/IcZt6R/Vq7P05dX7LxRCs9yvZ/H/8KqV4RagfCrxUSGLlw2l2Zyamsx/YLaRomEp52kDmcbtBkHfRwvItEDeqzl7AnKR5korMBLTHLXRllHQ==; 31:6jHtVi2RLRwprIDZsKzTMBS1eG14PEnJYpB3aTEMY5Q3+rbn0nJhPZRg1NGCp0NZy0SxvFUwHue0I1OSgOzEKGGAlqj9zCA+ERj5bZktTnOlH5xxw0x70xBTJpyCXLpfK4PKstlImQLVb+HkhNadMttSqU3cFSOxBHL8rn0QP9z1r3W/NfK/vdsagXiJBT9W6O8fEZ+WDaSkrhzkq7SrAL5GRCdQKAu2Z5ESYIMYo4A= X-MS-TrafficTypeDiagnostic: HK2PR0601MB1874: X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1874; 20:R8xN2XMAHleS3r56HNTLYBJwVxhhN6kUqev4APGTTHPP6o/9nOJhI4CDM0bxbBEAJSykCJR/gS2Ev1HXbbJ2Wb9z7Phfdo0Z6jc446Q26uyjEHCYg7lTP+wHDv/2B+cLiy7biQUnhRP5JL4PkpRfHb2dWv9GEL2yV6MLbYA4bWvarEMOZM1gFsx/JrGXqOYN2wNeeXGOUarDO5xmdg8BvR/h2n/vcyp6v4w69lN062iUtfGULQjKjYabcGsh17pMB8f3hKKBxb+FDxcnd47P3GGq3ijz5XMIxqbWrMShU5JdrgvFaL4FeqMpuvnI8wQ4q0flmOM+vpSRtMYFyzbpiZ6g5vGs36SmurZb32Wkuy+FTzSPEGEXQbfX4o4wqLQ99mRvxyw+ljDtfmVErVJ+rDHugmmX4PyTDEeOqtUBTW8ow/jNPt+xMzNzoNwlGcpxt73wZj9VIsrqFu8Jah5c6E6mZYMgX8cFrq1VAkbx8MCNv9a8udZ52y54CF5Og+Kb; 4:RSgefnGIJBKQjIX/iWoTpQ6mCmbGpPmiGZSmX2CQraMMpebE/WBDoSSxyLCMeKK9i4skjD9nayIZYUBsBTm4bJqoh+BAi+rHvKQO0Yi4C40SomTM9qQQT0qy96cRCFuG/rIyH2cc0LzsX2joKD1m/n/HwljgsrCVx3O0Yaf6BJ9TZf+9aUUrUzR2j1fpv84ENFGls4LLQxtU8s1aYrDuPJE7mKB8E8j99KViguJiMpCLIPI4iwmiFiatP8MBArhP498szZ8RMMzxvYYTGlaGqtYtc8+xRA/46jtnARktIaTCmw+4ttPrBb5eHpaN+ahE 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)(93006095)(93001095)(3231101)(944501161)(3002001)(10201501046)(6055026)(6041288)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:HK2PR0601MB1874; BCL:0; PCL:0; RULEID:; SRVR:HK2PR0601MB1874; X-Forefront-PRVS: 0567A15835 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(346002)(376002)(396003)(39380400002)(366004)(189003)(199004)(53936002)(53416004)(59450400001)(97736004)(6486002)(47776003)(106356001)(7736002)(305945005)(7696005)(76176011)(52116002)(4326008)(25786009)(386003)(50466002)(36756003)(58126008)(8676002)(81166006)(68736007)(81156014)(8936002)(105586002)(16526019)(186003)(26005)(83506002)(316002)(16586007)(2950100002)(6916009)(5660300001)(478600001)(23726003)(69596002)(86362001)(575784001)(2906002)(3846002)(66066001)(6116002)(21314002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:HK2PR0601MB1874; 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; HK2PR0601MB1874; 23:ckTQbljXytw+dTheilKWXhNN8oRPrntN07hR1nI?= =?us-ascii?Q?9aBa/LbyVotfLBoQcSDg+8wpPWwUmNWbGpfVPDw3sFsprPkaAgBgTTXaWaJW?= =?us-ascii?Q?u+YL9IKR55xpt6SPfgKJbF2+amVNqAl16uHxoOZ+p0gHIxseYV5G1+gL8BWv?= =?us-ascii?Q?WAKM3MJgGXErC2RGe1n22pA9qcsGecaCF1EPb2wtbB8801udTYgaOojyxj13?= =?us-ascii?Q?1dO53lSZX4S3lSj4/d3nJVSwqRZ3MZ6QYA+Z2pUfAeG0dni7jupn8cB8F6Bu?= =?us-ascii?Q?Dp398eYo5WY/IJ+cnemu19JZ+PDn1FhRQBCYYTh5FKFCtOxEA7QL9tPqrSZl?= =?us-ascii?Q?K6Aq8CA/1T1aOc4W60ihfptXdsyWKLVGmrzqqzBeyf6im+dlCLruZn6pe8Qg?= =?us-ascii?Q?BjzAGj5mLKbIlOUa5a1TC/bneywur7/nfg5vbaQ9PTXWgdjs7e1uLcDf/aC5?= =?us-ascii?Q?2306qeDv70vmKyBPyOcXp4hwqZJ/8NwhUQqFbad/QcXwQm2pnaGJac5YaTK7?= =?us-ascii?Q?2QB8K6hnZwr5UOgyJT0Bk8W+rNmgHdsYBJwOuCGE+sL00LuaTJcPr94nrdMo?= =?us-ascii?Q?bxE1ZwW+vKR4hccd4kavDRLFT50h4Jorb9wQDxAE7Dq1DcXFcy0BtKHunO6T?= =?us-ascii?Q?rmOHP/MP0vWrUj6pMUTXiZ48fEE7VrJ89Gniyk0V5khLauluszGUSTnI48jp?= =?us-ascii?Q?FeSWRHBPrdlmjZdeICdsGU4AejGSeXLJQqATntBvKY5Ts475oJJ//0pqkAJ0?= =?us-ascii?Q?PcPtuuqZNMiPsOu1NPy1nqJKRnm8kOZHj1le0fZpnXecyPjHh4zBXHi2cokK?= =?us-ascii?Q?XMxPMQPNMgi1MXD+sLwRajrZGnQEFOjmrOx7ZNpGcc2ZiJDPU+TY18UHGLOz?= =?us-ascii?Q?3VWC2vNjgvTaoR1LS1SW2NheG54r7KKl0NOpNBuNMIUEExCzxgs4E0lsIjKg?= =?us-ascii?Q?PdfyawxMd2ehgwEAmdiQx7l5/OacQxPl/BJK1ZbKXBKwR84VpewVs7loeJki?= =?us-ascii?Q?lfwCEgBhhrK1EnsvOkFGwy/0av6r7I365w2k5h8tEzsoW+h7rydmr74Xp28I?= =?us-ascii?Q?h9ZwMqJCSCC7UCZeovh2f9gXl/c9uKk1IB/tiTyn4MiLkAHxMMXUCJ0XYqYS?= =?us-ascii?Q?aNaVDESb9dQQHLWj9Y+ku+JLK1spsXGVuW0M5wYU8DK/wHKT5YRlstcb4Qbz?= =?us-ascii?Q?N826ojP83j56yiIquo+GK2tmVXKZUmdZXobkV?= X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1874; 6:rGkczvHB9YlkCjjiSKynwTXllckAhIf520d4uWZ3I6lTyz6zbgyFyRxXZ/aBDKmTJaV9ht010XXpFs7YyU3qYieSlBbSXBUOuTIFbnqc5JMTBa0rMObhUNQLfZHBWhCstTk5x7kl6hYEBOSE6epIphmmjLxDvqQ4KhHilfDVivD0U638t9+wiaRIUU+DoNjQnaxZ2EtRac9x9heCtfMV3cRisBytxSw6CQ8wotCii4l2Hs9qpRe7QWgaNkSM2vzss7WfW3zRD0XM5jDNG99T8d+7gKkEefhcrGtrQ0hWCbpL/qdrD2n56EGmY07n78elmojFKhHMb9wgsBEQHndsWjEQIxFco2QXUC6fCd0n3MM=; 5:RZ/51Tgr8UNfth0ueQC2zZ02UAR/PtFIm8Aw39q1WAsWw3S4tJHVLG2T55nN96jhuN1t+HwTjKf5WUkNPyh9DoRdQgijznUsRThNSMcgqyfcnCGKsh2E1nGOvUo3IMGPIn71pBvIMiqazEaYyNjkDHMilx+z1av6C+UDxFzFdJk=; 24:SFuzNZKzXIvfFURcbPDB7BcJ4vTollnOFf0P7JBvU9EbzB9kYTPKZ5vjRrIQ3HPQpZqb8YlQgC++zfDCnpqVivrSMI8JHOvISYSxBPlh7oY=; 7:+pVzWjbOHR1B4xwWdHMyOqcFr2u3+9ZnCihGFMUibxtVYav2V22wKsXehL1wsD5bLCrzkUmp/sS6X14iQEvC3LLu1fAuavo8ME6oMCcIEaU0+uFmo/jNx0YeSlul1wBMsVL5ekLRMaleRT9RqHQO0jnHFVf5PbQ1phoprdM/W3kVHjFGY9mz16Rg7QfDMMRDh+O7xYgnLEjCiXMxaKRc7wEzOeDun4GiSDy1hYxzIZc16jmohlpyvxiuV75SIDX7 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1874; 20:oYrLC0Ofn4FykYwYu5i0A1x33TdRB87+Sh2zBYtAcDwJ8Xi4PxK3TQV//hqoVnYBxbwFi8WF7tsXRjkfXBk/SxjItnfq66P9F4rkU1ZExI0SUXnCJQAQ32wSE+PUHKEGIEeEqImi/RkrSk7LiifBy80FIJhekAzIdHDzRNL1Az8= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2018 04:37:36.7985 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d1fd802d-ebb9-44d2-c888-08d566d205e1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2PR0601MB1874 Cc: Linux-ALSA Subject: [alsa-devel] [PATCH v2 163/186] ASoC: mc13783: 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/mc13783.c | 68 ++++++++++++++++++++++------------------------ 1 file changed, 33 insertions(+), 35 deletions(-) diff --git a/sound/soc/codecs/mc13783.c b/sound/soc/codecs/mc13783.c index be7a45f..7b0d261 100644 --- a/sound/soc/codecs/mc13783.c +++ b/sound/soc/codecs/mc13783.c @@ -107,13 +107,13 @@ static int mc13783_pcm_hw_params_dac(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) { - struct snd_soc_codec *codec = dai->codec; + struct snd_soc_component *component = dai->component; unsigned int rate = params_rate(params); int i; for (i = 0; i < ARRAY_SIZE(mc13783_rates); i++) { if (rate == mc13783_rates[i]) { - snd_soc_update_bits(codec, MC13783_AUDIO_DAC, + snd_soc_component_update_bits(component, MC13783_AUDIO_DAC, 0xf << 17, i << 17); return 0; } @@ -126,7 +126,7 @@ static int mc13783_pcm_hw_params_codec(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) { - struct snd_soc_codec *codec = dai->codec; + struct snd_soc_component *component = dai->component; unsigned int rate = params_rate(params); unsigned int val; @@ -141,7 +141,7 @@ static int mc13783_pcm_hw_params_codec(struct snd_pcm_substream *substream, return -EINVAL; } - snd_soc_update_bits(codec, MC13783_AUDIO_CODEC, AUDIO_CODEC_CDCFS8K16K, + snd_soc_component_update_bits(component, MC13783_AUDIO_CODEC, AUDIO_CODEC_CDCFS8K16K, val); return 0; @@ -160,7 +160,7 @@ static int mc13783_pcm_hw_params_sync(struct snd_pcm_substream *substream, static int mc13783_set_fmt(struct snd_soc_dai *dai, unsigned int fmt, unsigned int reg) { - struct snd_soc_codec *codec = dai->codec; + struct snd_soc_component *component = dai->component; unsigned int val = 0; unsigned int mask = AUDIO_CFS(3) | AUDIO_BCL_INV | AUDIO_CFS_INV | AUDIO_CSM | AUDIO_C_CLK_EN | AUDIO_C_RESET; @@ -208,7 +208,7 @@ static int mc13783_set_fmt(struct snd_soc_dai *dai, unsigned int fmt, val |= AUDIO_C_RESET; - snd_soc_update_bits(codec, reg, mask, val); + snd_soc_component_update_bits(component, reg, mask, val); return 0; } @@ -255,7 +255,7 @@ static int mc13783_set_sysclk(struct snd_soc_dai *dai, int clk_id, unsigned int freq, int dir, unsigned int reg) { - struct snd_soc_codec *codec = dai->codec; + struct snd_soc_component *component = dai->component; int clk; unsigned int val = 0; unsigned int mask = AUDIO_CLK(0x7) | AUDIO_CLK_SEL; @@ -275,7 +275,7 @@ static int mc13783_set_sysclk(struct snd_soc_dai *dai, val |= AUDIO_CLK(clk); - snd_soc_update_bits(codec, reg, mask, val); + snd_soc_component_update_bits(component, reg, mask, val); return 0; } @@ -308,7 +308,7 @@ static int mc13783_set_tdm_slot_dac(struct snd_soc_dai *dai, unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width) { - struct snd_soc_codec *codec = dai->codec; + struct snd_soc_component *component = dai->component; unsigned int val = 0; unsigned int mask = SSI_NETWORK_DAC_SLOT_MASK | SSI_NETWORK_DAC_RXSLOT_MASK; @@ -344,7 +344,7 @@ static int mc13783_set_tdm_slot_dac(struct snd_soc_dai *dai, return -EINVAL; } - snd_soc_update_bits(codec, MC13783_SSI_NETWORK, mask, val); + snd_soc_component_update_bits(component, MC13783_SSI_NETWORK, mask, val); return 0; } @@ -353,7 +353,7 @@ static int mc13783_set_tdm_slot_codec(struct snd_soc_dai *dai, unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width) { - struct snd_soc_codec *codec = dai->codec; + struct snd_soc_component *component = dai->component; unsigned int val = 0; unsigned int mask = 0x3f; @@ -366,7 +366,7 @@ static int mc13783_set_tdm_slot_codec(struct snd_soc_dai *dai, val |= (0x00 << 2); /* primary timeslot RX/TX(?) is 0 */ val |= (0x01 << 4); /* secondary timeslot TX is 1 */ - snd_soc_update_bits(codec, MC13783_SSI_NETWORK, mask, val); + snd_soc_component_update_bits(component, MC13783_SSI_NETWORK, mask, val); return 0; } @@ -606,12 +606,12 @@ static SOC_ENUM_SINGLE_DECL(mc13783_enum_3d_mixer, SOC_SINGLE("MC2 Capture Bias Switch", MC13783_AUDIO_TX, 1, 1, 0), }; -static int mc13783_probe(struct snd_soc_codec *codec) +static int mc13783_probe(struct snd_soc_component *component) { - struct mc13783_priv *priv = snd_soc_codec_get_drvdata(codec); + struct mc13783_priv *priv = snd_soc_component_get_drvdata(component); - snd_soc_codec_init_regmap(codec, - dev_get_regmap(codec->dev->parent, NULL)); + snd_soc_component_init_regmap(component, + dev_get_regmap(component->dev->parent, NULL)); /* these are the reset values */ mc13xxx_reg_write(priv->mc13xxx, MC13783_AUDIO_RX0, 0x25893); @@ -638,14 +638,12 @@ static int mc13783_probe(struct snd_soc_codec *codec) return 0; } -static int mc13783_remove(struct snd_soc_codec *codec) +static void mc13783_remove(struct snd_soc_component *component) { - struct mc13783_priv *priv = snd_soc_codec_get_drvdata(codec); + struct mc13783_priv *priv = snd_soc_component_get_drvdata(component); /* Make sure VAUDIOON is off */ mc13xxx_reg_rmw(priv->mc13xxx, MC13783_AUDIO_RX0, 0x3, 0); - - return 0; } #define MC13783_RATES_RECORD (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000) @@ -731,17 +729,19 @@ static int mc13783_remove(struct snd_soc_codec *codec) } }; -static const struct snd_soc_codec_driver soc_codec_dev_mc13783 = { - .probe = mc13783_probe, - .remove = mc13783_remove, - .component_driver = { - .controls = mc13783_control_list, - .num_controls = ARRAY_SIZE(mc13783_control_list), - .dapm_widgets = mc13783_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(mc13783_dapm_widgets), - .dapm_routes = mc13783_routes, - .num_dapm_routes = ARRAY_SIZE(mc13783_routes), - }, +static const struct snd_soc_component_driver soc_component_dev_mc13783 = { + .probe = mc13783_probe, + .remove = mc13783_remove, + .controls = mc13783_control_list, + .num_controls = ARRAY_SIZE(mc13783_control_list), + .dapm_widgets = mc13783_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(mc13783_dapm_widgets), + .dapm_routes = mc13783_routes, + .num_dapm_routes = ARRAY_SIZE(mc13783_routes), + .idle_bias_on = 1, + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static int __init mc13783_codec_probe(struct platform_device *pdev) @@ -782,10 +782,10 @@ static int __init mc13783_codec_probe(struct platform_device *pdev) priv->mc13xxx = dev_get_drvdata(pdev->dev.parent); if (priv->adc_ssi_port == priv->dac_ssi_port) - ret = snd_soc_register_codec(&pdev->dev, &soc_codec_dev_mc13783, + ret = devm_snd_soc_register_component(&pdev->dev, &soc_component_dev_mc13783, mc13783_dai_sync, ARRAY_SIZE(mc13783_dai_sync)); else - ret = snd_soc_register_codec(&pdev->dev, &soc_codec_dev_mc13783, + ret = devm_snd_soc_register_component(&pdev->dev, &soc_component_dev_mc13783, mc13783_dai_async, ARRAY_SIZE(mc13783_dai_async)); return ret; @@ -793,8 +793,6 @@ static int __init mc13783_codec_probe(struct platform_device *pdev) static int mc13783_codec_remove(struct platform_device *pdev) { - snd_soc_unregister_codec(&pdev->dev); - return 0; }