From patchwork Mon Jan 29 04:00:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10189043 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 6CC4960375 for ; Mon, 29 Jan 2018 04:32:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 56E4C28783 for ; Mon, 29 Jan 2018 04:32:36 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4843A28786; Mon, 29 Jan 2018 04:32:36 +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 19B0A28783 for ; Mon, 29 Jan 2018 04:32:35 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 1C7D3267A3C; Mon, 29 Jan 2018 05:25:02 +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 044982677E3; Mon, 29 Jan 2018 05:24:55 +0100 (CET) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id E4A4B2676E4 for ; Mon, 29 Jan 2018 05:00:32 +0100 (CET) Received: from unknown (HELO relmlir4.idc.renesas.com) ([10.200.68.154]) by relmlie3.idc.renesas.com with ESMTP; 29 Jan 2018 13:00:31 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir4.idc.renesas.com (Postfix) with ESMTP id 6EF3A5D3D9; Mon, 29 Jan 2018 13:00:31 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,429,1511794800"; d="scan'208";a="269593280" Received: from mail-sg2apc01lp0242.outbound.protection.outlook.com (HELO APC01-SG2-obe.outbound.protection.outlook.com) ([65.55.88.242]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 29 Jan 2018 13:00:30 +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=s4NhqiyPSfyjYcfRH2y+YmWEIeZf7DPoHqa+RKJ15zw=; b=Gjew2fiEr3G9qPQGq7xLYEfSjH/ECDvM6jkEPwBjSJ42oj6Ff0BjdKJyxFjLXm8g5ESbEDAgBofrs8e1Vo40Iz8cKu/+DKU/etPJH+qx7cbvjemQUy3mL3vpIkwgl4/wMqD4PSdVrMSeaOhF8gIgKrGeulYQ6knP8UO1V8XOafw= 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:00:28 +0000 Message-ID: <87372p1fju.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:00:28 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: TY1PR01CA0151.jpnprd01.prod.outlook.com (2603:1096:402:1::27) 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: 369bd2aa-203a-42af-09c1-08d566ccd58c 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:vD9qd3ATYdn8CI3mTxghMYmOdxgtbuMqQix6KaM1d4qQlD9hL+h2kxt3hrJ4IL9rruXKnxJoOMd48bIVYCbkpRYWxQbGgLGodmqAijbshAEwQnzZpWjHLEv+hChSBWwZo57MPKcvFhtUjpnwhqVjT9fdkGDU63e3/xYZ+O3x40LkPVdpCt0iRxmkmB6XG9v8ZLXtW0Zji3M3JDRCCwutexbf6UEREykVSbdJwv1mq7Ag5qFoMIyv8iM292JgbgjR; 25:zzXcPkvfH6hqfb4QPkjwf03TxcG4CHi52S/Q5ufTzbyZi/4i2QFJeAA2kQrh8tDb2NBAIeUI+oVPSoYfR50jJiZVY8QQjcf8PsoyQmL+raHDUHsiClDF/AZ9rP9LRkS51OPHGgOyUJUqV4ywc3C4ahWieP9CUyRV4GIUPE1yv/5LlZd3oWFMBFpVcDWJoXuTywmSQejxMCB9GL2j+4bIq+J6qTWvqdXXydMC9dqQg5T/E3lYObEu/Rjf00Aw4lrmddbwNoG6wnM/tW9x7QZmQnWOPOTjTg7HZjjRH81mqJuAJ8ZDk4aBTGS5x9tyUUmk3ESbxeVBNBGAIJGHQXd2aw==; 31:Zz21NIrhPTgyxCsWmkWsS5LqNmAWGTEvSzfhvOBNtAlOmctLO99H7X/6+Pe6hJqqYZqjqtOywYVIEe4iNjTO9nDfcVZWWgDhGRXZ4ti/Pgku5av4bfISVukhJrKlaQZpefk0VGz1PC+vp3nMfLCrScY3ahJnwsqHuJVxmaCPqy3Ow7U7w7zC54PIuKG4JpKodMbhhbBIubr/n1CnocsN0qiLT0tDrB63F9QhUux3wyo= X-MS-TrafficTypeDiagnostic: PS1PR0601MB1884: X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1884; 20:jJT4R3zwBNk5Xhu0E9SXQRuYENFARz2OMSsEq++gtRPIuGfIBOZHr+krsnE3tN/ExlfUwAVHWQIqKYeMANeJbkfHXDt1+4jREiYhtCvJeC1JYoCGF7m+wXz6aaF10XQJympxxlCFsBzOxGbYmiML9+DZIezQlNV11H4Uf4ArH8VCCxhv6L0utH+DL0ySqcjp+2tZUrHmCEYvbsKGeIegrV3Hmf1o0G/GNRXJ1qbWL1uWFwQD2g+chR9B/X+F967WouTeHrVzkl3mWxPEmlKey/1ypHQwp6nSuDXqcR1A+cisxbx+WFIUa75+VjVdvuJ8T22t7CnGxm4JuWhQAbkLmpVY8IW1K78Q2Pgrdgq31HA0ECd1v5yRJvT/5SpNDi7rEmihsQ0S4i+N/lSNceHH0EUK3ksZAd7xsMwkSTDn9AJ0mCZKpdRGhkqdSi5I19kPG2Gl3rJsTx36Cof2ApCnLMemPsJpu3A1UIqz68sBrSQEY180YLsHdRImHFItcigd; 4:7zdAYqxh9U03ywdLS1CKka1To7BNVZvr4DKnRwol6DSy7XL5euwEcQA2egY0fLTCTxBo184Vp7f/V/6iK+erwqZiXsez6n7k/34qfrar+F7n6fAGOGo39ee8tPumnfijrI8uDQ4sYkWSxWm6mPqgEG0fMDyew/ClM5iK5+U6YxEvqYD02CFpN8631uPsejLtC65lxzUxvs2Viw/sfsH1YPupU6cyAxN+600jECOUtxqZu3r/eV/CMdDxRcQXRDChEXkxvpc7a9USna+OOWzKeWrCM6N7XovU56qtvBtdAVMLJrnVqfAtzOpN+yijs3u1 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)(39860400002)(346002)(396003)(366004)(376002)(39380400002)(189003)(199004)(8936002)(81166006)(106356001)(386003)(59450400001)(50466002)(25786009)(6916009)(4326008)(47776003)(8676002)(2950100002)(16586007)(58126008)(81156014)(305945005)(478600001)(105586002)(316002)(66066001)(69596002)(23726003)(3846002)(83506002)(6116002)(36756003)(53416004)(52116002)(68736007)(7696005)(26005)(53936002)(7736002)(97736004)(16526019)(86362001)(2906002)(76176011)(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:0bIFuEOoIUSUJRA29Y6irb/NF9DybBER1izpmNa?= =?us-ascii?Q?om8WlZs1/DuKEs4QnMpImkXR+50mVD0SVtf+NTi67tQvDwFu+QTx/EnF7nK1?= =?us-ascii?Q?xLUvMpPzk7MNUuvXqjdvKcwajWtfZumBq7khc8AGuhQ2IYp57WQH9XP1rFL4?= =?us-ascii?Q?N/Rma2Ns1cLLed5pH6aniw9Q+Jey+JQEMOlimY/Rqm1MssG0P5EKfUOP3VLn?= =?us-ascii?Q?AnKujn9ystXk/cd/FBSpyXZAL132EVDV/zJsDG9Q71bj7bIl/YX64VbyVLda?= =?us-ascii?Q?h7T4ldvA2tU9UrD/0my+e6g7Q3qUOhVVvHweRL/nDrSO9xWpnV9hWdqXcPN4?= =?us-ascii?Q?bzDCahTg6xZswjqRVUOJLJgYA2JEadkd2wTkbf8Fq1JN2VVzX1Yh6V/W8oyU?= =?us-ascii?Q?4oqXOZrREwuLEjFD44wZHuY6Iu2kUa4PvEy7JRS0hVMk2PO95S9BLz1xpBUN?= =?us-ascii?Q?fC9vrX37xx4rY+wmXVNe7ek13SdioelbvVvbwlIXgtTdZCHRY+IZhmiUDlJl?= =?us-ascii?Q?gF+lhCrB1iXKurRldO4lF7Dd0lHu+tfammTrtW0zu4lMCjXcU+01AD9LyPrl?= =?us-ascii?Q?oYlqFVxS8SdFJIzdJJP/PyAW5STyXOATYmDilKQNWqsQ1KyRROB+C9+qhXlP?= =?us-ascii?Q?oehbKe9HRGXsimaYZIt3lOIpAlljk1yVVwRX8AJUcGlc3UBxJbvoYmK5/O24?= =?us-ascii?Q?3hvAQ2sEOlfEBwAuR1ADuSPmnM5HxcPDUKAIk0nB5+RwyK3jmdY/6vUcV0O5?= =?us-ascii?Q?FHh3Pa7/CIjDl32bdIXH98RxFn2FDNhF27ld1Hm+3xBE3jg38dlDLyRXbSdq?= =?us-ascii?Q?99UJ5Ru0WRgDKWcO5dcAWYWQ+HxP6BBbGW/v5GrhAqWKdR7Qh26HBCVvDpTr?= =?us-ascii?Q?7gEfUcxLCyHszMhFkz3hSL7OT3XUFwJf54yNd6nyP4jGVJLEb29EQ87uqqOL?= =?us-ascii?Q?Ygh7S4DD0Qv92xSpe8LO+ZA4D3QFniiHmzkw5f2tNy/SuloWkLhzRBh2FotL?= =?us-ascii?Q?41ZHGJMNzMXPa+dVcXJkW4S+sHDHPTweUf/3CLex+2MBe5urdKNnGo1W5FGN?= =?us-ascii?Q?K4zvxtJQj14uLyPAQ4Js2qUaZhCkBPFWvELVwMleYPQQC2+HpDor2IlK66pI?= =?us-ascii?Q?5paR8dFlZJF68c37JpuCFWP6CZXYPajzxqcbwXmLx01r5VjSwwXiQieRrycE?= =?us-ascii?Q?K4tCkM2osCUzPynw=3D?= X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1884; 6:gkhL6qT1aQRfUuRfAMnzdczZeN4TosqZqAh8CgDp98eaCGXfBTt36T9X+QFoYD22ylNFSFfJ+wXkJ5ZvfhdUo0cAuvVS+Y6LhGpK1jBSdGQoqgxZw0B5zI3qDte9uW6Fvvb6lBBGlCJRhJcwH4D70jACGyKFjrOuF1R7HAPJGWz+Cpl5hjYF5nEsiu/1fOTAtqdUa4S/VwFpTJr0tnv1QMwFDZpHjIOQX9l/DI5NM9A/mmOc44QtSBZkyCcBgkjUSjLsDyapZ7hDjF/5SaK3GEU9zJfc2z5+ZU6QuBKkUzYO08e9PgKOuzTeqleJHIp4Xmn1vLxHRA8tQUaVF5sULRj1k7rp4Ajqmn53fNK1rwE=; 5:Vi11CGTINJPPamlBcRzhb1NpfkgcaesOgt+GXrEsWtbqD0Q3Te7dYDvC7jy2HD0gIWIHzlVMFYgi8xICHPfOgXgmYeNABvKuSVvDWWIY2IM03WrS178nJfO684E6AKnOL+e30MPPMQ3bTEXrIZ0Da6CCwHpwKydfbKgcLV8ZzpA=; 24:LPL+yboYt69ECBU/CaDxHCAM3fZEooPmOv/5GNGhloR/Tg/PGrWc3Wy8s9mtFbn8RmH02lP8sedX4l2Xax7uLBuaFPWkbrfwqzu6yXXvHY4=; 7:Pf+88AVXDGMjvnvsyp/n/O1UvYNvIKod2Qgrw7Och9vQ/siq/11XAKtg036eMGixG/NcCl3X1a8zHrh/NPv0VAPRZk90KIv7wnKb7DqqpEjL4JiCB2tXi/r9opuvHHfPBk3Rva86REhbbMKZ4VUWWHiR6hbuu3LzWrFs+NdfvLd4NZlp1a5B4peP59gBegHXL4/Lv28XyAMEJOJWgA86ozjvdlEm+cNSYGa1NTD9igJblwV8r7s0Y2a3h9d5+dcw SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1884; 20:2/GdNdfD7lpFYfZ5os5RPl4U/PywjY0N0bKESdL81yXMCADbAOQgAtuTTWQhe+vfxCEW3nZymSlMf1R3uUbQLDlzMpp5mw16sFEp8QlhDKXE3Nkw8DhO3Sl4AbbhZIuXW+wHFKWMqiA1GoNW6an+ShDaUPb+IY858K/P4zqpHUs= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2018 04:00:28.2535 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 369bd2aa-203a-42af-09c1-08d566ccd58c 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 085/186] ASoC: cs53l30: 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/cs53l30.c | 57 ++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/sound/soc/codecs/cs53l30.c b/sound/soc/codecs/cs53l30.c index c7edf2d..8995ea4 100644 --- a/sound/soc/codecs/cs53l30.c +++ b/sound/soc/codecs/cs53l30.c @@ -549,7 +549,7 @@ static int cs53l30_get_mclk_coeff(int mclk_rate, int srate) static int cs53l30_set_sysclk(struct snd_soc_dai *dai, int clk_id, unsigned int freq, int dir) { - struct cs53l30_private *priv = snd_soc_codec_get_drvdata(dai->codec); + struct cs53l30_private *priv = snd_soc_component_get_drvdata(dai->component); int mclkx_coeff; u32 mclk_rate; @@ -572,7 +572,7 @@ static int cs53l30_set_sysclk(struct snd_soc_dai *dai, static int cs53l30_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) { - struct cs53l30_private *priv = snd_soc_codec_get_drvdata(dai->codec); + struct cs53l30_private *priv = snd_soc_component_get_drvdata(dai->component); u8 aspcfg = 0, aspctl1 = 0; switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { @@ -626,7 +626,7 @@ static int cs53l30_pcm_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) { - struct cs53l30_private *priv = snd_soc_codec_get_drvdata(dai->codec); + struct cs53l30_private *priv = snd_soc_component_get_drvdata(dai->component); int srate = params_rate(params); int mclk_coeff; @@ -650,11 +650,11 @@ static int cs53l30_pcm_hw_params(struct snd_pcm_substream *substream, return 0; } -static int cs53l30_set_bias_level(struct snd_soc_codec *codec, +static int cs53l30_set_bias_level(struct snd_soc_component *component, enum snd_soc_bias_level level) { - struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec); - struct cs53l30_private *priv = snd_soc_codec_get_drvdata(codec); + struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component); + struct cs53l30_private *priv = snd_soc_component_get_drvdata(component); unsigned int reg; int i, inter_max_check, ret; @@ -670,7 +670,7 @@ static int cs53l30_set_bias_level(struct snd_soc_codec *codec, if (dapm->bias_level == SND_SOC_BIAS_OFF) { ret = clk_prepare_enable(priv->mclk); if (ret) { - dev_err(codec->dev, + dev_err(component->dev, "failed to enable MCLK: %d\n", ret); return ret; } @@ -736,7 +736,7 @@ static int cs53l30_set_bias_level(struct snd_soc_codec *codec, static int cs53l30_set_tristate(struct snd_soc_dai *dai, int tristate) { - struct cs53l30_private *priv = snd_soc_codec_get_drvdata(dai->codec); + struct cs53l30_private *priv = snd_soc_component_get_drvdata(dai->component); u8 val = tristate ? CS53L30_ASP_3ST : 0; return regmap_update_bits(priv->regmap, CS53L30_ASP_CTL1, @@ -770,7 +770,7 @@ static int cs53l30_set_dai_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width) { - struct cs53l30_private *priv = snd_soc_codec_get_drvdata(dai->codec); + struct cs53l30_private *priv = snd_soc_component_get_drvdata(dai->component); unsigned int loc[CS53L30_TDM_SLOT_MAX] = {48, 48, 48, 48}; unsigned int slot_next, slot_step; u64 tx_enable = 0; @@ -840,7 +840,7 @@ static int cs53l30_set_dai_tdm_slot(struct snd_soc_dai *dai, static int cs53l30_mute_stream(struct snd_soc_dai *dai, int mute, int stream) { - struct cs53l30_private *priv = snd_soc_codec_get_drvdata(dai->codec); + struct cs53l30_private *priv = snd_soc_component_get_drvdata(dai->component); gpiod_set_value_cansleep(priv->mute_gpio, mute); @@ -876,10 +876,10 @@ static int cs53l30_mute_stream(struct snd_soc_dai *dai, int mute, int stream) .symmetric_rates = 1, }; -static int cs53l30_codec_probe(struct snd_soc_codec *codec) +static int cs53l30_component_probe(struct snd_soc_component *component) { - struct cs53l30_private *priv = snd_soc_codec_get_drvdata(codec); - struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec); + struct cs53l30_private *priv = snd_soc_component_get_drvdata(component); + struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component); if (priv->use_sdout2) snd_soc_dapm_add_routes(dapm, cs53l30_dapm_routes_sdout2, @@ -891,19 +891,18 @@ static int cs53l30_codec_probe(struct snd_soc_codec *codec) return 0; } -static const struct snd_soc_codec_driver cs53l30_driver = { - .probe = cs53l30_codec_probe, - .set_bias_level = cs53l30_set_bias_level, - .idle_bias_off = true, - - .component_driver = { - .controls = cs53l30_snd_controls, - .num_controls = ARRAY_SIZE(cs53l30_snd_controls), - .dapm_widgets = cs53l30_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(cs53l30_dapm_widgets), - .dapm_routes = cs53l30_dapm_routes, - .num_dapm_routes = ARRAY_SIZE(cs53l30_dapm_routes), - }, +static const struct snd_soc_component_driver cs53l30_driver = { + .probe = cs53l30_component_probe, + .set_bias_level = cs53l30_set_bias_level, + .controls = cs53l30_snd_controls, + .num_controls = ARRAY_SIZE(cs53l30_snd_controls), + .dapm_widgets = cs53l30_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(cs53l30_dapm_widgets), + .dapm_routes = cs53l30_dapm_routes, + .num_dapm_routes = ARRAY_SIZE(cs53l30_dapm_routes), + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static struct regmap_config cs53l30_regmap = { @@ -1033,9 +1032,9 @@ static int cs53l30_i2c_probe(struct i2c_client *client, dev_info(dev, "Cirrus Logic CS53L30, Revision: %02X\n", reg & 0xFF); - ret = snd_soc_register_codec(dev, &cs53l30_driver, &cs53l30_dai, 1); + ret = devm_snd_soc_register_component(dev, &cs53l30_driver, &cs53l30_dai, 1); if (ret) { - dev_err(dev, "failed to register codec: %d\n", ret); + dev_err(dev, "failed to register component: %d\n", ret); goto error; } @@ -1051,8 +1050,6 @@ static int cs53l30_i2c_remove(struct i2c_client *client) { struct cs53l30_private *cs53l30 = i2c_get_clientdata(client); - snd_soc_unregister_codec(&client->dev); - /* Hold down reset */ gpiod_set_value_cansleep(cs53l30->reset_gpio, 0);