From patchwork Mon Jan 29 04:38:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10189215 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 C609960388 for ; Mon, 29 Jan 2018 05:01:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B53E62621D for ; Mon, 29 Jan 2018 05:01:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A8B1E286AD; Mon, 29 Jan 2018 05:01:28 +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 CFBCC2621D for ; Mon, 29 Jan 2018 05:01:27 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id E8D8F268304; Mon, 29 Jan 2018 05:56:39 +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 952CF268303; Mon, 29 Jan 2018 05:56:38 +0100 (CET) Received: from relmlie1.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by alsa0.perex.cz (Postfix) with ESMTP id 8DE35267A07 for ; Mon, 29 Jan 2018 05:38:43 +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:38:42 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id 126DB768BD; Mon, 29 Jan 2018 13:38:42 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,429,1511794800"; d="scan'208";a="270917456" Received: from mail-sg2apc01lp0243.outbound.protection.outlook.com (HELO APC01-SG2-obe.outbound.protection.outlook.com) ([65.55.88.243]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-GCM-SHA384; 29 Jan 2018 13:38:41 +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=I9hxF1/z1K9mcOHEoEInXlyvKjqh7mxMZHdUBh6W75Y=; b=BnYzziBlRl0NXFiImmSydFzUF9ZvHCKzsx54ItI7uPqpWyxHxglX1dbbAugyDKKH8s7qxlRBfv4ALhGyulnTxCUxXihldamd/1jGmte6QPONXEwO9oKNIccbcIF4FCAaXoC2bHmOcPWfX5BjYE0xcRTUSWMGeN7U8g9d2uSKu4w= 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 SG2PR0601MB1885.apcprd06.prod.outlook.com (2603:1096:3:9::18) 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:38:39 +0000 Message-ID: <87tvv5uvpj.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:38:39 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: OSAPR01CA0009.jpnprd01.prod.outlook.com (2603:1096:603:2a::21) To SG2PR0601MB1885.apcprd06.prod.outlook.com (2603:1096:3:9::18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: a53e1cc9-43d5-4522-6c71-08d566d22b69 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:SG2PR0601MB1885; X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1885; 3:uxtmjRth1QUIrhfbFsEeAqL6HEitHoOZn52VX544Ssl2otWJjRnwNxpm6nSe8YVTPBjbeTuRQDU36+/D7GyDbI3DcmJWvXW7jqIcxXkV1ByEzrbfvgbIN7j6MTaywQ3fPY1ujNUNSj8e/KmTJw9RD1LcjPk8KdR4BzQ9wy+Ho0sNFByuOCJGlyJDbIXmBiLCICeAvbi7QZcVhWHZj3ZSltWDu+aPZacSzkVdexhWQte9N7FEHZtzU9I3SM9GXDB1; 25:rLPDHUpYJTZEIGIrPFuW4PLuObRIlJk67GKklIkQyFMG3RA9N3nwV6i/Mqlq07I2mIuXDtGEGyWY8YJgUIb6dGmaOwh1O3ToGyu+gsBDVq9Sxn5KB3kTvikBioJQHkvnCdzcWnNXV3YitzFzpuWmxSWqQHgbYQtCtsTGMyA2zIpuaujJGm2kjhtQqYvRqj9LaG3y+62UozIW0iY1WZbraLtaE/e2iDcJaIEwscwaPnrprdC1siqHLKc1pvVKWvgtjEhhbRjeXbJBo7brhDWszj5a53SRCgE4NKC2u2/NiccQqWbBeuu/mOd6NQVA5jDp4l7z/16xuFTmgOPqe5E2Og==; 31:vkJWFiQtTEa9i4YqxwMbvJzh0vukF81r6mV695FMErzGEj7WjesGagv6+xrCmdrcXb1Vnj2NoXTtdDKGUDsV+A8f4YlB+IFzhQFFI+nhx+GcSPgAswxF8IKyWkCh6qTdufXtyhxW60Y/wf92YPE57C+8i+u/etKt2cdGDfferbQtSd/UxMooa2TYZsoZMi9RCsolquaDGoMKcxic1+XYOyV18bgdusYZjFYfJ8JpPpM= X-MS-TrafficTypeDiagnostic: SG2PR0601MB1885: X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1885; 20:WJ3IQWooRvYzanlNy+hybU+LpWlvqqWauMXB/nuXACoIUjGrIoCJFcZ+mw+IB+UQHVYzMOy2bsMRnjueQA7XkAYoI10sKtssLDyJEHpPX/h7Kw8cGzfDQ/TlsI26yWTMQxRYNRPpZak+hEhROcVgzL81+dIc1GbLlcOKxMc3wQBcREIuaod2h4Vh7I8KJnG/USd/MYEkqBY+0ChOunpgRAr6tXpeD8cwicKPac28M3h6vyBHjM8W0doZS+A6qsP09c6h/w65ZV5CyDP6BqtxDChnbKMypNpXcKGdnSDkWSbIt1JHs0iZttbRRtdhF1S1wDaxIYpgmU/dyUPOSqB/JA9LB2eh3TC+V5FFvWMUS0QIsFAZS3YMILIj+A1pHP0N/P09CnHmJcwQ8b3PlTfnsb/kvsbRq6TFFDmAN/FgmYqop0DKYshcVuDbojBleUl4cjSVVk4Kl2MxL8y8SLdipE1WP3liqobgXfBgSBsyZ55OEXYcgvFjg24KQtVe1UnS; 4:862CeusvOnHlFXgN3VX/N1SJfFbnOrK/Ppq7CMcP7aZzTvqgZKNj8ENkGwxl7BRmYgXmf7ZBcLCjeKa7Kmf6s4aiKHmwBY5ycDawyEn8+btH4uejSFapnFr87LiUcBIkVtyRW0YJj+GnmiQUGm1ZzAsKNNEeYTvCSzOmFmOT4g/hObNKrG9toc5SVE2r6FL8UZ7m+yq4U68FcAU1KPHVJOh/jk7eFp8Hg1JlJJyDVEb9WPlY1G7FatYXS6vuzFign0enOtpXFAa/VpQXYQa9mj0vFFmE+SWREiCR9zcycPRuYmG6XgJsvcWkt2o/Gisp 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)(20161123558120)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(6072148)(201708071742011); SRVR:SG2PR0601MB1885; BCL:0; PCL:0; RULEID:; SRVR:SG2PR0601MB1885; X-Forefront-PRVS: 0567A15835 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(376002)(396003)(39860400002)(366004)(39380400002)(189003)(199004)(6486002)(86362001)(52116002)(7696005)(6116002)(23726003)(53936002)(7736002)(3846002)(50466002)(69596002)(305945005)(478600001)(53416004)(66066001)(97736004)(8936002)(8676002)(81156014)(81166006)(26005)(5660300001)(2906002)(47776003)(68736007)(25786009)(16526019)(6916009)(386003)(4326008)(186003)(105586002)(59450400001)(36756003)(83506002)(316002)(106356001)(2950100002)(16586007)(76176011)(58126008)(21314002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:SG2PR0601MB1885; 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; SG2PR0601MB1885; 23:8kTLfqGxf+hqQcYlGmBipFmwOb+vXhF4SYtxN4/?= =?us-ascii?Q?vunB5ykwBdySibcNoXj46s+jzn7qmH25JcgVOIIzwQ7B5P3qItUdxwqUAt+y?= =?us-ascii?Q?Oy9fb4M4xtEDizUkO33eRbbs6UWBK1DroNXdXr1FdcpxkNvUJDrssuWzCSGk?= =?us-ascii?Q?Bb4xyIhMJgahS2zdi+jM01C+JA/UfYHsOhsIyjvupyUXjBiV1niLJjeWtdmf?= =?us-ascii?Q?2ksNeHYPrUidqySsv/Hzf0mqnaeI4T2ISf53AihrQoLiC7hToXWEPrRy5mMO?= =?us-ascii?Q?y+jOmMwPkPUv2CgIYdcLoSFtTJh+rNR2IgTUWgHibOqXY6xYe2QzHlyjgahG?= =?us-ascii?Q?Htv4OhHKtFPQbstkLNzEcZQ6bN7xXRn9mS4GZDm8KNFOJis+5Fz8aKkJqiNV?= =?us-ascii?Q?r4bnC7D2KnuchHzShgtIKLPDNv5g3mJTTmCOL1B2ftiSYSe4HyNJVGp8G9Vv?= =?us-ascii?Q?5gecDLK9mkamrzNZsCUEDSl+SypdewmkYr0YGCw2wrF88jIarNYSWyvguYp4?= =?us-ascii?Q?/NjTCGZqN5LCkFk4d5NPpXw6ziUloNgy8LkxwjvOyvywTXNseUAPz+/OJgT6?= =?us-ascii?Q?oEsA8yLOm1YzbGbmhS4QMISIsgir9WrJBSk90XbRqO8M1LpkNsKivjjmJzTk?= =?us-ascii?Q?XhJLM/idH9lZPklasfaE0YttTnDvOMQTEiR+QdNyZTcZttUnLEBtE1+NXLWp?= =?us-ascii?Q?YFI0XjFQ78jIC9jexNcVk6YRjxNTo5a6M2SRai++zgW5h5HN00xhy7W0wcj2?= =?us-ascii?Q?ygZalVs28bobWY88blH0V+9tPeUKfKNjVeDvpfMRruYxAYLBjD2sNxfA3GOa?= =?us-ascii?Q?STWldaep5H2RgOUxH8ijNzCSoy89gcsbUy90piHD4Sc7/3vs93AJ7TVFijIR?= =?us-ascii?Q?kE9q7MAP4PT0FjAPscRPpzq7FCc6yDzEGhBiwk9ldnaClGlp5T6nZ+Sw0R4+?= =?us-ascii?Q?BwwWj4rRV6sTY1yM3BIQh8hE993mGwvNs9MsbDuYyLT6pMZACUMgs8SMAiTd?= =?us-ascii?Q?fU0yUIj5eKTPjrLqnek9clMHvH0HnLxP6GfjyJ4FF2MDcY718SKAMYXOB4Cz?= =?us-ascii?Q?TWctMgz0pPWbXntXaKmvp6Um9/DBRBw2IzPpqqS2oIblf8ymZ9GsZtLfpqj7?= =?us-ascii?Q?DaXHzxhfAWfMHKJB641raOUwbafrZgY+9YE+JOKCRoVNeCqX2NetbOx7vMkp?= =?us-ascii?Q?vSfD6KNibrUggSjU=3D?= X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1885; 6:Uhk9MFKd8JGS/k+xa+1eywpN2zuvWeJCCyi0zTXqwb35ghAcyC/Oj1gLdTNWL/v9rJsEfEYHSF4Mwy5Q+xI4ctQoL9rTouu58rRbWYWGRdu5ypCKXwhrrlpazh6XbYysPfcZsHsjktbez0Ws0Ea07gZT+lZlnQiiRv+ECQDaaLMTQhRW8fwWvIYZBdMIArh115HH2M73hW9a1kTUKmfBdHgPan1u7CTZ+L0DEZWyvQTsG87KAGKqbeeSCWUQDLrTTinz3eXYXsCxdaXpYjmeUVl1IyU60QSpc0zQgS456fC6IvqV881pxXvLaZbPzCy1wu25txIvXLxyRFnxAcMH15iR5Phu0uQ1h1ZoznXpOpg=; 5:xPmmyvyPM23Gp3nE3WCqvcUefV5S1kXnHHmAc10eFTd0pzgt88+HSYM+CXbeMq+d0VwkCVNVxPl+9kL0R6dMqcVXAReRotoFxyqm8V7sY1RqlppjDqLBI9LSzlqc+LhXX7AWnY0JUjyQKelpFjdQ3ZlLmqXuSSp/u9oz++kSlIU=; 24:hRjyCTRZhzU7Vm2mPg/d7R0HiezhRg2dmomPrFxN8zb+a4puKITZI5g/t93sbr2cmKE+sro1o/VJonNDls3e9WcCY4fj29srak6Mw8m/WRA=; 7:yDsXtFtQR44bwBvEoKnP/vEUePaUWegdJ0l0eNxrsCmpzz14Zn6Qqedx03DXE7f/nampJ66+vVTWTRMCDfiJ8s2O2H3fQpMcnr0G4fU8qd//KqO8jqIQeqaytajBG8Er3ob1AU3O2ozZH8zouejKQvTAajZ5/eCOpTKyT6Tda4kuSeZiv+P868sQVlXGl7aNElwJBX9PuCisW+2TVPClE49DYBTGYhkiKLSvCrJsFe4cWke9ILykQhAJKIgqZtet SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1885; 20:GVXneHoUwWpYQ6KPvSuYUC+6yZUu6q9RXNcYqi5d47hSIWmjz3VhpNZClOS4iaNJQFKV5nBNt8QK5fsj1OPe9mJ9Jquzh0SpY9Q/PiRLHiMG37JHNBBb+r25ttcneR2UsFt1oOOTIJYO90bIqx6X1fMxZhX8ama91izBRJ4Gh+g= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2018 04:38:39.6537 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a53e1cc9-43d5-4522-6c71-08d566d22b69 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR0601MB1885 Cc: Linux-ALSA Subject: [alsa-devel] [PATCH v2 166/186] ASoC: sirf-audio: 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/sirf-audio-codec.c | 58 ++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/sound/soc/codecs/sirf-audio-codec.c b/sound/soc/codecs/sirf-audio-codec.c index 7ae8c18..e424499 100644 --- a/sound/soc/codecs/sirf-audio-codec.c +++ b/sound/soc/codecs/sirf-audio-codec.c @@ -120,8 +120,8 @@ static int atlas6_codec_enable_and_reset_event(struct snd_soc_dapm_widget *w, { #define ATLAS6_CODEC_ENABLE_BITS (1 << 29) #define ATLAS6_CODEC_RESET_BITS (1 << 28) - struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); - struct sirf_audio_codec *sirf_audio_codec = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); + struct sirf_audio_codec *sirf_audio_codec = snd_soc_component_get_drvdata(component); switch (event) { case SND_SOC_DAPM_PRE_PMU: enable_and_reset_codec(sirf_audio_codec->regmap, @@ -143,8 +143,8 @@ static int prima2_codec_enable_and_reset_event(struct snd_soc_dapm_widget *w, { #define PRIMA2_CODEC_ENABLE_BITS (1 << 27) #define PRIMA2_CODEC_RESET_BITS (1 << 26) - struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); - struct sirf_audio_codec *sirf_audio_codec = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); + struct sirf_audio_codec *sirf_audio_codec = snd_soc_component_get_drvdata(component); switch (event) { case SND_SOC_DAPM_POST_PMU: enable_and_reset_codec(sirf_audio_codec->regmap, @@ -333,8 +333,8 @@ static int sirf_audio_codec_trigger(struct snd_pcm_substream *substream, int cmd, struct snd_soc_dai *dai) { - struct snd_soc_codec *codec = dai->codec; - struct sirf_audio_codec *sirf_audio_codec = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct sirf_audio_codec *sirf_audio_codec = snd_soc_component_get_drvdata(component); int playback = substream->stream == SNDRV_PCM_STREAM_PLAYBACK; /* @@ -346,7 +346,7 @@ static int sirf_audio_codec_trigger(struct snd_pcm_substream *substream, case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_PAUSE_PUSH: if (playback) { - snd_soc_update_bits(codec, AUDIO_IC_CODEC_CTRL0, + snd_soc_component_update_bits(component, AUDIO_IC_CODEC_CTRL0, IC_HSLEN | IC_HSREN, 0); sirf_audio_codec_tx_disable(sirf_audio_codec); } else @@ -357,7 +357,7 @@ static int sirf_audio_codec_trigger(struct snd_pcm_substream *substream, case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: if (playback) { sirf_audio_codec_tx_enable(sirf_audio_codec); - snd_soc_update_bits(codec, AUDIO_IC_CODEC_CTRL0, + snd_soc_component_update_bits(component, AUDIO_IC_CODEC_CTRL0, IC_HSLEN | IC_HSREN, IC_HSLEN | IC_HSREN); } else sirf_audio_codec_rx_enable(sirf_audio_codec, @@ -393,29 +393,29 @@ static int sirf_audio_codec_trigger(struct snd_pcm_substream *substream, .ops = &sirf_audio_codec_dai_ops, }; -static int sirf_audio_codec_probe(struct snd_soc_codec *codec) +static int sirf_audio_codec_probe(struct snd_soc_component *component) { - struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec); + struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component); - pm_runtime_enable(codec->dev); + pm_runtime_enable(component->dev); - if (of_device_is_compatible(codec->dev->of_node, "sirf,prima2-audio-codec")) { + if (of_device_is_compatible(component->dev->of_node, "sirf,prima2-audio-codec")) { snd_soc_dapm_new_controls(dapm, prima2_output_driver_dapm_widgets, ARRAY_SIZE(prima2_output_driver_dapm_widgets)); snd_soc_dapm_new_controls(dapm, &prima2_codec_clock_dapm_widget, 1); - return snd_soc_add_codec_controls(codec, + return snd_soc_add_component_controls(component, volume_controls_prima2, ARRAY_SIZE(volume_controls_prima2)); } - if (of_device_is_compatible(codec->dev->of_node, "sirf,atlas6-audio-codec")) { + if (of_device_is_compatible(component->dev->of_node, "sirf,atlas6-audio-codec")) { snd_soc_dapm_new_controls(dapm, atlas6_output_driver_dapm_widgets, ARRAY_SIZE(atlas6_output_driver_dapm_widgets)); snd_soc_dapm_new_controls(dapm, &atlas6_codec_clock_dapm_widget, 1); - return snd_soc_add_codec_controls(codec, + return snd_soc_add_component_controls(component, volume_controls_atlas6, ARRAY_SIZE(volume_controls_atlas6)); } @@ -423,22 +423,21 @@ static int sirf_audio_codec_probe(struct snd_soc_codec *codec) return -EINVAL; } -static int sirf_audio_codec_remove(struct snd_soc_codec *codec) +static void sirf_audio_codec_remove(struct snd_soc_component *component) { - pm_runtime_disable(codec->dev); - return 0; + pm_runtime_disable(component->dev); } -static const struct snd_soc_codec_driver soc_codec_device_sirf_audio_codec = { - .probe = sirf_audio_codec_probe, - .remove = sirf_audio_codec_remove, - .component_driver = { - .dapm_widgets = sirf_audio_codec_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(sirf_audio_codec_dapm_widgets), - .dapm_routes = sirf_audio_codec_map, - .num_dapm_routes = ARRAY_SIZE(sirf_audio_codec_map), - }, - .idle_bias_off = true, +static const struct snd_soc_component_driver soc_codec_device_sirf_audio_codec = { + .probe = sirf_audio_codec_probe, + .remove = sirf_audio_codec_remove, + .dapm_widgets = sirf_audio_codec_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(sirf_audio_codec_dapm_widgets), + .dapm_routes = sirf_audio_codec_map, + .num_dapm_routes = ARRAY_SIZE(sirf_audio_codec_map), + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static const struct of_device_id sirf_audio_codec_of_match[] = { @@ -495,7 +494,7 @@ static int sirf_audio_codec_driver_probe(struct platform_device *pdev) return ret; } - ret = snd_soc_register_codec(&(pdev->dev), + ret = devm_snd_soc_register_component(&(pdev->dev), &soc_codec_device_sirf_audio_codec, &sirf_audio_codec_dai, 1); if (ret) { @@ -525,7 +524,6 @@ static int sirf_audio_codec_driver_remove(struct platform_device *pdev) struct sirf_audio_codec *sirf_audio_codec = platform_get_drvdata(pdev); clk_disable_unprepare(sirf_audio_codec->clk); - snd_soc_unregister_codec(&(pdev->dev)); return 0; }