From patchwork Fri Jan 12 01:23:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10159245 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 F0C40602D8 for ; Fri, 12 Jan 2018 01:31:30 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E0852287A7 for ; Fri, 12 Jan 2018 01:31:30 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DF49A288E2; Fri, 12 Jan 2018 01:31:30 +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 A78EA287A7 for ; Fri, 12 Jan 2018 01:31:29 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id F1E21267DDD; Fri, 12 Jan 2018 02:31:13 +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 CC5A6267DDD; Fri, 12 Jan 2018 02:31:12 +0100 (CET) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id D9F69267AE8 for ; Fri, 12 Jan 2018 02:23:20 +0100 (CET) Received: from unknown (HELO relmlir3.idc.renesas.com) ([10.200.68.153]) by relmlie3.idc.renesas.com with ESMTP; 12 Jan 2018 10:23:19 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir3.idc.renesas.com (Postfix) with ESMTP id 169064D006; Fri, 12 Jan 2018 10:23:19 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,346,1511794800"; d="scan'208";a="268007621" Received: from mail-sg2apc01lp0246.outbound.protection.outlook.com (HELO APC01-SG2-obe.outbound.protection.outlook.com) ([65.55.88.246]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 12 Jan 2018 10:23:18 +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=/m9VmnElaAXkoikky/Gzk1qT8r2c++ELx1+UVpvVGRQ=; b=EGUS2vCTcJ498FfoHOEr8VRVkogQaSdaRA7jDV4uiZnq6JG0xZJvq/eKuFQJJ46vq2A0qHccVUr8tcc2Xxa9McxoQMm1iE4Yjb8rpSyyE5j9iT+9FyUlBq1faQ+wHBaECvTeVY+dZ8GSvTfMQpsDhyU0x46oJ/bah8OuVcQCVI8= 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 PS1PR0601MB1882.apcprd06.prod.outlook.com (2603:1096:803:8::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Fri, 12 Jan 2018 01:23:15 +0000 Message-ID: <878td3c1mp.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: <87bmhzevk9.wl%kuninori.morimoto.gx@renesas.com> References: <87bmhzevk9.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Fri, 12 Jan 2018 01:23:15 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: TY1PR01CA0162.jpnprd01.prod.outlook.com (2603:1096:402::14) To PS1PR0601MB1882.apcprd06.prod.outlook.com (2603:1096:803:8::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 83d8f60f-8750-4850-2914-08d5595b0e45 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020074)(4652020)(5600026)(4604075)(48565401081)(2017052603307)(7153060)(7193020); SRVR:PS1PR0601MB1882; X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1882; 3:+MVLN3FsD/VHv701yzTsYgYz1vML3Tnxmjqup/nGL/NU5k9P+4eHBEX3smBJz54B5v7ckVQWIG2R5EdIeHMs2GfPj/qzP41AXoYA5BYneAmM4EKj+XaTIWaHZfM8/4D5I6K2bvv9CbzVjF8+hbWG3xUkKjMB2ZDwjOdqde0yUloCJ4r90LtVFqhMQ1hrZm4gjqQW5xZBl4qAOdMaWU8SLBZ7T9UTOdHfStUu/83s/5k3JGlK4eHxHFHdM2examj6; 25:2tA2ohZMPMeHJk04eMkFyoK1E9hDBdPTWt+zKD5EdDiLhg9wwFu/rZc8h5GMU1yA0QNkQhzN82oe2Ce8eWwQ6G0jyFeGg755wR93HNZczOfWhKNfpd04c17shToiEE7gciGRpXHCQ4ofVBPNLlgvk4oRWjAfx957KtwpKUXyuY6djC9BneF4TvfNVkT+56EyueeoBbT6omxjXrgDJEjK7faPckNayoZqQvJM+H68SLiQ1/w8QYcsMM0WlDZJV4FvsA7TOppD5r24TKl7jJRXRBKjeYMpnjka3MVLPBEep/yguhj/A6tcvkupSBTYqsB+n3dYkW3QFL1igDg/Dks5CA==; 31:Avxp7NrgrYvGK8+Pds58Fz7wJ7clClKnf3MCzby48o1+IHr9lieFBGFJDlROtNPuUxWya5e9mkJAwTPEi8h/IN1XG7C+Htt6bOI2fxUp4oM27FO/kAvrW6yz3tobTBLndG1GRFM9DudSu/FScATho1Gv3qwmCKxRGI4hpVA08QhMLDvYFY7LkOzSHVyZaDUhpq2h0EAeVC8IbSDUe3NsXFJYHNRth/5Gux6ksr5F8TU= X-MS-TrafficTypeDiagnostic: PS1PR0601MB1882: X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1882; 20:RYWeTnDg0JEfcjNqab5uTibzMRe7eavnGIx2hBvrF2j5w4axech2/toKl3j8G1nG8w+wmXXD4cWZ4qUx8PXkHMzv9lzlWGqt87Oetj5bn3m460uCKlUCj6cKJ1JX3Kv7NheX1aDmbrxB4OG96wd2qjxhxWFzzxovQIThGEe4p1OF+hKkjj+6Ow2cA/WHYatEVPXU9S2UF2nv6oJeGnfBojagGj41irRSJtD3Z0aV6vcbJrJt0jzNm26uUGj5z8BM7dXETSO2j0yAh+9DG8AnHQIsSX+NFV/R21aMmcARglkzl6NsbkEfRpVPta5dAj1DL0Hc0m9vkJ3iK64wnwmCTAPPhwmoDL+HJReKU9lfkEPbHtDjx8Ua9rRXtSBkYRGcojWGX+y4RKYPjpuETMu87kt64fZ73qxuhkbTJ6Q7yoLVnNxXbG/F/BfhHuByuqSJoobXyJl29D5vquKwNgkBR9OFcKwTdw0kBKYbbRwB24kE2T5Qr37a3FMt34Fw8+cw; 4:1ab92k+50ZxF+IIMtBrqlSoXT+S4PMJiJfJ3ySjn5f0a6o6Y+2gr0iIwJbY1jITgAKb31uGfMjTvffCra/pmEBAMD6XAmvWsDTH38ktaGZIBmrP8d5gnGnjx7wCdAXwUMqJ21U4n6NylQTAlecENuwzRnK/V6hD8xcNrv6HR/WJbQJ01e0ptbtroRBwgE1WuCR6dSpQeMBPz5y730rLBgdFWlNN1X19AGGzl9hswoFfaAfnyg0cVI22+xZef7vHJaJ/x9t7eS0+UHiA3ATKONI/kASQHXie6WkjjBGl6JL/fkIN3RQaHFS9QZ2cXqsDe X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(3231023)(944501138)(10201501046)(6055026)(6041268)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(6072148)(201708071742011); SRVR:PS1PR0601MB1882; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:PS1PR0601MB1882; X-Forefront-PRVS: 0550778858 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(366004)(39380400002)(376002)(39860400002)(346002)(396003)(189003)(199004)(478600001)(52116002)(54906003)(7696005)(53936002)(59450400001)(16526018)(105586002)(76176011)(6486002)(4326008)(47776003)(5660300001)(106356001)(58126008)(66066001)(16586007)(2950100002)(6916009)(83506002)(316002)(25786009)(81156014)(8676002)(305945005)(7736002)(23726003)(3846002)(97736004)(68736007)(575784001)(8936002)(86362001)(81166006)(50466002)(69596002)(386003)(53416004)(6116002)(2906002)(36756003)(21314002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:PS1PR0601MB1882; 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; PS1PR0601MB1882; 23:VSsWtml3FHGlckWVYLA64ak+lBscyaQ/SRah47r?= =?us-ascii?Q?+FU5GJbGkmurOE3ZphPbhjkgmGbTcpFLFWAqFAwB1erRExXacTorJ+kSzjq9?= =?us-ascii?Q?GvTOUbMpNNjY8/S63CwwAZLwYBOjpYyozesXR9RmDJ2VpolxFhPfQ/l9aOLy?= =?us-ascii?Q?OyEHYGLbV3ZNFZPsFGv3TYcSqOrlFgTcCQPNl/l+ojYlawI3xxNApKPrAAvW?= =?us-ascii?Q?WFJnSuAOWJbCGZPHZVrmGQ1uvogwsvCY43WhE7LIDxj+piRwQVpGUC6R4C6i?= =?us-ascii?Q?H9ifUrmVtph6HlQIs9GH1Y3HHSgNBlXXgqUhxlQbulTtQXuruvZfQJHEgMax?= =?us-ascii?Q?Z2qGEeoOcM6emPRBiQESzoBOYIbpqz75Pk6QUL4Hu3J55S8LS/Ql4Xi+QP93?= =?us-ascii?Q?YnW7Hda2Zj/MAA4HLTao2xgS1QHT8wjsOiPqFO+BuEhuxoEvtoDMw/qYMeXZ?= =?us-ascii?Q?BYAfYX0RFmupcjCMaAQSG+bNN84m+CT/t0Z9vkMW0aY03LuStef9gNuuDOiW?= =?us-ascii?Q?YaR0OxSw5IhINrGQbsvzJAbqF+BwPjOj24xxJY1POmDPPEYI/eAmvCx7+4KK?= =?us-ascii?Q?w58+iIRBgGqWQIpIvBBrDQCM4V2oQO5otRvX8oldl+6XwKCjRpbfFpE5cN7e?= =?us-ascii?Q?Xd1CrKhKJUvGpQ2N1+Bnod+o22I2A4zsg8S0sAxz8fmWcaDamBTmO4G7PbYD?= =?us-ascii?Q?SSKe9imr4tPOc8OrX+DqRvqhzRxPIUnuEaYMfft6EGac5BGCz3sZ5yJWJY52?= =?us-ascii?Q?x5WfoDDwyIocPdf5VI0q7VAZzxBNMxl80oLBWCaLMWalnTL3hAvmbiFpEhNN?= =?us-ascii?Q?vF4SPxWLwLZpa9mpEtno30vIa9u8juyqQIAGv9doZn6kocbPW3CAJrOhLNxE?= =?us-ascii?Q?x5koB5sscAZQNFywmGAjc3iw/EJYZoUMEuyhLazMyQ80NCCOU/yysriFyopG?= =?us-ascii?Q?HE9DGCsQVHzfqkdkWjCDUwIwPlUAWwtUvJfgU3SqdR4xHgvgZVjdeMW/qVgV?= =?us-ascii?Q?w2uWb4k1pAXlc0qXQWMG/EbdXIJDoNUaIdwch05vEhNm9B58cQTW57WBHyeu?= =?us-ascii?Q?MmkacqvTCdAhimeq2e5rE65a47EfCRxIVTrKBDLPly0yoIZBQ6777VqwwkQz?= =?us-ascii?Q?QL2mZt8Qsu3dtz7618uFuuYc2ZSkNbgdLeing00VHKf827y7z2AO8JKFhluf?= =?us-ascii?Q?IxrHGi9HBzv7L3L+gKSt7y60tfmml4dyiqmPg?= X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1882; 6:ydFOjs48abdQXPLSKOyM+rzV6vg131JjB47i4377ZHidBmhlqkyECjFdvvYTHPFLIrr9r8iG71XgXNpwx7J8QY7UXSkSYPRpkNFvzArC0/CKA92R4kF/jAuKKh6p0TE+ZV61NzCWjFQgDTmqVmM6rYkRm4j5Pf/kGkl+eWnPrDKhRLJN4G6/9OZG6Hzby02MKT3ZF2pKWdoPCZZGYWyBINeyPvoIoncnMvZrGKhMu1Tw8G8ByPdpYTQfyrPN3OI48iRfIQDmY7c+x1FoEt8YHfajgQjGhJ4KwXWStynTyAb52dzObxyWJdsI/3hNikTSFupdTqpCsTbr0njM/Fvqmc9wqDBic+wiXQwSfwADJgw=; 5:NqZCAhD6Hn7R5lnE0DN/Peo8fyFItQdzSU5gvr6dJH9F2NrEzLTLlhyBdW7p7oy4urk0XNqHJovgXWd+C3Y57ioWmCE2TvTPY8bV8KQ9UBI8vxM85/4qXKiRilHRsx2b//GYjIT0AuQXxGAJo+e7UPW/yrajcEOH0AxWFWnb+mg=; 24:63tQa4nL+Umx8/zJ+XPy1x5ob88uWepOmRHEsj2YePxj3x3pvxDaYJc0GePFFArVfQDfG2oGW91jUD/tGqiI654PMAayJhcPtqZ8EY53UXg=; 7:wjWn9pMapoyt6ilS0bCO2e2uS1ktvu3z8ivJdZuxvEbJu0IiB3b8B4uds7tw1CaF1ajG93n6vlBaX5TL8IF7UoucN5vK4NiZC8BJpTV0z9i2yy1++jFlDLaeVdiqMt8HbUkaidUjOu2VUKFIWohEg1yxHf6NJOg1dlEqZqVR9fSwvp6hLgoPig0GQE9lcDeKntDSEct6N0u85ZcNgp+QGI0X+qZ7xenl/+wpgPXHkbDNgccUvvdsPguBrebmvzoL SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1882; 20:hUy17cNArhEDh2m6a1FmPPXYwMvRpiyOFLcYB/JN1ulJUcVwVQsjJqBt7p7xQAO2QhawBzsEvw+AGYq91Pbv39FRHHdneNRLv2rEFIUkREugkfGoBqhrXFGXdHOdsDUpppje/WJzaRJpt1Sh761DyC1NvboyTMAv7m9TBicjRag= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2018 01:23:15.4727 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 83d8f60f-8750-4850-2914-08d5595b0e45 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: PS1PR0601MB1882 Cc: Linux-ALSA , Simon Subject: [alsa-devel] [PATCH 053/187] ASoC: ak5386: 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 -> .pmdown_time = 1 - -> .endianness = 1 - -> .non_legacy_dai_naming = 1 Signed-off-by: Kuninori Morimoto --- sound/soc/codecs/ak5386.c | 62 +++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 34 deletions(-) diff --git a/sound/soc/codecs/ak5386.c b/sound/soc/codecs/ak5386.c index d0e16c0..e6f4ae5 100644 --- a/sound/soc/codecs/ak5386.c +++ b/sound/soc/codecs/ak5386.c @@ -38,30 +38,29 @@ struct ak5386_priv { { "Capture", NULL, "AINR" }, }; -static int ak5386_soc_probe(struct snd_soc_codec *codec) +static int ak5386_soc_probe(struct snd_soc_component *component) { - struct ak5386_priv *priv = snd_soc_codec_get_drvdata(codec); + struct ak5386_priv *priv = snd_soc_component_get_drvdata(component); return regulator_bulk_enable(ARRAY_SIZE(priv->supplies), priv->supplies); } -static int ak5386_soc_remove(struct snd_soc_codec *codec) +static void ak5386_soc_remove(struct snd_soc_component *component) { - struct ak5386_priv *priv = snd_soc_codec_get_drvdata(codec); + struct ak5386_priv *priv = snd_soc_component_get_drvdata(component); regulator_bulk_disable(ARRAY_SIZE(priv->supplies), priv->supplies); - return 0; } #ifdef CONFIG_PM -static int ak5386_soc_suspend(struct snd_soc_codec *codec) +static int ak5386_soc_suspend(struct snd_soc_component *component) { - struct ak5386_priv *priv = snd_soc_codec_get_drvdata(codec); + struct ak5386_priv *priv = snd_soc_component_get_drvdata(component); regulator_bulk_disable(ARRAY_SIZE(priv->supplies), priv->supplies); return 0; } -static int ak5386_soc_resume(struct snd_soc_codec *codec) +static int ak5386_soc_resume(struct snd_soc_component *component) { - struct ak5386_priv *priv = snd_soc_codec_get_drvdata(codec); + struct ak5386_priv *priv = snd_soc_component_get_drvdata(component); return regulator_bulk_enable(ARRAY_SIZE(priv->supplies), priv->supplies); } #else @@ -69,28 +68,30 @@ static int ak5386_soc_resume(struct snd_soc_codec *codec) #define ak5386_soc_resume NULL #endif /* CONFIG_PM */ -static const struct snd_soc_codec_driver soc_codec_ak5386 = { - .probe = ak5386_soc_probe, - .remove = ak5386_soc_remove, - .suspend = ak5386_soc_suspend, - .resume = ak5386_soc_resume, - .component_driver = { - .dapm_widgets = ak5386_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(ak5386_dapm_widgets), - .dapm_routes = ak5386_dapm_routes, - .num_dapm_routes = ARRAY_SIZE(ak5386_dapm_routes), - }, +static const struct snd_soc_component_driver soc_component_ak5386 = { + .probe = ak5386_soc_probe, + .remove = ak5386_soc_remove, + .suspend = ak5386_soc_suspend, + .resume = ak5386_soc_resume, + .dapm_widgets = ak5386_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(ak5386_dapm_widgets), + .dapm_routes = ak5386_dapm_routes, + .num_dapm_routes = ARRAY_SIZE(ak5386_dapm_routes), + .idle_bias_on = 1, + .pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static int ak5386_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int format) { - struct snd_soc_codec *codec = codec_dai->codec; + struct snd_soc_component *component = codec_dai->component; format &= SND_SOC_DAIFMT_FORMAT_MASK; if (format != SND_SOC_DAIFMT_LEFT_J && format != SND_SOC_DAIFMT_I2S) { - dev_err(codec->dev, "Invalid DAI format\n"); + dev_err(component->dev, "Invalid DAI format\n"); return -EINVAL; } @@ -101,8 +102,8 @@ static int ak5386_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) { - struct snd_soc_codec *codec = dai->codec; - struct ak5386_priv *priv = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct ak5386_priv *priv = snd_soc_component_get_drvdata(component); /* * From the datasheet: @@ -123,8 +124,8 @@ static int ak5386_hw_params(struct snd_pcm_substream *substream, static int ak5386_hw_free(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { - struct snd_soc_codec *codec = dai->codec; - struct ak5386_priv *priv = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct ak5386_priv *priv = snd_soc_component_get_drvdata(component); if (gpio_is_valid(priv->reset_gpio)) gpio_set_value(priv->reset_gpio, 0); @@ -192,19 +193,12 @@ static int ak5386_probe(struct platform_device *pdev) "AK5386 Reset")) priv->reset_gpio = -EINVAL; - return snd_soc_register_codec(dev, &soc_codec_ak5386, + return devm_snd_soc_register_component(dev, &soc_component_ak5386, &ak5386_dai, 1); } -static int ak5386_remove(struct platform_device *pdev) -{ - snd_soc_unregister_codec(&pdev->dev); - return 0; -} - static struct platform_driver ak5386_driver = { .probe = ak5386_probe, - .remove = ak5386_remove, .driver = { .name = "ak5386", .of_match_table = of_match_ptr(ak5386_dt_ids),