From patchwork Fri Jan 12 01:30:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10159309 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 4368F602D8 for ; Fri, 12 Jan 2018 01:40:13 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 30F6228769 for ; Fri, 12 Jan 2018 01:40:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 224D4287DE; Fri, 12 Jan 2018 01:40:13 +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 DF7C128769 for ; Fri, 12 Jan 2018 01:40:11 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 65F5626807E; Fri, 12 Jan 2018 02:40:00 +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 BA93E26807E; Fri, 12 Jan 2018 02:39:59 +0100 (CET) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id 499E4267D07 for ; Fri, 12 Jan 2018 02:30:38 +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:30:37 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir3.idc.renesas.com (Postfix) with ESMTP id C7FE74D6E7; Fri, 12 Jan 2018 10:30:37 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,346,1511794800"; d="scan'208";a="268008781" Received: from mail-pu1apc01lp0024.outbound.protection.outlook.com (HELO APC01-PU1-obe.outbound.protection.outlook.com) ([65.55.88.24]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-GCM-SHA384; 12 Jan 2018 10:30:36 +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=qu8VmH1p5bMylrwpvuxyHdF1ZMq/jEceAifkrTPd4Yk=; b=ED2mp6Fb1K4D4gKOCa3rdpWV3M+qDauImtz3leDBsnsAajVZAk4VoE9XTGvUSZftBMbCTTZJF1+kGPn6S7QvrdFxG1pghJ2/UZ7/UDkVLJLb9NraUp/hANVqbsYAbDkKdJVGKJ3xhumRn3nR2AaM6g1LMqry5uCwq7kmqFvkxv0= Received: from morimoto-PC.renesas.com (211.11.155.138) by KL1PR0601MB1880.apcprd06.prod.outlook.com (2603:1096:802:8::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Fri, 12 Jan 2018 01:30:34 +0000 Message-ID: <878td3amq0.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:30:34 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: TY1PR01CA0172.jpnprd01.prod.outlook.com (2603:1096:402::24) To KL1PR0601MB1880.apcprd06.prod.outlook.com (2603:1096:802:8::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0b57ca40-450f-4ce8-8f85-08d5595c1441 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020074)(4652020)(5600026)(4604075)(48565401081)(2017052603307)(7153060)(7193020); SRVR:KL1PR0601MB1880; X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1880; 3:n/cAs5gO730E6hqdMGWZfkXNBsOGUwA68SBAWZWMwbFp+rUpe5UuxFrU7X4ERMN/LErlOrJnhPqWAl0WYYOHVwTNVAN8JbXuIkX1Bggv/knb6fVVx59PfcMYW2sEYK82qeJfgQ7GKkURiXjcMxZ5EVjT0NamQdR4CWdpJc/iLd5MC73xtXbd0rSela0+IwTj4peVmHa8AGoIAHkXn2vC4J+blVPJ15O2q16mZVtWzmLzuX2Ei8mwrFBcswnQ8VEQ; 25:n3eiRraQRa8SW8cXg5Hc0CcCZpjZFCwto01C4WhwBEZdOwFQRhWT+LY018tXURPj21QmMBRg0o87QGYQIXUtxwjePWx6f3DQoF2DGPl4g7znPqig75TQ9tba+ye/FaXyA2hvrjjKqmnhlR1/xYKJlZ6n0WM9m/uomezb/K3+l/5b/4tSuHuY2BSsw8/3z5Y/tBdOsgjLooSwQtJdiZOuHcgmFHzL7H2UFcV/DWoJYcW9x6OV7PKg9IvILI9mBEOqLu6Y6LhWeFvmAmdTBCZtD2hsqPeJ7UB6Pkexy//rniLwksE2wbhheirmS7OtDOd2iliua2xS+hPrA6qNM8LeJA==; 31:1Qnow20S+mGUEe5eLb51yFyWiymbzX4/fMVlARqoClndX4FBzo4jRizRiHBQahI69DrtCPbTYAJOT6cxGI0r6JPWNNUiKdr6c+SE0O3NrD9fuFQDljAm4m1ZaJJOkRFQjLAhNnkiiFdLx4O+JFDfi7R9cVgi6d6EL2oAOTat9JmiYbfw78p6h/FTOjqj8/VKKcUUfbuNMAHIm/O6qae1R9jDOaJ+PPxBVWmta/owyRQ= X-MS-TrafficTypeDiagnostic: KL1PR0601MB1880: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1880; 20:E/eQQnu2JwYapEEHBzN7JAgo7DQOdrbR6uNhg/YZFWQVu4ONyE1DbV91ZHVBCAjCFkTB17hEw51ZLen56aqcXaInnEcyAkhGpAsGIHtn29y8m64rZi5im5XW7pznpXhD73Kwl9V9b0Z6w8LybC0IF4/HqiWr/sbruWlB2CLwoyc82DSf+x5Gjewd2XpvMqi2tSFAzrotAYihiBommt9bWAn0KCaOTB7iTja6cTu6j/I1NKyHIq8oTVpgCh5iIJKHUgDytgaRuhxovQERLXszK7vNudT5X8Vt6JuB6Aw2TUH6vRkOmOJ8pBgbbrAFBMLeKzgai/uUo40NoUDSrAJ9Eld1LXGrSzwrXHzzzokY95B8FrEArUFcZjQMnuaO4czt88DvW91Cs53YXWog04Uvc/Y1U7UHr1mZ9hBdApu6cnZ60UnkrpniBXh9kbMZwaaytExWtoBQwoSF0wU//kBlE43FEHvtDqTFT6/758g8arJ/5rEKLXq6j2F3sdQ/+Kbo; 4:rVy3fZCEOOmBQV50mcjOWeS1wbHB8VKZtV0lDW6NyhARgZoSUeCdAkFE6TYk3lTxOUACpRPr7ZRUlEn8bFbcuSk4nt2Tz+Lz0xT/3t/Ml7PVbPMz9WqKY6OUTq6TA8J16mqNoRe8iI9MYOaIKq6dZ0/unnzdw/kzE+uIEy4iijBiIX4x1mYdo+XTlgK5N8pqcvLKTM7gd2/aKf0bgEVc78/KlgeFtauzU/NoLXrmb5eUhVvhkcX5VhaPXEe1NHZiycUDis6WkPrccTuODeR1z4GsqrYpzsjpcwzAi4+G09h2oK1aWFrS2cgXegaandcd 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)(3002001)(10201501046)(3231023)(944501138)(93006095)(93001095)(6055026)(6041268)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(6072148)(201708071742011); SRVR:KL1PR0601MB1880; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:KL1PR0601MB1880; X-Forefront-PRVS: 0550778858 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(376002)(366004)(39860400002)(396003)(39380400002)(199004)(189003)(105586002)(16526018)(97736004)(386003)(58126008)(54906003)(50466002)(16586007)(69596002)(316002)(7696005)(7736002)(86362001)(478600001)(305945005)(83506002)(2906002)(52116002)(68736007)(47776003)(81156014)(36756003)(23726003)(8936002)(5660300001)(106356001)(6116002)(81166006)(3846002)(53416004)(76176011)(66066001)(6486002)(4326008)(25786009)(6916009)(53936002)(2950100002)(8676002)(21314002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:KL1PR0601MB1880; 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; KL1PR0601MB1880; 23:7r/UuWwC8pU9SQLzhLRfel7Na2yIO//ZaqX8nqx?= =?us-ascii?Q?EHtY7wCaLwV4QeAv7TcSDnj454+s99nTHCGIBzE2sz5lXae0XL7RcSqGAXTU?= =?us-ascii?Q?KBTWUiM13ycsqyx+MPcWVAEWc3qvlywOxJ22PTAv7Eh1nFwS9b98QW1CtwJH?= =?us-ascii?Q?3fytWuvhf3L1IVEJVcEB7tLI3HA+AeYBNSbDbH/WEU8ObKq/oKE8gFEQ+1Ab?= =?us-ascii?Q?6e7PL6aWQ7A6rqZvUYIsNlfHgNQ9l4Px6N+vDlFkLtwJs9J05XMwAXH3IRU+?= =?us-ascii?Q?DwDmdMfRvuZmvUj2WuCZ3/bqdPPBaAH/fr6iA+yunHxBhQkOxHWfTJ7AZ4nx?= =?us-ascii?Q?tcpHEnVuuuIHYAzAK/bA0jTZ9IY9vRCD7imWdtea2uaUq14Ru8+HXHZJBN9/?= =?us-ascii?Q?j3U4d82o27Rh39QpxMSZQclzzVJWlnkPnVGyZafAzXpnkr2DcZNQkZW+Zdxk?= =?us-ascii?Q?gKMX7QH9pyXsfgSEqCnqtvA1bg/58L/i+J08epNRyLOMl7O+v2b9D3fbzYHS?= =?us-ascii?Q?E7g2aU0fGVu6mf/xCZ7sCC3q1wYiAWwJhbgqjUaZt3O3QsvbKomj6mroh2Yj?= =?us-ascii?Q?iS0rJl3Z+DbdzmyATIncM0DWdJTTW1VYz+w8HPNXnE8GJSlMm1pf0ihOcb8e?= =?us-ascii?Q?ohUjKIXP1ayeit5inCg/FQQYvnlA+DEIlKm8Nysu1UA9KpPwjKFMa7MkSSFQ?= =?us-ascii?Q?YIgELVNZNlaBI7KwjtaDWPIm/9sR1VKHLTDQgyWroEoqNwMVPP66oGiO7Iol?= =?us-ascii?Q?WgiWHC8xl79xM4dobJDN/0xRzDjvSJ5bkWqOLwDP174Jl8+XUgHTmKobO853?= =?us-ascii?Q?Vb8Y0jyQK4VNnMf76GeW6mUBBlgZXhiwmJ2wsXMeqiiiJukn3OW/gpT64Fc1?= =?us-ascii?Q?2OspmS1VNm+fnvSs+hd8fr3rFAdHm4I+/prMYXCm9S6ACT0xEnbpPd78PeR2?= =?us-ascii?Q?FfI4UbSLJ5YMWaom3EZxGLZ1v1MD/sP7s001GCXYhkYJc655seC3BODyEQEd?= =?us-ascii?Q?fSdyI1tD1B/qpG/kJBjSnRpCDXlKAqQcAch3Jtj5B9+N9tk+NJSQhWkB6gj9?= =?us-ascii?Q?PecaJqERkUoDAwv1Wr2TNFtMGIm8tmdEPZD7jQ4deFy0eAQ1hV5g+yFDRr6Q?= =?us-ascii?Q?8/pLgMv54vHcVc9lghmuu7mRUttyPkE/p?= X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1880; 6:x8ulbMiKGCxGLN94afB3WtjTJKxQ2D8mPafLdZYye77vL1iT+/S06sdlmv1HuTRu12s7eJgLr6BkxvJ+F+i/J6pV+z/kTNkMVF4JTXH1o0rrZ+kM6R7mr6W23TY7MEzfYStO00v1tWTvx3hjofyPsJGT3drPHnOudLv85zNxrktkyMGDixmjxErSVVOt7Xahs5SOvTONE6yCeqC/PVsSL9IG1vwfpHK5i2Cg1f9amdGGPWgXdbjma4zhgP/tHO2RTwaTM4N/6l62bfu5eVagPop+0qW1hLfzMFVYR7uTw1Um2bTcEzsqC7CaEP1PgPEQU7jt07G2YE3M6edfe/dp8VA4YrUzGPaACaes9pbFJBk=; 5:0GcI/qTtTtESLlk1EZF+3+z94BOhuRnps8Nvl8pVow+a1Q+MsQI2f9bIag6lx3qL/ZRXIq94IJcik+IS20q1sajyxdZrbhzBmlzaUP/mYOPOj6ismAiAvFDSKYnxio7Jz2c3VHttzsLakYzP5FqryUbtk+TcbNbKVyh3cjRmkpI=; 24:ruu9kjjMMo/IOjgD69PxW42aLsiKn2Q438jO5fj42TAhEweTClulKryvTxd8pNDa1pG5UQEHPVsIY3xKze0TRIufD9ykZQAcxffn4nSSEdE=; 7:2prR1GhxFLozQ4o/H9M3v8E++nGXEcQYCM0fj1QeI93d+Zk107E1j/4pv+ZxTGlkgJLquuBYFqX64rCUKx4kJrKakklirnXO7SDiDg2uAH3bipaNA3YcmLzIgqIHPwGz8Dev3W8KFarwXWr/cHnWsX3oB/UbIZ7SVAhrZX6rh0988JUG0YaIxEbXAaSFueub2nCXGViPRIXOEh8Oi56bBnUB+gCIa4+8bM4cXRQrctWDbrhN5XYdpFnXCizseNoT SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1880; 20:tdKinIxC/XvKcGE19exGAv7KEF08xeAVvt1enIqvZVLx4aOkm3uq43xk6cImpmBYcxKmL3foqQZD0iJ2thviIA23LuScyYmOXA9THeMp360MgUW14zTvsq4sQARMK3Uqhm5eFsFE+IPQybr6FknseHfciSFjWwY/BTPas1LXO88= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2018 01:30:34.9966 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0b57ca40-450f-4ce8-8f85-08d5595c1441 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR0601MB1880 Cc: Linux-ALSA , Simon Subject: [alsa-devel] [PATCH 078/187] ASoC: cs42xx8: 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 -> .pmdown_time = 1 - -> .endianness = 1 - -> .non_legacy_dai_naming = 1 Signed-off-by: Kuninori Morimoto --- sound/soc/codecs/cs42xx8-i2c.c | 1 - sound/soc/codecs/cs42xx8.c | 57 +++++++++++++++++++++--------------------- 2 files changed, 28 insertions(+), 30 deletions(-) diff --git a/sound/soc/codecs/cs42xx8-i2c.c b/sound/soc/codecs/cs42xx8-i2c.c index 800c1d5..0214e3a 100644 --- a/sound/soc/codecs/cs42xx8-i2c.c +++ b/sound/soc/codecs/cs42xx8-i2c.c @@ -33,7 +33,6 @@ static int cs42xx8_i2c_probe(struct i2c_client *i2c, static int cs42xx8_i2c_remove(struct i2c_client *i2c) { - snd_soc_unregister_codec(&i2c->dev); pm_runtime_disable(&i2c->dev); return 0; diff --git a/sound/soc/codecs/cs42xx8.c b/sound/soc/codecs/cs42xx8.c index c1785bd..d6932d4 100644 --- a/sound/soc/codecs/cs42xx8.c +++ b/sound/soc/codecs/cs42xx8.c @@ -194,8 +194,8 @@ struct cs42xx8_ratios { static int cs42xx8_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 cs42xx8_priv *cs42xx8 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = codec_dai->component; + struct cs42xx8_priv *cs42xx8 = snd_soc_component_get_drvdata(component); cs42xx8->sysclk = freq; @@ -205,8 +205,8 @@ static int cs42xx8_set_dai_sysclk(struct snd_soc_dai *codec_dai, static int cs42xx8_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int format) { - struct snd_soc_codec *codec = codec_dai->codec; - struct cs42xx8_priv *cs42xx8 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = codec_dai->component; + struct cs42xx8_priv *cs42xx8 = snd_soc_component_get_drvdata(component); u32 val; /* Set DAI format */ @@ -224,7 +224,7 @@ static int cs42xx8_set_dai_fmt(struct snd_soc_dai *codec_dai, val = CS42XX8_INTF_DAC_DIF_TDM | CS42XX8_INTF_ADC_DIF_TDM; break; default: - dev_err(codec->dev, "unsupported dai format\n"); + dev_err(component->dev, "unsupported dai format\n"); return -EINVAL; } @@ -241,7 +241,7 @@ static int cs42xx8_set_dai_fmt(struct snd_soc_dai *codec_dai, cs42xx8->slave_mode = false; break; default: - dev_err(codec->dev, "unsupported master/slave mode\n"); + dev_err(component->dev, "unsupported master/slave mode\n"); return -EINVAL; } @@ -252,8 +252,8 @@ static int cs42xx8_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 cs42xx8_priv *cs42xx8 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct cs42xx8_priv *cs42xx8 = snd_soc_component_get_drvdata(component); bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK; u32 ratio = cs42xx8->sysclk / params_rate(params); u32 i, fm, val, mask; @@ -267,7 +267,7 @@ static int cs42xx8_hw_params(struct snd_pcm_substream *substream, } if (i == ARRAY_SIZE(cs42xx8_ratios)) { - dev_err(codec->dev, "unsupported sysclk ratio\n"); + dev_err(component->dev, "unsupported sysclk ratio\n"); return -EINVAL; } @@ -285,8 +285,8 @@ static int cs42xx8_hw_params(struct snd_pcm_substream *substream, static int cs42xx8_digital_mute(struct snd_soc_dai *dai, int mute) { - struct snd_soc_codec *codec = dai->codec; - struct cs42xx8_priv *cs42xx8 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct cs42xx8_priv *cs42xx8 = snd_soc_component_get_drvdata(component); u8 dac_unmute = cs42xx8->tx_channels ? ~((0x1 << cs42xx8->tx_channels) - 1) : 0; @@ -382,14 +382,14 @@ static bool cs42xx8_writeable_register(struct device *dev, unsigned int reg) }; EXPORT_SYMBOL_GPL(cs42xx8_regmap_config); -static int cs42xx8_codec_probe(struct snd_soc_codec *codec) +static int cs42xx8_component_probe(struct snd_soc_component *component) { - struct cs42xx8_priv *cs42xx8 = snd_soc_codec_get_drvdata(codec); - struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec); + struct cs42xx8_priv *cs42xx8 = snd_soc_component_get_drvdata(component); + struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component); switch (cs42xx8->drvdata->num_adcs) { case 3: - snd_soc_add_codec_controls(codec, cs42xx8_adc3_snd_controls, + snd_soc_add_component_controls(component, cs42xx8_adc3_snd_controls, ARRAY_SIZE(cs42xx8_adc3_snd_controls)); snd_soc_dapm_new_controls(dapm, cs42xx8_adc3_dapm_widgets, ARRAY_SIZE(cs42xx8_adc3_dapm_widgets)); @@ -406,18 +406,17 @@ static int cs42xx8_codec_probe(struct snd_soc_codec *codec) return 0; } -static const struct snd_soc_codec_driver cs42xx8_driver = { - .probe = cs42xx8_codec_probe, - .idle_bias_off = true, - - .component_driver = { - .controls = cs42xx8_snd_controls, - .num_controls = ARRAY_SIZE(cs42xx8_snd_controls), - .dapm_widgets = cs42xx8_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(cs42xx8_dapm_widgets), - .dapm_routes = cs42xx8_dapm_routes, - .num_dapm_routes = ARRAY_SIZE(cs42xx8_dapm_routes), - }, +static const struct snd_soc_component_driver cs42xx8_driver = { + .probe = cs42xx8_component_probe, + .controls = cs42xx8_snd_controls, + .num_controls = ARRAY_SIZE(cs42xx8_snd_controls), + .dapm_widgets = cs42xx8_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(cs42xx8_dapm_widgets), + .dapm_routes = cs42xx8_dapm_routes, + .num_dapm_routes = ARRAY_SIZE(cs42xx8_dapm_routes), + .pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; const struct cs42xx8_driver_data cs42448_data = { @@ -520,9 +519,9 @@ int cs42xx8_probe(struct device *dev, struct regmap *regmap) /* Each adc supports stereo input */ cs42xx8_dai.capture.channels_max = cs42xx8->drvdata->num_adcs * 2; - ret = snd_soc_register_codec(dev, &cs42xx8_driver, &cs42xx8_dai, 1); + ret = devm_snd_soc_register_component(dev, &cs42xx8_driver, &cs42xx8_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 err_enable; }