From patchwork Mon Jan 29 03:11:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10188909 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 55D89602C8 for ; Mon, 29 Jan 2018 03:19:05 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 489E0286E3 for ; Mon, 29 Jan 2018 03:19:05 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3BC6C286FD; Mon, 29 Jan 2018 03:19:05 +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 22EC4286E3 for ; Mon, 29 Jan 2018 03:19:04 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 8CDB0267B4E; Mon, 29 Jan 2018 04:18:41 +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 E3463267B4D; Mon, 29 Jan 2018 04:18:35 +0100 (CET) Received: from relmlie1.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by alsa0.perex.cz (Postfix) with ESMTP id 8C99026796A for ; Mon, 29 Jan 2018 04:11:50 +0100 (CET) Received: from unknown (HELO relmlir4.idc.renesas.com) ([10.200.68.154]) by relmlie1.idc.renesas.com with ESMTP; 29 Jan 2018 12:11:48 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir4.idc.renesas.com (Postfix) with ESMTP id 022FD67C51; Mon, 29 Jan 2018 12:11:49 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,429,1511794800"; d="scan'208";a="270908272" Received: from mail-hk2apc01lp0210.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.210]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 29 Jan 2018 12:11:48 +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=rW7ednBE/bdDaj9ci26rzajtxtXNal0WCn3KRuBG95s=; b=EsG4Qa6cY6of4I6FbHEq7F4C9a4DrMXcplIWJxTzqgMPOKDfroag9Zv6PRTwGtNJkW2dJC6jX3XKSChxbhZI6b8AR13mN2E84LZGJbuz9wp8N3Cp52+sY0hs2zn9OwbyYM+G6WCpjnKwgl/r4ca6gLPHROsgvuuJj2MTsydvLrM= Received: from morimoto-PC.renesas.com (211.11.155.138) by KL1PR0601MB1877.apcprd06.prod.outlook.com (2603:1096:802:7::22) 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 03:11:46 +0000 Message-ID: <87lggh2wdg.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 03:11:46 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: OS2PR01CA0118.jpnprd01.prod.outlook.com (2603:1096:602::12) To KL1PR0601MB1877.apcprd06.prod.outlook.com (2603:1096:802:7::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 541002f8-36f5-4353-e849-08d566c60870 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:KL1PR0601MB1877; X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1877; 3:MIeINVkO/KfwAURQ69uROV+o053EvMerXCK2r5MJbQcdrjelMGPXYfhtDBRpBv9FnoT58UEDK2gqMH+kI5sKLIydLvZxolFI8fo14aw4jZvIzJ6vNsCoHPIzPveo7NU03Z6P/jx1t4TR0aYyvGsW48+X2xabTEtaA34UwWVON8FBlibEsME5BnlRNAFJtA4s7lJHFZe882QY+jZAwJPBTpjViu0/LR/MvfzAow3MYspViIabNnwV/No9CBqzBYl6; 25:SM/3zcUiwpUiFKYtwOni6cejHibMCHJSiIvpgaUC6m9idcMTuKXAFwnfFLRGRNGDD5gQCYriyIHTNk9l3R/y53VAR8ON11ThXUu7MoDaBIs5pi8bi3/0LVV84Xn5jAnexCC2QKgIfowJXAKBiGYJM2Sh8LkxjtK50OFcwdnRgIkMGw29ed4tQMkd/4HXufVoBOYF3fA9XwEs8b0uZQNw9QZVupo4FMBEeNIlYjTZYsaXfp2YxToDlMZD0SE7ZP1k3SGwkwzX2lhrJHXASn7KOb429NjktlGEKBDWtySh0F/PQ3mKVYDXVnqXh4FQXdHktIVVZrt1thufv+0zwFSjbw==; 31:Oi0zCj7PpIKPfLbUthTWVC7Oywsn8TYz7LLEaRNzgsfOYhhE+A7A6hSLl7BpbUkJxgpbfvaMZYjmQxRV5t72mex8TSLCmjDLJy+MVd2RE0Xxl8dlbg1klOe9IktnQUHuVwwlMOLzIkmX1CVs8Jn61kAAB4dpsJx9nT9AFztTKi22HWrMHl/2NwdzLfAkqBCvzZ5ylpjHQ6AAnDpqhFsx4lluYMWYilhYY8Z37JEiQGY= X-MS-TrafficTypeDiagnostic: KL1PR0601MB1877: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1877; 20:wqjPcieq76p12RBvZ6WnV037iRXAZoK0sPcj61TIsHBpf6PcHNDtKA87C26GQuMRfPMelgzLu8i9+K/2AHf7MfB1MuXUyJJsZhK/vAO1fF5AqV+2H1ZxmSGGJpcFXATK/3R+Ph7ETdK3OxKDSzVGHFpVffffv3IzJJeLUyIMKi0OhRXlgeVZEqwKcvVnbwmgeOYOm1alnwfkVoZKGKwQVcWg+AyB/AXUy0nU4MsAGXNzzHUfwDjIWbmALMsbQriTLDAWw14GJZhzVbhS4fbfTM3vFpFrsRDqa9qAHG0XNV9dFSMJfuyz+LezzQjWOxpJOvEhpJBpjam1/ZsbPdeHd5iDQWDL5CP2/UCDNznkwRmmV7QkD+Gmpa4ih1gYTudYI8HCvexd24K5JFsfigb1XhEiU1eOKdNcNBPAH30K74Amq4SpJkWcMySpGAq+nDlwGsuDbR5xGLpu0J4wIMoONdrrCaJOeIsqImhYLt2VkDelRHjqRGq/7awZdkgEKo27; 4:EjEgzKSmIwb6MJjuluJk8goohFgzyChTjxAdCA+gZh5QIPhvrGd8gHxfQeA9HtMUD83YO9O0y0rEb7n7gyg/+XsNyZbB3Tr0+7gjzhaG5DGNZF0opJuX1A8eczj+MMx8rB1YrC5PwjPGE3N7n+jYrDUzZZ5WpKDa7Hybwrnsn91BWfzDDg1Q7vZlwwcmk1V2D5/QsnVfZOnefyOK/OPvGeUjU3Jk963ckBU9Qd0dI2h+gA+noxEMPI92d4jvAzM/ag56XFe6Pbq+hZDooifpCNJwwyACI7Ux0yXG0mP2HuIABR/qMBXKVWOlo/FYBxkM 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)(10201501046)(3002001)(6055026)(6041288)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:KL1PR0601MB1877; BCL:0; PCL:0; RULEID:; SRVR:KL1PR0601MB1877; X-Forefront-PRVS: 0567A15835 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(376002)(366004)(346002)(396003)(39860400002)(39380400002)(189003)(199004)(47776003)(26005)(68736007)(8676002)(386003)(76176011)(59450400001)(5660300001)(83506002)(66066001)(7736002)(305945005)(16586007)(2950100002)(16526019)(575784001)(316002)(58126008)(186003)(81156014)(69596002)(8936002)(6916009)(7696005)(81166006)(50466002)(52116002)(86362001)(4326008)(105586002)(25786009)(23726003)(478600001)(6486002)(6116002)(3846002)(106356001)(97736004)(2906002)(53936002)(36756003)(53416004)(21314002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:KL1PR0601MB1877; 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; KL1PR0601MB1877; 23:wbE6YDrxXTf+uDeiW8zsVHa7+pGciJIpyaL3W1C?= =?us-ascii?Q?oOq4spThpfd5gxDmM/Me6wUWUdJNQotHq9UJwwFeUCNPJwae+YYwfAQNxtOx?= =?us-ascii?Q?yTXsxxtnrku3YnBXVm2Eb1n+pXEm6mMwOj60OnIq5QN5bspFR8AS7+3YLBa4?= =?us-ascii?Q?cJ+j0Ym8vTmPrScq4XO1AK4EHeMcVnnzqTgcmuBTUa9PUgwivQlsWPbVrxCz?= =?us-ascii?Q?BaXdHS4ByUlsKhQWH9rCBKgEzHH9Y5IuUKcuSUHTzQkip7R7axCY9gpdDoB9?= =?us-ascii?Q?8o1IG0Hv0NUbhx+m08Mhl5hCy7etrV7WuOTH4Z26lKf+N3k+McLI0p5IIc2F?= =?us-ascii?Q?5uXH+1QKdM5eUSErhbNem+brjpDpMWuJT6sXh2Z+pOVdJlaocm1hVnTGL4we?= =?us-ascii?Q?8fJ9eX/83waoswGvGka1OnrwjmZYAGjyEc7VPRsqdW5eKSPzPZU9UL5wf/5K?= =?us-ascii?Q?Ew3wO0rJLVSni5WoxR5NUiFP77adrZ7NgMZwQzLcgICamo/O0kMNKZki+eO7?= =?us-ascii?Q?z7YW7GsOstIS3ZxxHdw8JvXh34z/wjO/Bi/mY1atwg2zgOzdjY1NMWstTjgS?= =?us-ascii?Q?kIwYJTux7HbP3YZtXIQRxJcj9zK/2PtNnj5MNwwHjnzWMLys3KsG/05SHEuK?= =?us-ascii?Q?Yb8iyctsk9jFnkQlGkpdSvXfUw4dKHSV4gMb0e6JF76lPdLB4iczwzPAXRSr?= =?us-ascii?Q?FCh00fdeu+SvsGz3GedWmXyF6v+KcRCpUbU5hefzFIrkEHgndyqTPjiu8oK/?= =?us-ascii?Q?hhwO11Mu9MqMc7bF18fW1ohkSP4nuEyJaWst4JJu6GyHs/rGl2FpJkc/nLSf?= =?us-ascii?Q?cS+4a5yA7FMGp3T97it5/0ghCs5XmVFVHMbnk4xmNfqla/cfrMB8MZNsMS9K?= =?us-ascii?Q?kA++HGWtaYIlnuGKHOaUi5sXIbsGM7pUZb0infNXH0XEJUgvoIecaBafZJsD?= =?us-ascii?Q?QlSuGLvTOGPtamtx9SCjCUGkSngD+zKtGArXmhHaDxOGcUusvD3xldwJSD3n?= =?us-ascii?Q?zW9C+1+6K92SMAf/hVLR8TCH5tB3cvdHdFY4+BNnDF+DiNAf3mqG3V75HAZC?= =?us-ascii?Q?YT1JTvIDD/svPZu9LP0BQeIF08zHWZTw+46B+dI6j7A9MK93k1pBvpsvhuSS?= =?us-ascii?Q?MnfAGgU/a0wo46gsDJU2UJOF4a1fwsfGIJRTtHaDE/gWHJ7qRAfUx8rz63eI?= =?us-ascii?Q?uvzOUm9WouUX3FI9M8lS9xnKMRGM5eA9UcXd/?= X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1877; 6:szwPpH/DuBGy2cL6QvlXJbIScThkP/5v9gAOvSdWSImVXC1PQMoh3m/3wAnHW7kNmMAATBP8qwNPF7QkxWq5SVqiKNqPSN0UuBCh9Fu9wTcfDqxmSasrORjcvB4prmDcRQ3KKwnbfWLqF07xvTpb5MJ0iv8y14Y+B29VWtfH/GaO9rvuvSKebhCYeG41ZCjkjhPLDUVqFYcu5hAO/bjQ8eUpm1tQIF7ysXzZy6Jewl3/gxhJiDgCgFCt/Nw0ZjQCUlyP4H093aas7AnpGB4F/8dAHxAa2HF582k9xZsN9Aim99ZBbcAopHPsp3OpdNDqHwDeS5lxR8JoOos/xsFWfCaeaHth/QT1Rzekq2PvszY=; 5:s86JVWyZwOoqhlds4xbvvqLOTKGxyOGQEfFrQz9m/aGDkRDgYJTknwQeyHRaLxwV5TIAubotpL6eU6KJJFMUz/PJoCy+kkWBEvcJMtnn0gg6bzc16uijj97cXzIode/lekbvH4iQf9OU0EeRlTpArSGsQeF3n86DXsRhI1mS15g=; 24:Z3LQJ1jGihoKYvAvHTWntsqqFzME4+XN0RebZeDksUueGzhwiJrLu/nkH+eC2YK+USRhbAGDC6cdk0jocp9v05QkJQIVC2xee/tio98z0kY=; 7:c9eje7fe7uHtTZzIaz/6p7QEQOONvL8NK3XG6YJHRDQNYiClMKHAh4GcZK4rB17cyp0RKWJYWoxZCF3wLopvibYs3HN02Uouy80/oPrcB2HvMwp0sSehQB0Sap5HRIDathgy6QIvwJQqopcaSz69AGUdvfcMoskhElrqmhngNTgOZ8XkjwkV7LGh80iUstcGZqam9y9aAL0ipI7Bz/Vwp4ReoidRz60ptVZCOk0hL7mFnJov5TFkmZnI9OOWZoYx SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1877; 20:L5AwRXprHrq+h6NidgxOll+viiYrAVrYmb36vXFMNb7odhX6JAqZzc6FAw3CEiifhI/uVoKmjQL2DyJJhoRu2XHTUwWzJVmeoBe6xNvG0vtO53ur4FAcnV6I/j9g9zNEgkEUK3AHJvksp1+JAMpBvGBQmm6mIO7K9HBQaamAzYo= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2018 03:11:46.9905 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 541002f8-36f5-4353-e849-08d566c60870 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR0601MB1877 Cc: Linux-ALSA Subject: [alsa-devel] [PATCH v2 048/186] ASoC: wm9867: 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/max9867.c | 65 +++++++++++++++++++++------------------------- sound/soc/codecs/max9867.h | 2 +- 2 files changed, 31 insertions(+), 36 deletions(-) diff --git a/sound/soc/codecs/max9867.c b/sound/soc/codecs/max9867.c index 2f60924..a4e8faf 100644 --- a/sound/soc/codecs/max9867.c +++ b/sound/soc/codecs/max9867.c @@ -179,8 +179,8 @@ static inline int get_ni_value(int mclk, int rate) static int max9867_dai_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 max9867_priv *max9867 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct max9867_priv *max9867 = snd_soc_component_get_drvdata(component); unsigned int ni_h, ni_l; int value; @@ -227,7 +227,7 @@ static int max9867_dai_hw_params(struct snd_pcm_substream *substream, bclk_value = MAX9867_IFC1B_PCLK_16; break; default: - dev_err(codec->dev, + dev_err(component->dev, "unsupported sampling rate\n"); return -EINVAL; } @@ -239,7 +239,7 @@ static int max9867_dai_hw_params(struct snd_pcm_substream *substream, bclk_value = MAX9867_IFC1B_32BIT; break; default: - dev_err(codec->dev, "unsupported sampling rate\n"); + dev_err(component->dev, "unsupported sampling rate\n"); return -EINVAL; } regmap_update_bits(max9867->regmap, MAX9867_IFC1B, @@ -251,8 +251,8 @@ static int max9867_dai_hw_params(struct snd_pcm_substream *substream, static int max9867_prepare(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { - struct snd_soc_codec *codec = dai->codec; - struct max9867_priv *max9867 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct max9867_priv *max9867 = snd_soc_component_get_drvdata(component); regmap_update_bits(max9867->regmap, MAX9867_PWRMAN, MAX9867_SHTDOWN_MASK, MAX9867_SHTDOWN_MASK); @@ -261,8 +261,8 @@ static int max9867_prepare(struct snd_pcm_substream *substream, static int max9867_mute(struct snd_soc_dai *dai, int mute) { - struct snd_soc_codec *codec = dai->codec; - struct max9867_priv *max9867 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct max9867_priv *max9867 = snd_soc_component_get_drvdata(component); if (mute) regmap_update_bits(max9867->regmap, MAX9867_DACLEVEL, @@ -276,8 +276,8 @@ static int max9867_mute(struct snd_soc_dai *dai, int mute) static int max9867_set_dai_sysclk(struct snd_soc_dai *codec_dai, int clk_id, unsigned int freq, int dir) { - struct snd_soc_codec *codec = codec_dai->codec; - struct max9867_priv *max9867 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = codec_dai->component; + struct max9867_priv *max9867 = snd_soc_component_get_drvdata(component); int value = 0; /* Set the prescaler based on the master clock frequency*/ @@ -306,8 +306,8 @@ static int max9867_set_dai_sysclk(struct snd_soc_dai *codec_dai, static int max9867_dai_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt) { - struct snd_soc_codec *codec = codec_dai->codec; - struct max9867_priv *max9867 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = codec_dai->component; + struct max9867_priv *max9867 = snd_soc_component_get_drvdata(component); u8 iface1A = 0, iface1B = 0; switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { @@ -404,25 +404,27 @@ static int max9867_resume(struct device *dev) } #endif -static int max9867_probe(struct snd_soc_codec *codec) +static int max9867_probe(struct snd_soc_component *component) { - struct max9867_priv *max9867 = snd_soc_codec_get_drvdata(codec); + struct max9867_priv *max9867 = snd_soc_component_get_drvdata(component); - dev_dbg(codec->dev, "max98090_probe\n"); - max9867->codec = codec; + dev_dbg(component->dev, "max98090_probe\n"); + max9867->component = component; return 0; } -static const struct snd_soc_codec_driver max9867_codec = { - .probe = max9867_probe, - .component_driver = { - .controls = max9867_snd_controls, - .num_controls = ARRAY_SIZE(max9867_snd_controls), - .dapm_routes = max9867_audio_map, - .num_dapm_routes = ARRAY_SIZE(max9867_audio_map), - .dapm_widgets = max9867_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(max9867_dapm_widgets), - }, +static const struct snd_soc_component_driver max9867_component = { + .probe = max9867_probe, + .controls = max9867_snd_controls, + .num_controls = ARRAY_SIZE(max9867_snd_controls), + .dapm_routes = max9867_audio_map, + .num_dapm_routes = ARRAY_SIZE(max9867_audio_map), + .dapm_widgets = max9867_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(max9867_dapm_widgets), + .idle_bias_on = 1, + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static bool max9867_volatile_register(struct device *dev, unsigned int reg) @@ -497,21 +499,15 @@ static int max9867_i2c_probe(struct i2c_client *i2c, return ret; } dev_info(&i2c->dev, "device revision: %x\n", reg); - ret = snd_soc_register_codec(&i2c->dev, &max9867_codec, + ret = devm_snd_soc_register_component(&i2c->dev, &max9867_component, max9867_dai, ARRAY_SIZE(max9867_dai)); if (ret < 0) { - dev_err(&i2c->dev, "Failed to register codec: %d\n", ret); + dev_err(&i2c->dev, "Failed to register component: %d\n", ret); return ret; } return ret; } -static int max9867_i2c_remove(struct i2c_client *client) -{ - snd_soc_unregister_codec(&client->dev); - return 0; -} - static const struct i2c_device_id max9867_i2c_id[] = { { "max9867", 0 }, { } @@ -535,7 +531,6 @@ static int max9867_i2c_remove(struct i2c_client *client) .pm = &max9867_pm_ops, }, .probe = max9867_i2c_probe, - .remove = max9867_i2c_remove, .id_table = max9867_i2c_id, }; diff --git a/sound/soc/codecs/max9867.h b/sound/soc/codecs/max9867.h index 65590b4..c0aea3d 100644 --- a/sound/soc/codecs/max9867.h +++ b/sound/soc/codecs/max9867.h @@ -75,7 +75,7 @@ /* codec private data */ struct max9867_priv { struct regmap *regmap; - struct snd_soc_codec *codec; + struct snd_soc_component *component; unsigned int sysclk; unsigned int pclk; unsigned int master;