From patchwork Mon Jan 29 02:59:05 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10188815 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 14DB160388 for ; Mon, 29 Jan 2018 03:00:50 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 024F82867F for ; Mon, 29 Jan 2018 03:00:50 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EB78428683; Mon, 29 Jan 2018 03:00:49 +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 03D8628681 for ; Mon, 29 Jan 2018 03:00:49 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id EFE292673BA; Mon, 29 Jan 2018 03:59:32 +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 832122671A2; Mon, 29 Jan 2018 03:59:26 +0100 (CET) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id 94EDC2671A2 for ; Mon, 29 Jan 2018 03:59:08 +0100 (CET) Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie2.idc.renesas.com with ESMTP; 29 Jan 2018 11:59:07 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id 09803504AC; Mon, 29 Jan 2018 11:59:07 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,429,1511794800"; d="scan'208";a="270906806" Received: from mail-pu1apc01lp0017.outbound.protection.outlook.com (HELO APC01-PU1-obe.outbound.protection.outlook.com) ([65.55.88.17]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 29 Jan 2018 11:59:06 +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=9Rt5gJv5Zo9OWh81YSmRkFQEIbJReryu+11iz8Q3ahE=; b=h14Doy77Lq2lyR1XYcD3gPJxBQdBR/Yuo1jzMa01mAMfOEqLw6wcSQScGxvoOHbcUQx6pcP/AieNhqM2JQ5bIrUX0QxKl5G75GWzg9bMJuwYNZJ8+BTqJke9HLMcsBUYDD9wpHievw/UOLg51XxKs3asiTFRVlTcXY3Qj0/mRN4= Received: from morimoto-PC.renesas.com (211.11.155.138) by HK2PR0601MB1873.apcprd06.prod.outlook.com (2603:1096:202:a::17) 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 02:59:05 +0000 Message-ID: <87d11t5q3g.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 02:59:05 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: TY1PR01CA0139.jpnprd01.prod.outlook.com (2603:1096:402:1::15) To HK2PR0601MB1873.apcprd06.prod.outlook.com (2603:1096:202:a::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: db2385b4-820a-43a0-f75c-08d566c4423b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:HK2PR0601MB1873; X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 3:XQciMjC4/k6WRWUCE6W01GQZDirRthOJ0n3xPINZf9TB4AkSPeM46W302O9N7Jj/mlPi2CCEgOVgRohSXPfc66mTkScq6jtQMohrhYE51voxh7pOeT5NZJ6Lpg6NZZos9CYasM67EWzPJ9MeLa9jSEUemi355YVybzZ03MTaiB5P16CbIuu5gPvNWIBt8H15YUExu1p/ncDBbLfAXIX2yRtcxrKelIr1smj8I7BV8skkaLLAKNtD024kAQ1UUJCm; 25:S5PSq0WCU9ZpcYJziAMDaiomtl5XdwHMcdgkHIFqJAbwwVB6zxXWuCQdmw9VAsCpy+pb89LcYpBz77wO60wqJ6/Fv0k/ufKz6c8tXATt0kZCOeetjsOrQzzxl0eRQnOcKf1JsvQAit4w+IetKHxJ0fzohxfx5jkevEHZmOl2gNYHzb5DhHfKDZl5rkVkwxcMvbLrTMrDpJncSePBWJRUs8qsdcG5uzw7baMeMzgcQMoGHWsnuvHUl8pDlPHrhWDzAClNslD6pHRf58CPZl8PqbTe9U7xpj6wILQS0oYMlP9O+kt+0wVIid2hnn9mOJEnshGftgVTfLzWc6o8KYD17Q==; 31:tKrs1l+jg+Co+5MTMW9D5drxi/LC+V6oAFILu9wIk01yEQuNi8RLektlDLdjG/RaVNymxvYTwYAXsr9mNA1QYFmPhBJW1f9bNx9d4iWaqsWK1nRu+TOzGpmCOfmqxlDTvM4h/I0yxao8nowfRFQH5ek1b/MqiRURqg0LL+0IShMXVryyWt7zH//zhq8p2Nzm2cRx3sRyHog04EZg7RY/xKKjZn1V/4aJvZuwRGW6tVs= X-MS-TrafficTypeDiagnostic: HK2PR0601MB1873: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 20:zIBsOdCzSV00WE2rbvCj/eYOnPJUBgqlooJBFZjtgHKjpVthGCkOdev1UPVpXqvBFzmbX81YW77UziNu6YOUZdtY5oYWj3+JOm2//gZZv8/DXHrr4bAZoN5DQo1rKDYmHnd9FYuL8S+XKXI8U31zSZeDv8W2XvGirebjqznGv7D3BxYm4e/rG5lajg/b/jXotVRtVDYI38ilDGmfZIjF6VklfIAnCJVZPSj6FjIiWa7Md2O7vBFgjfqjCzr0yu91n+BcwRZm2wHWvGK4BnmQvLUarFm4hMZArHDZxNe8kEt58Cfgul7V8WIlw1hTJdpHZx9H4K8r1hHv/XAph1F+6unt0bXM8JZdx6nNcYc8RL3Kocz5pRoTu94NYXamDkZoNoclY3PTJDDeiAuwpWDtDZRDgv/A6nR87i62EDF73rJnizlwlB5MbquVOjdkGNuBu+iaOmm6+CX2QvTEKF63h8ncwCSkkkLdajICEUEJ+vyBzgcbvGDbmB/wnh25rMVX; 4:T5sLeru4/G5aaAHTz7Zjg6Hiljz4qr2pmK7P9rUOBLF44bYHa1SmGSXL5EYIE6VY3QRiHvLQIOOMouXEdiFQaMGXCJvefbtIr2G1bDdc7ZwGfNSkVlfpglr2wWAtcu3v9Nffk0ie59Wqp+nmXmMnCvtunq3PXIQYjcxuAD+QOwAoNw6w7WMLqtzdaDgWZSkoE3oRis3i9pBW2lpaUextQ2Qo2GEAVrUMUbVg5XtymHfs149tSsafxRC+jDQV1uGyCJ9XgrD6k4kl014eFu8W/qpOAIErqij81tm3LjnoE3pbjqEbZaJ4N85uaA2VOg9Q 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:HK2PR0601MB1873; BCL:0; PCL:0; RULEID:; SRVR:HK2PR0601MB1873; X-Forefront-PRVS: 0567A15835 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(39380400002)(346002)(366004)(396003)(376002)(199004)(189003)(83506002)(66066001)(69596002)(8676002)(105586002)(186003)(36756003)(47776003)(16526019)(52116002)(386003)(7696005)(86362001)(26005)(6916009)(2950100002)(59450400001)(8936002)(81156014)(81166006)(50466002)(76176011)(5660300001)(68736007)(106356001)(6486002)(2906002)(305945005)(4326008)(97736004)(16586007)(58126008)(316002)(53416004)(478600001)(53936002)(25786009)(3846002)(6116002)(23726003)(7736002)(21314002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:HK2PR0601MB1873; H:morimoto-PC.renesas.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX: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; HK2PR0601MB1873; 23:hWUACSW+Kd5wXFHu3e62aa3M2rJC1dUslZvwbVW?= =?us-ascii?Q?Cnw0K+ICyCUsnf/qRMbw/FKnzx0mdUHHQBXKD6ddY5hxh5H7T2+y/fN3Uc45?= =?us-ascii?Q?PEnS1SZqfxbPTTUKEwGbMXHLUjy05/nqgv9XEgW9ivtlUbWXL+TnxOOGB+/u?= =?us-ascii?Q?jKYnUoco8GiAYxglvtgmBXxdP2EchG/KG32q9PYi8cTxibi1dyvPV/8tdJoz?= =?us-ascii?Q?MmJPKtEoKSle7onYfEiotxkR+9e8hCHhIiL0R779sZjoNcg5I9dUnvHqXqFe?= =?us-ascii?Q?xynOC5J6eSvYfb+HG4on0vaFYY+Cz1SO+qeMXE1BbHAEECeLMPqBMoPg7gGJ?= =?us-ascii?Q?e+bqxgXr81Tty7JnW5p5GiCIuIFc50ZquFoKdN3frl74rtB4Bttskp5y/ixc?= =?us-ascii?Q?GqTOpJWTDu6Pn9hGtk/Dg6jJhQ+Cusiq+bliydecWkf9wH1tSDoWAdtyKgLq?= =?us-ascii?Q?LEN+pk9g2DG8LciyqgsU/hnlh7eI0cQ5R2oQTDZ69PW0SK4S7nwjlCvs+pJ6?= =?us-ascii?Q?CaQNyGBzHZrPexRvOa9LH1tuCOzQoOW+aDKWX0CBE5aC+EQtx3OXzT7EUHFG?= =?us-ascii?Q?ddVPNrcTXtB636QLGFVnmpAP9L4eTYxVQP7W4VmFAPs2L4XKPP8/8AEGVUAi?= =?us-ascii?Q?tDSlvbFNDplD5/W5F8idm8S1iwf2fvEy+7gzFJaoFECdtjPtD6Z+tc4UuVGz?= =?us-ascii?Q?71Y04e4Bdr4I/g0AYkLOArS9t/IDWzNiIfKs6Ha8ApzGNcyDGMZvnoGtj6Qq?= =?us-ascii?Q?pu+jY9Gw45dCiMSs8X1l6swNQiC/ZgdB3DEpVLE3oc7wzbqG30+v/yB6cR7P?= =?us-ascii?Q?7PwGpA8duPnth0UppQecFS1jjUZaNn8Pg5+BlPiAYOs3Tu3KJjCh2NZjsE69?= =?us-ascii?Q?l7UTIgCl0UKZZLVhR3W08ujnXsN/2KVsRuFvVc3KcrUZrQKStpznjPWUXZ39?= =?us-ascii?Q?PV10UNVkCLxYYqqlF7ObeYHG7aZZfmUo3FObmF3G6BXhqb744+t4tS7V+wS2?= =?us-ascii?Q?ChVs8a0O2PMd/rm1fQh14wqtxNw+R8USDE2At1pa3k5kqDqwkIQ/rVhp52Zd?= =?us-ascii?Q?s6hFzoFl/7R9NhrK/Awp7gbmVcXVcfRtljKxCzg0UXZb0/8tmL+5r00W/PX0?= =?us-ascii?Q?lRkTSBFdmjipMT4ndy/9HL75e4viRlxppfC2APeP1UjDKyVUSZ4AcAw/90Z4?= =?us-ascii?Q?gmVnQk+LuaEIXa2o=3D?= X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 6:+iQL7+U+cASbCAH37xWfuCbxOmH2MK8GJvFoaOWv6+PXtrnnOTMJ4J2R8QfHKpGze0azxLWobTCtMNASlHnPH6hbjrZxjy0wAuqwE1nswNj3lJ4JdKtM/ct+R7w2z4gNFi6zbB+8/mwzp7fX3zHKfeXeuPRMZpbALaYGgz/GR+Ajk98wlLTrc1Qvi50rjwTtfh16yzbrHE9PhWmQedZAiLz7OiMj3Y2JtHI3LbeeRvTNyYBYrMTn1OfkbZyD1+D165vcqRuOQRFuqPDbz5s1VC+QEYYBVdpGkFKcpxQzGjHlpStjSTUh2htBTKJpN/FaB+P42S3PreocfOAJvQZywavd8T2VGdf5Gm39nNXAXUs=; 5:c82LOyAJGsg92Y9ChN7mkw+wHn+cn6fZfIwa71k3R5eI/xwPobUpn3RW7A+NeUKZzUUsPtZDRmYT9ZBCwNa0Jam9zfZRkY6swAh1frK8kczDZ93HzaBm9GDNvLbTQha14dYRqyrLdoROLhiLPZy+gUxxSGuUPI+9RO93SqpR7rM=; 24:8W795OwgcM/QE0Laes3AHAwRKROyoj/r0uVIvkYj8ZlVnvwjpQox05NN7JnnBp5zWTa15Ujrf76uP1X9wsA9y1S66oLcXiUJnZXEi6bEExs=; 7:IUy3OaaKD1UQHkLxn/17trmf59tyQ6poL3AD1lTPoQxfAxyEA89RYUwZa8i44I3IdGi51Eqym5V8qABIWmFr8olULOp1c3NNZqWb1bB2bBBMdWb+FbubPRhq3K1Ol6p6cYPp6Wo2OgUq18QcuW4MGcUioruqv6KyzdLpgV9SxMI0sUWXozEXHTPd95KvzQmDTVmWG2Y2rnabW4JuAHDydc6UPvKlmgRYwqRxl0eQE2zHYRPJ+x0nB9+Nsms8eDwF SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1873; 20:kPTqTtkAQpcr1ZdgBog5ynedX7Rc4W0eufsx6UxR7u1brahYEfIENVan69zR/U2jZdfxmFx9C5LfhkAS3iX1ktd7CVTag7m/Fg4kE2U4oJQqxPEG38TVzNRcFWhC3KG19E7oJhyocMDubT9L/qYlu0DbMccmDJz4wCPkcOOyFII= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2018 02:59:05.1142 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: db2385b4-820a-43a0-f75c-08d566c4423b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2PR0601MB1873 Cc: Linux-ALSA Subject: [alsa-devel] [PATCH v2 004/186] ASoC: wm2000: 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 Acked-by: Charles Keepax --- sound/soc/codecs/wm2000.c | 78 ++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 42 deletions(-) diff --git a/sound/soc/codecs/wm2000.c b/sound/soc/codecs/wm2000.c index abfa052..c5ae072 100644 --- a/sound/soc/codecs/wm2000.c +++ b/sound/soc/codecs/wm2000.c @@ -607,8 +607,8 @@ static int wm2000_anc_set_mode(struct wm2000_priv *wm2000) static int wm2000_anc_mode_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); - struct wm2000_priv *wm2000 = dev_get_drvdata(codec->dev); + struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); + struct wm2000_priv *wm2000 = dev_get_drvdata(component->dev); ucontrol->value.integer.value[0] = wm2000->anc_active; @@ -618,8 +618,8 @@ static int wm2000_anc_mode_get(struct snd_kcontrol *kcontrol, static int wm2000_anc_mode_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); - struct wm2000_priv *wm2000 = dev_get_drvdata(codec->dev); + struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); + struct wm2000_priv *wm2000 = dev_get_drvdata(component->dev); unsigned int anc_active = ucontrol->value.integer.value[0]; int ret; @@ -640,8 +640,8 @@ static int wm2000_anc_mode_put(struct snd_kcontrol *kcontrol, static int wm2000_speaker_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); - struct wm2000_priv *wm2000 = dev_get_drvdata(codec->dev); + struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); + struct wm2000_priv *wm2000 = dev_get_drvdata(component->dev); ucontrol->value.integer.value[0] = wm2000->spk_ena; @@ -651,8 +651,8 @@ static int wm2000_speaker_get(struct snd_kcontrol *kcontrol, static int wm2000_speaker_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); - struct wm2000_priv *wm2000 = dev_get_drvdata(codec->dev); + struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); + struct wm2000_priv *wm2000 = dev_get_drvdata(component->dev); unsigned int val = ucontrol->value.integer.value[0]; int ret; @@ -683,8 +683,8 @@ static int wm2000_speaker_put(struct snd_kcontrol *kcontrol, static int wm2000_anc_power_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, int event) { - struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); - struct wm2000_priv *wm2000 = dev_get_drvdata(codec->dev); + struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); + struct wm2000_priv *wm2000 = dev_get_drvdata(component->dev); int ret; mutex_lock(&wm2000->lock); @@ -724,16 +724,16 @@ static int wm2000_anc_power_event(struct snd_soc_dapm_widget *w, }; #ifdef CONFIG_PM -static int wm2000_suspend(struct snd_soc_codec *codec) +static int wm2000_suspend(struct snd_soc_component *component) { - struct wm2000_priv *wm2000 = dev_get_drvdata(codec->dev); + struct wm2000_priv *wm2000 = dev_get_drvdata(component->dev); return wm2000_anc_transition(wm2000, ANC_OFF); } -static int wm2000_resume(struct snd_soc_codec *codec) +static int wm2000_resume(struct snd_soc_component *component) { - struct wm2000_priv *wm2000 = dev_get_drvdata(codec->dev); + struct wm2000_priv *wm2000 = dev_get_drvdata(component->dev); return wm2000_anc_set_mode(wm2000); } @@ -782,9 +782,9 @@ static bool wm2000_readable_reg(struct device *dev, unsigned int reg) .readable_reg = wm2000_readable_reg, }; -static int wm2000_probe(struct snd_soc_codec *codec) +static int wm2000_probe(struct snd_soc_component *component) { - struct wm2000_priv *wm2000 = dev_get_drvdata(codec->dev); + struct wm2000_priv *wm2000 = dev_get_drvdata(component->dev); /* This will trigger a transition to standby mode by default */ wm2000_anc_set_mode(wm2000); @@ -792,27 +792,28 @@ static int wm2000_probe(struct snd_soc_codec *codec) return 0; } -static int wm2000_remove(struct snd_soc_codec *codec) +static void wm2000_remove(struct snd_soc_component *component) { - struct wm2000_priv *wm2000 = dev_get_drvdata(codec->dev); + struct wm2000_priv *wm2000 = dev_get_drvdata(component->dev); - return wm2000_anc_transition(wm2000, ANC_OFF); + wm2000_anc_transition(wm2000, ANC_OFF); } -static const struct snd_soc_codec_driver soc_codec_dev_wm2000 = { - .probe = wm2000_probe, - .remove = wm2000_remove, - .suspend = wm2000_suspend, - .resume = wm2000_resume, - - .component_driver = { - .controls = wm2000_controls, - .num_controls = ARRAY_SIZE(wm2000_controls), - .dapm_widgets = wm2000_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(wm2000_dapm_widgets), - .dapm_routes = wm2000_audio_map, - .num_dapm_routes = ARRAY_SIZE(wm2000_audio_map), - }, +static const struct snd_soc_component_driver soc_component_dev_wm2000 = { + .probe = wm2000_probe, + .remove = wm2000_remove, + .suspend = wm2000_suspend, + .resume = wm2000_resume, + .controls = wm2000_controls, + .num_controls = ARRAY_SIZE(wm2000_controls), + .dapm_widgets = wm2000_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(wm2000_dapm_widgets), + .dapm_routes = wm2000_audio_map, + .num_dapm_routes = ARRAY_SIZE(wm2000_audio_map), + .idle_bias_on = 1, + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static int wm2000_i2c_probe(struct i2c_client *i2c, @@ -916,7 +917,8 @@ static int wm2000_i2c_probe(struct i2c_client *i2c, wm2000_reset(wm2000); - ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_wm2000, NULL, 0); + ret = devm_snd_soc_register_component(&i2c->dev, + &soc_component_dev_wm2000, NULL, 0); err_supplies: regulator_bulk_disable(WM2000_NUM_SUPPLIES, wm2000->supplies); @@ -926,13 +928,6 @@ static int wm2000_i2c_probe(struct i2c_client *i2c, return ret; } -static int wm2000_i2c_remove(struct i2c_client *i2c) -{ - snd_soc_unregister_codec(&i2c->dev); - - return 0; -} - static const struct i2c_device_id wm2000_i2c_id[] = { { "wm2000", 0 }, { } @@ -944,7 +939,6 @@ static int wm2000_i2c_remove(struct i2c_client *i2c) .name = "wm2000", }, .probe = wm2000_i2c_probe, - .remove = wm2000_i2c_remove, .id_table = wm2000_i2c_id, };