From patchwork Mon Jan 29 04:31:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10189177 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 1ACFC6020C for ; Mon, 29 Jan 2018 04:54:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0965C28768 for ; Mon, 29 Jan 2018 04:54:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F0F7728784; Mon, 29 Jan 2018 04:54:39 +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 DF68628768 for ; Mon, 29 Jan 2018 04:54:38 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 571F8267B1B; Mon, 29 Jan 2018 05:42:25 +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 B13AD267B29; Mon, 29 Jan 2018 05:42:23 +0100 (CET) Received: from relmlie1.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by alsa0.perex.cz (Postfix) with ESMTP id 209BA2679A1 for ; Mon, 29 Jan 2018 05:31:05 +0100 (CET) Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie1.idc.renesas.com with ESMTP; 29 Jan 2018 13:31:03 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id CCD7C761D6; Mon, 29 Jan 2018 13:31:03 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,429,1511794800"; d="scan'208";a="270916604" Received: from mail-sg2apc01lp0248.outbound.protection.outlook.com (HELO APC01-SG2-obe.outbound.protection.outlook.com) ([65.55.88.248]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 29 Jan 2018 13:31:03 +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=ojIOGTuqMaY0tiR9idVnuc3a6CujS5GQtxVbGwfYwXc=; b=I5CcbmQ9EVL3Zk5FIPtnPVQRPcHEBIKtqBVrnWGAu6z3r6dNnq3+UfXhXrlm1BXsE5bywXRU2K1W8wiBp2H7OiUYu8dGrKMbGUxkB7247Tyo67eG5KMibVeHCYu71neP6/SeURWPCZqygZQ+8xaChnVzCdWdGgB5UPmDY7B+s1o= 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 PS1PR0601MB1884.apcprd06.prod.outlook.com (2603:1096:803:8::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 04:31:00 +0000 Message-ID: <87lgghwamq.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:31:00 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: KAWPR01CA0096.jpnprd01.prod.outlook.com (2603:1096:402:c::32) To PS1PR0601MB1884.apcprd06.prod.outlook.com (2603:1096:803:8::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: ec6eaea1-3a4b-4bad-7db6-08d566d1197b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:PS1PR0601MB1884; X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1884; 3:/awUUvIj4dWj/YinwmVl0UYfmmGjPErfNd+hAJLk8IQ0B16NAtVgK1b5LhMwZGfUaPNAIDhlI8puYLk2zIEouyVQEWI1mlOPPaBOAl8oH2tC0zRS4wnSAb80hJw/LiuEhG/KnmEp+ytbplTGvcoMd8y+5zWz6ZR0BLirmCTGhjiAJjNEeVkukfn7c6VN+wcXM4WUsSAcS4KETfO3pwkN3oZ+FH8BaPr7MJIeVRlsXEOLG8YzYhncF/u7ZX7AfG4m; 25:+wKu+fIczJ6sQ8/q8C5hsdoC0BIG6YT1/0caSIQ8XvJ7+2mfQu1SYBDeF+gE1/vkga92fRT75YH2gRb+KS/+cBXPOtfgbuyR7gC1psLAv5WIH9cpMUlYT2gsl2pOpqu2e5uGd29YxUVIUQaYYJCap6XQwSGUBaYeWPP8xHkgmPrG6dDmHOwiVUUHzS1IuYXL2sqP7GbXWP63XLII5Inxua0xnl6eN+KRbueCakZQqxQHyrQGE9oJohysM/aNINKLQ911M2AbU3y3L/Sk9dYcW3UWHjSPm4zGPTw2Nam68prC5Jmv+ia1WMmDM0HQSowNopNl5jXZsFb6OyLy3qqHhg==; 31:+g+g4F48UoQKoWZU8yvQJrHZKJOozCLr8IQqpeEfG8kOlNj9jZ0mGT8mtJa4z+yJPdHl/bdjEhWju3vxJbLn2trb9ZQ5FbkbUMnnH0LtMP8OqGyOJtmRI43PRh+njyIMhRtnn6JqxPU2t/MALmi1jgXojYxmTRrWyH4idfSi/y0uDdLBJFFxtv0YVX1Qg4FEyogr235Bd5BTvVvubtBC99fFxfSPzfAcHOCdlOo0nUE= X-MS-TrafficTypeDiagnostic: PS1PR0601MB1884: X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1884; 20:2eATup7nfuuYbi0M5l887Q1GP/xqItxgWNFlRv4so76AHJV6vMb7y03+IpI3ff6XjW/0a+MtRf21Bzg0rB86bjNaSq7dK+Fw01okAqG+FvrzfPUUtZZSo0Y+xytXb7Ho7FI/d2TvL7N9TybOVeDG/kh4wJqfvs0j/qAl3WRWtpfnOUusyhwPxHa2Mf9xncEWKVVxlNvcrCAebXfB4exjhGWM/1LrF042/IPEw0E/9t0mkfDcZ8QbGknGZBaYZ/MjovDuwPiDdRDy2tA619tArBBkeGZFwwFhjRW14Jzi+Vrz0k6Z0AQvM9Z9o5rkVB9QZZ4hkszpGbmyMVNkZY5SqS5rsFei0IiLMo6xZuuzdBry/1L4cRvHOpxN/w6IkiS48kZ0r3S6E/TBsOGtpZMbnoahOVY2Hc92e/yXpli8/zi/Oz7EBYil/uWCuk/78D7NjWyaOguQP+RyEGYCeaiQt4WTgC9M6cbL9qqieThMxbl7NBVTHu8pQnPPOTd77gxU; 4:Bzn/nrWZ/Re4cU1PpIYEHAzpv1X7QzLlbUv4H6rXC/GoIMtO+iX90W35sXtbyQWqkB/Jqb3/TDa8mF8bXcEhtPiNfNGXbQonpULWOyJw2kqBgDxQM0LuvafXgqwPPWAhSi9hiEA5AMfnArr2aWv4/Hrl2gf20HsshF1uFiWzPSRGBFClKJ+hdnkQgaU0+hgjyPb2Tgs8aBLZlu4Bpje53M30FSTRlVmxWsmRgpFR6XX7xme7CiaWYlt3h08t6KYwZ9q/sXitOtgZx9z/Mb70tPxT1FqE8eUwp/JcCFrc9/FnXRRLv1zttbNWu6wfeUBn 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)(10201501046)(3002001)(3231101)(944501161)(6055026)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123564045)(20161123562045)(6072148)(201708071742011); SRVR:PS1PR0601MB1884; BCL:0; PCL:0; RULEID:; SRVR:PS1PR0601MB1884; X-Forefront-PRVS: 0567A15835 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(366004)(376002)(396003)(346002)(39860400002)(39380400002)(189003)(199004)(81166006)(106356001)(59450400001)(50466002)(25786009)(386003)(6916009)(4326008)(47776003)(8676002)(2950100002)(16586007)(58126008)(81156014)(305945005)(478600001)(105586002)(316002)(66066001)(69596002)(23726003)(8936002)(3846002)(83506002)(6116002)(36756003)(53416004)(52116002)(68736007)(7696005)(26005)(53936002)(7736002)(97736004)(86362001)(16526019)(76176011)(2906002)(5660300001)(6486002)(186003)(21314002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:PS1PR0601MB1884; 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; PS1PR0601MB1884; 23:YS66AHLqU4DOZKaK4pgOH0xWiUoPyVH9nOzJpQW?= =?us-ascii?Q?ve+8+9uCDBx9dvb9G+mgKP9b+lwlHzhMSjX3X0fqEj6DRXirlXXWQ7hMJpyS?= =?us-ascii?Q?rUg7CVItqYxkaoeVCF/VulzNspWgutQOgoHjfrfiIoKcukwHMw+Aq4sB3Zce?= =?us-ascii?Q?bbB2+J0G4JKfIT0xTN0l9YvDd8/mmae+AthqEj9dfepY43eyTAB9eu83qAHY?= =?us-ascii?Q?IQ6kE2aRkXmFNObZ+d9Z3L2nYEIGp7WBX7o1vLh3SvfMn4+lWimqRRaU+5qM?= =?us-ascii?Q?Mphzz/LMCA9+krsXYNZFD51w5yyzcKRid8DyE6l1pcG5z29WlQSU67osIdyZ?= =?us-ascii?Q?AuEVxHRX3OjREyAeNRZcpyQdZF26FgtgzyCI3rifFp/XnJUsaxrtJsheF3cs?= =?us-ascii?Q?wH96jdeFXI5MeyRNdbsDkw9rhBiNWU+ZjCe36v5YTFXOGf0hAbaZKP2bGkfX?= =?us-ascii?Q?xVa9mN+uNPIUsL4cSdYy3Ank3sKbmzxBTd2cl57i/aWmQ+oj8aDrHyPVQ41M?= =?us-ascii?Q?a5bFPmEOOCnyBUIeMLLq9XxWSuj70tweixsly3srLzveXlzX+ISeXTbHYzko?= =?us-ascii?Q?a4ulV2n2SOwjtqDOYl1mSrDfE1mWnCnAwkB9lyAjCYP/QjAp6XbsJz750nH6?= =?us-ascii?Q?UuXh7nie/dA7KSv+wcp9fmF+o0znJ94oOlqKborMpKB3IRJGp0WkuzIMMk/e?= =?us-ascii?Q?30XtgHDhBh9prDnE4HrSn9XNX4TkOHfuq/BJ4uF0zOg9/0t4KVf1jK0PTFB0?= =?us-ascii?Q?WqmF+BCn2eRCvFTiKzTKFNpS+f7abzbxIUhPerCrYpRw08pZmnNo1FAsiUAc?= =?us-ascii?Q?KtjX7lMmtqj9ln8vvZ7u+RYdriNyeiv12a6PB6G9Dnzcb374TsOEwWFJemBD?= =?us-ascii?Q?9jmMw3Ma2Mif0qWaRyaKLDwmuZ++s13LYLdIdODGlBYeYuuHii7JoNQBB5gz?= =?us-ascii?Q?mCioglFgYmBf1ArJFyvRhQzErrvjzIf/bSphawSj83eF8uqxYRgHKyctPj7Y?= =?us-ascii?Q?7/wxhxOnj1WsHjokntVrX9RPwuJYk4BWnIRuPnzCIhuQvT0ZUns548aGsLZp?= =?us-ascii?Q?YY0pr6PBBgIkUZa69yyC3EgNVCZ5UJe16s2VcECghT7MK12ptgXVSKnB2H8R?= =?us-ascii?Q?3Wwm03l0l7VJlHohm8kkMpuQXgGrX8gDBo/naXgZgvHUldrd/vtEw6hgeV73?= =?us-ascii?Q?LdMXkDTEOdW+mmCY=3D?= X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1884; 6:y+6Bcm8gPzN4oUYcwK5hX7B60+HjIRLCuHMS56p51mRfw34boDsHLzOr1YoK5L2CeaC/o2mfPtZX4MvOynjgQzpo5b4BxGpSIaV9KeGpOOOJmdpv/BSB0DExsjsF9Jj1Q5n1AY2o89ep5lw7Js4a20iJfY+5ix6uhjwqKYiXzYbdQYr1YO1c4/OXdm7ul0GClpNm8IGaVMvVGkjNSWPRARloUxe27hgCIvo18PYYZNVOPlD/V7ID9EplykfeMytDk2S3FsWn0ii/772jJbj9h7KMunf6xysc5NDasY8lrbuyaw8QQKJfAp2pqFUOEQIPtlBIXQTYwyFyHW404rrp9jZ5vXyKelTt+IXmUwuSDzg=; 5:yc64SXczlp2vC+aldnwUxm0FTJkGf5ab2y8xfKVHxr+DAoaTLW0p9q2r+3BYUhao8CYLnI8+wJh53mcYpL4FLD7UZ7iDRhDG53lA1LCcbok1/glcNoWbeEMoMrCcqfGVb1Ax0dt2yNsn/6H/+4Zm0CPUBSWSvFkKpexHMPSXre4=; 24:7OD7YSYNv0KPb22f46uBN02i8JHGA+UXrcMa7EHkBpQyyG23rLEnXq4MAprDBmtQNy4GP7DLppm+WteshdQQpHlybEioZXoaCd76i6HeaKA=; 7:XeeA1BMeyeACMcv23ZWxPh0pVUwRTKR0Pk8HXQLx12+gWtiTM2y3adYo5RbwA1spWbxUKSHJIbQRUQM4BSI6lE3e83xg/ugqHBAnifFgHpefovgF1Tflx0t7XbgdmGwmlXNifnUxGQfkG+Krrao2RiWl0FPTlz3rjo6FzahCUH8QGVtoICyS4UO85I70BokQPMmb7Jlf2hrdn266PxOe0UCKuCnAyyvjoDsGl8dMiLFAoozXAkw+U1XAVFDtF9FH SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1884; 20:+S9VOjljLmp0Q+I58IkNxYTlw0RF/RObzH7CNGUg1j40OTFQcvcx9ezrPqWA27Li8CnXVWV2Xop6pLF8rQctQlbI+YMKhZW6t8/Td04+222FOMMUzKukke5UnC0p/bVp8b63BNqsNv2nFWXmMKO88rVHnyfh0zN0dBHtBfM30lE= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2018 04:31:00.2327 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ec6eaea1-3a4b-4bad-7db6-08d566d1197b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: PS1PR0601MB1884 Cc: Linux-ALSA Subject: [alsa-devel] [PATCH v2 147/186] ASoC: tas571x: 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 = 1 -> .idle_bias_on = 0 .ignore_pmdown_time = 0 -> .use_pmdown_time = 1 - -> .endianness = 1 - -> .non_legacy_dai_naming = 1 Signed-off-by: Kuninori Morimoto --- sound/soc/codecs/tas571x.c | 55 +++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/sound/soc/codecs/tas571x.c b/sound/soc/codecs/tas571x.c index a094999..52f34c9 100644 --- a/sound/soc/codecs/tas571x.c +++ b/sound/soc/codecs/tas571x.c @@ -51,7 +51,7 @@ struct tas571x_private { unsigned int format; struct gpio_desc *reset_gpio; struct gpio_desc *pdn_gpio; - struct snd_soc_codec_driver codec_driver; + struct snd_soc_component_driver component_driver; }; static int tas571x_register_size(struct tas571x_private *priv, unsigned int reg) @@ -242,8 +242,8 @@ static int tas571x_coefficient_info(struct snd_kcontrol *kcontrol, static int tas571x_coefficient_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); - struct i2c_client *i2c = to_i2c_client(codec->dev); + struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); + struct i2c_client *i2c = to_i2c_client(component->dev); int numcoef = kcontrol->private_value >> 16; int index = kcontrol->private_value & 0xffff; @@ -254,8 +254,8 @@ static int tas571x_coefficient_get(struct snd_kcontrol *kcontrol, static int tas571x_coefficient_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); - struct i2c_client *i2c = to_i2c_client(codec->dev); + struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); + struct i2c_client *i2c = to_i2c_client(component->dev); int numcoef = kcontrol->private_value >> 16; int index = kcontrol->private_value & 0xffff; @@ -265,7 +265,7 @@ static int tas571x_coefficient_put(struct snd_kcontrol *kcontrol, static int tas571x_set_dai_fmt(struct snd_soc_dai *dai, unsigned int format) { - struct tas571x_private *priv = snd_soc_codec_get_drvdata(dai->codec); + struct tas571x_private *priv = snd_soc_component_get_drvdata(dai->component); priv->format = format; @@ -276,7 +276,7 @@ static int tas571x_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) { - struct tas571x_private *priv = snd_soc_codec_get_drvdata(dai->codec); + struct tas571x_private *priv = snd_soc_component_get_drvdata(dai->component); u32 val; switch (priv->format & SND_SOC_DAIFMT_FORMAT_MASK) { @@ -304,13 +304,13 @@ static int tas571x_hw_params(struct snd_pcm_substream *substream, static int tas571x_mute(struct snd_soc_dai *dai, int mute) { - struct snd_soc_codec *codec = dai->codec; + struct snd_soc_component *component = dai->component; u8 sysctl2; int ret; sysctl2 = mute ? TAS571X_SYS_CTRL_2_SDN_MASK : 0; - ret = snd_soc_update_bits(codec, + ret = snd_soc_component_update_bits(component, TAS571X_SYS_CTRL_2_REG, TAS571X_SYS_CTRL_2_SDN_MASK, sysctl2); @@ -319,10 +319,10 @@ static int tas571x_mute(struct snd_soc_dai *dai, int mute) return ret; } -static int tas571x_set_bias_level(struct snd_soc_codec *codec, +static int tas571x_set_bias_level(struct snd_soc_component *component, enum snd_soc_bias_level level) { - struct tas571x_private *priv = snd_soc_codec_get_drvdata(codec); + struct tas571x_private *priv = snd_soc_component_get_drvdata(component); int ret; switch (level) { @@ -331,11 +331,11 @@ static int tas571x_set_bias_level(struct snd_soc_codec *codec, case SND_SOC_BIAS_PREPARE: break; case SND_SOC_BIAS_STANDBY: - if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF) { + if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) { if (!IS_ERR(priv->mclk)) { ret = clk_prepare_enable(priv->mclk); if (ret) { - dev_err(codec->dev, + dev_err(component->dev, "Failed to enable master clock: %d\n", ret); return ret; @@ -643,16 +643,15 @@ static int tas571x_set_bias_level(struct snd_soc_codec *codec, { "OUT_D", NULL, "DACR" }, }; -static const struct snd_soc_codec_driver tas571x_codec = { - .set_bias_level = tas571x_set_bias_level, - .idle_bias_off = true, - - .component_driver = { - .dapm_widgets = tas571x_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(tas571x_dapm_widgets), - .dapm_routes = tas571x_dapm_routes, - .num_dapm_routes = ARRAY_SIZE(tas571x_dapm_routes), - }, +static const struct snd_soc_component_driver tas571x_component = { + .set_bias_level = tas571x_set_bias_level, + .dapm_widgets = tas571x_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(tas571x_dapm_widgets), + .dapm_routes = tas571x_dapm_routes, + .num_dapm_routes = ARRAY_SIZE(tas571x_dapm_routes), + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static struct snd_soc_dai_driver tas571x_dai = { @@ -746,9 +745,9 @@ static int tas571x_i2c_probe(struct i2c_client *client, usleep_range(50000, 60000); - memcpy(&priv->codec_driver, &tas571x_codec, sizeof(priv->codec_driver)); - priv->codec_driver.component_driver.controls = priv->chip->controls; - priv->codec_driver.component_driver.num_controls = priv->chip->num_controls; + memcpy(&priv->component_driver, &tas571x_component, sizeof(priv->component_driver)); + priv->component_driver.controls = priv->chip->controls; + priv->component_driver.num_controls = priv->chip->num_controls; if (priv->chip->vol_reg_size == 2) { /* @@ -761,7 +760,8 @@ static int tas571x_i2c_probe(struct i2c_client *client, return ret; } - return snd_soc_register_codec(&client->dev, &priv->codec_driver, + return devm_snd_soc_register_component(&client->dev, + &priv->component_driver, &tas571x_dai, 1); } @@ -769,7 +769,6 @@ static int tas571x_i2c_remove(struct i2c_client *client) { struct tas571x_private *priv = i2c_get_clientdata(client); - snd_soc_unregister_codec(&client->dev); regulator_bulk_disable(priv->chip->num_supply_names, priv->supplies); return 0;