From patchwork Fri Jan 12 01:49:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10159467 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 677396029B for ; Fri, 12 Jan 2018 02:46:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5098F288FE for ; Fri, 12 Jan 2018 02:46:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4581728917; Fri, 12 Jan 2018 02:46:00 +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 2F776288FE for ; Fri, 12 Jan 2018 02:45:59 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 6BBAE268379; Fri, 12 Jan 2018 03:37:45 +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 E340026836B; Fri, 12 Jan 2018 03:37:43 +0100 (CET) Received: from relmlie1.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by alsa0.perex.cz (Postfix) with ESMTP id 90129267D0C for ; Fri, 12 Jan 2018 02:49:47 +0100 (CET) Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie1.idc.renesas.com with ESMTP; 12 Jan 2018 10:49:45 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id C07F26F560; Fri, 12 Jan 2018 10:49:45 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,346,1511794800"; d="scan'208";a="268011494" Received: from mail-pu1apc01lp0017.outbound.protection.outlook.com (HELO APC01-PU1-obe.outbound.protection.outlook.com) ([65.55.88.17]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-GCM-SHA384; 12 Jan 2018 10:49:44 +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=pbUbTdHy1e68oZuGDD0X/ObZrfdM2FlWN3SMFgUNOeI=; b=pLtyJmPdwEgztJs6qkoJTZSAK9DDoUweVEQbin9azxMyzwBQLd52tMhPoLMKG3/r7HVFvsk0kM/G16qKebU9ArW1jh6dGPT1yyYxdq5dmnUFoxeNSJWQDkaCxVDumrKggE/yGqYvkPFV7x5bBoOCniVeXffW0ecxp/Tj2oIrAiA= 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 SG2PR0601MB1887.apcprd06.prod.outlook.com (2603:1096:3:9::20) 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:49:42 +0000 Message-ID: <87k1wn6e4v.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:49:42 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: OS2PR01CA0072.jpnprd01.prod.outlook.com (2603:1096:600:2::32) To SG2PR0601MB1887.apcprd06.prod.outlook.com (2603:1096:3:9::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 745f1d49-02e6-4f2b-0ccc-08d5595ec005 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020074)(4652020)(5600026)(4604075)(48565401081)(2017052603307)(7153060)(7193020); SRVR:SG2PR0601MB1887; X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1887; 3:GTLpvzpzW7DSiLhwQagEKntfkKrsjQ2IqK7I0EfXiMNBvObaJO6zH2sVUxkiIbtyjroCcodsSzx7E6fzBiZgaA9QUdCNVLdiRiIahZN0SMki1i0H2FopuM2AHlPdW2cSRZaNohhwq3nY8lJbHb/ec3i9mMxZ93SjK+vC3ocBAwej2enJa/PwVSBvZPWVKoo5KkeniUNLQHR9HuDI8Ali8Xb2qv1kU763mDaRI/YmXegtaa3iadf3oBUAXAnyNaE0; 25:YFuBcFEQcWafSBjpyJL49mVl/MkFDM738kiX7l5RxGl8NvHtFxyzvGtjNzOEvGwRXVKSkPlUF/euEUs89dPG6xgtrywh4YCKrIaeAVlTIP4fZCqEgOLmWKzKe34kPxAEgaK4XiDko3SogHk9cd1nQ+pSvSZal8UY9k6fd7q664EhMeKOkeTkSQa/vN/+S9bU213G0kit0QWPlRiS+/TGg3WyRCPTqcqiOpUuKvVUfhskEVttZITj3HRKyUtxTqhKVdpiIxeNLy1rbpoXWwJp9osCibKRLshSqGsJTNWUawRNrYuCw7v8hZyJFFVsjpYQT9R91VhZUgS8XdaL3uqhLA==; 31:fHnEmutFoFaDWmKJgCzu1rtadIkq/KMik6szsBJbdFVZurUsbn66YEtg66xPhrT8GdqRertFnI4OzW4qSyD2lV7+FmAhsMOCqulHJZAgu16za26FN4TLk/PXsxdfyY5Fq87aen5cBROJrDUJcaWX1/70RU1/8wXym9WDbz09MqZsFUIYwnXuNByV7Q7kgZ47/cP50CI8qXb6YO3D/KxMl3UXT66uM3oB+8bOp7lVaTc= X-MS-TrafficTypeDiagnostic: SG2PR0601MB1887: X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1887; 20:BqJGwJf4dackOVcKoTqAzAxe42ejpFb7+3IOrb0At/E/Y5aMwaV0rMq8QK0b//OkLKsKF9w4rayR111NqBlklzUdUjNHhU5vv8prgqK9Gky3qXyDHgcs8S1w+aIFI+pVK9Hn6uMt2gcjQ5RVmOufr+WbWX0rL0zXa8lHOiQR89sougtpxoliuDpWCYyVd06ZteviaTNaQj3pzfrAgHuV73pX+Vx1NGxlJOlvFfJLCkH5DRT6l52/qDNFbj2oQay2LtVLWg4tKidBiHCyUgO6MaGTEuMrnZQt0M6MLMNkkXoXvZ0K+TSzzxYK3lU9bojX4HGlnrkaQeoEvli64Vg/SU5ThhhxmuWrGz2gNTVb74enZR/6ioYbXOz1+h611/Sw4AXsG9Px0frKWmI/4SCP7Xp0QJ8OO37o78hdbF6uKyBrcJ/4qsoddzR649TLGBeH3ItceB0yLUnjBL18ZPv2N1VzbxVYuxG2gWUnTnD370yFxdkvvi5LD5A5pJqE0+4l; 4:tW0dRIQRZ/3Ozw7JrJUrm5SnuYM4SmHay7Ak8/SW+g4kR5+3ZuMJmSw7yW1k+XBnWmDd367Lr70pt1sZQYcrWNUkOmlD3JJrOBrXLNVp6rJDbuJLfuAIOIwkxLyPkyrjJXcaTHw7FmSLtrJqPJAm24hP1T1E8tNyaZhaFhKJHFCtVZX+MuQRwVg+PIFHgPzo66Q4jSHDZqCGcWCoptVwLojyhWPBKDigrbP44Z731CYQ2sEPl8FzHKCqmT6/q9WuaYjWB18XA2wQEBz/SudQF1uyNa8Z8bhXsd64sujjAGdfEqg0hRrJ8cCH3X19ROg7 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(3002001)(3231023)(944501138)(93006095)(93001095)(10201501046)(6055026)(6041268)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:SG2PR0601MB1887; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:SG2PR0601MB1887; X-Forefront-PRVS: 0550778858 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(346002)(366004)(376002)(39380400002)(189003)(199004)(52116002)(6916009)(8936002)(50466002)(53416004)(4326008)(105586002)(7696005)(36756003)(23726003)(7736002)(76176011)(106356001)(2906002)(69596002)(83506002)(6116002)(2950100002)(81166006)(25786009)(16586007)(68736007)(5660300001)(305945005)(16526018)(47776003)(8676002)(3846002)(86362001)(386003)(54906003)(81156014)(316002)(66066001)(6486002)(53936002)(58126008)(478600001)(59450400001)(97736004)(21314002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:SG2PR0601MB1887; 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; SG2PR0601MB1887; 23:HKULJnINoLesrd8zS89sYgy8F3SHAesOQv6ubab?= =?us-ascii?Q?jLToB8PgWgUipB/7fYErKLVfxe36Wf6Eph/o9D6ViJYgTpH+dmKAzzgIwmXH?= =?us-ascii?Q?Ca2EcblzAKpEv9Ro/9Nml+HNbtpayIUctaCzhDFUR3CBWVixIvClQ8sq3Okz?= =?us-ascii?Q?6hR3fowkCHvH3VOg0pKueCYvPtzzSUFZ22ZtQZItNLdMT3FvbDWciTuulQ49?= =?us-ascii?Q?tWULz9mzA/gUSK7qtln73JK/VOHnKnnTRZ74FpW2BOs4fRYwtdAg3PF/22l7?= =?us-ascii?Q?tC/jT10vy4wOk8AAGG7dwFy06InwWB6RdWN+/GpjxNzAFxkSckbP+4flxnCi?= =?us-ascii?Q?iaYs58LansN8Bt2t2iYlX7a9VSs0gWy9jhR9lqaKOz1/ewPLWnqaq1xWh6Hz?= =?us-ascii?Q?HXZVxg8aSb1m5vAurZvFZEE/GW0Yzi92TvwS8VydnLuNBfaJvzV1PCEg3/lg?= =?us-ascii?Q?vpS3oKA+34vCzb/MynAI/QGyUVFhuLggA5O0uGaPxwQE8gRGLGEHSNDXuRHA?= =?us-ascii?Q?q8ox1bYG1ztgolWbJiAyatDOnkQnmdcTkZtOqP8epYO0nLBoiPECDu1reMpg?= =?us-ascii?Q?pYo59Z5XNcVE3rgO0S7mGezNVd/eTXmgHc9t065BVkK/moS/pBBWSunoX8Vv?= =?us-ascii?Q?Mt8+sy/UBN6o4IxZvM4Adt7CKE+mL4aaT83AD9aJypxXU5P7rgEtWashubMf?= =?us-ascii?Q?BhGcLmPefrvEJVbXgK0Iukuvi0PWrDx/KpYmv9yI9jqTiJkEj7JF0w9LCURk?= =?us-ascii?Q?r/kJoj6BxDL8kqWbGqsQcUq2uG+ZT48eWAc3vmFM82vYew+uwUsX56WUKf9S?= =?us-ascii?Q?/LCHIbz+TGeJTabNG2dJkm8ZuaTNQtXIee8EgSqVT41MahlLH2KwIAnkqE85?= =?us-ascii?Q?Rq/WEAs2xn7v2+6DLjruovPPGz0U65T8ZIhZCAIgIqHQp0vhcdAiv4qu9ppA?= =?us-ascii?Q?QZKc5KxIROp5D392tM9FyMm37eGgzGXSQyoCu0sWxBJKM+zXaqkTXyZdztuf?= =?us-ascii?Q?Dpxxcf3fjgA4XYpGklSkz4cbNjdhSNnl0H91Z4my6FK/9uo3DUTnXoqtWYGt?= =?us-ascii?Q?Gg0OdW0+dj0Fp8noV9JIX0ZH468ji6JqpUidOgHK0YDy85hDbLpjsFoHt8bb?= =?us-ascii?Q?e/sA2zKTbln4uZeQ7yyxRX5eZRLbOdLYTBN9/vcGlWCXfxW9h2Y4QBA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1887; 6:9v5vU4gkZ3jCamcgf8t9dMiJ0Xq130bJ2n69Eq/YaigheIH8SbO4lavQAXyEDS2cUKgzDAtNfeamqU0gWd/rsMlpj1b8HHrtvmXFYaOyg77Lmsyq9ddtIFF68AxRvC/YMsxnCRl/Blpfkp1/KiV/DtEng9ImbmIKjJtFvlxMKOqh81c65eDIDasxaN5amaPt6wbiYMC1HMK4sWiCFvftOJu3j5KPQW93rbyo+dwP2gqzSf4/thkZ7beiJuJjqSjOfeonAEND94C2J2OVGevRlsd3xfkfJIPBpyYR7riGiAkUxItHE59p+sOp6E9mxI+u5U8KvyzZqp9s5ccfJTplPdfzGWnuGJqqQc66Sdjt6dA=; 5:SU6260VgPtrH5d19wM9pn5IogtLbBFBPJqiuzmoZ8+K1O8dxbc1/74vM70xmls6EyC6zjfPvdLs4OJsQAylSM8CJ1L9KRwRj4+EmfWtlkOOMz0NFf9fOqdWluEOoP1RoBxDOYeur4tyZ2axtf4VDCd7Ln7kAF84ngw97X68Ilhk=; 24:zdWHC4n9YigqZNlZTV2SNfnYdwutBqY1qCM2FNVDFO5BDmJyoDBD7mYOQaOmGt5+DA5l0SGOyOvUm1U8Bb60KgF2EPGEtF0MxzpaSHeD6vU=; 7:e+zUGhLVrRAAz2avvnIwn/q/EwjpoYp4cf6z8IJvGcMvMGxj3oTV1bCwQb+SHvwzD/6ynfP3V9pZAA0sTJQm7eyCaXVl2fuc6eY6P4IG8/xVyL4D9X6uzjXdvXHN8vQfANymjiHL7O0Z4VnKkhGBIFnAXY7WL/wXDnBIH/NtXT2Ax5oeFOtQy+BG71p2aXgDWcOc6/uO2JWOdk7aqj9eMqw+UFjpLOc2yXGYKAdI9uMl6rz4632L5d6cwMmgI5TS SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1887; 20:sR3tv2xjJX0TBwXNw4QDJrwpgeN7LMOnBKq2YBr4mt54Nloz+dRfg8Mv7Y4oXPQuYFBcopVitVOQnd/Ept8kattLo/NOHccK1jAFh2DTPNJ1dgaxl8h/o4nipQqjxRBqqDyuwvDt34oIpclg25LJRDA4WEd/L8NEhpE6JEWIknY= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2018 01:49:42.0835 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 745f1d49-02e6-4f2b-0ccc-08d5595ec005 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR0601MB1887 Cc: Linux-ALSA , Simon Subject: [alsa-devel] [PATCH 144/187] ASoC: sta529: 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 -> .pmdown_time = 1 - -> .endianness = 1 - -> .non_legacy_dai_naming = 1 Signed-off-by: Kuninori Morimoto --- sound/soc/codecs/sta529.c | 69 +++++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 38 deletions(-) diff --git a/sound/soc/codecs/sta529.c b/sound/soc/codecs/sta529.c index 6607343..b6182a0 100644 --- a/sound/soc/codecs/sta529.c +++ b/sound/soc/codecs/sta529.c @@ -151,28 +151,28 @@ static bool sta529_readable(struct device *dev, unsigned int reg) SOC_ENUM("PWM Select", pwm_src), }; -static int sta529_set_bias_level(struct snd_soc_codec *codec, enum +static int sta529_set_bias_level(struct snd_soc_component *component, enum snd_soc_bias_level level) { - struct sta529 *sta529 = snd_soc_codec_get_drvdata(codec); + struct sta529 *sta529 = snd_soc_component_get_drvdata(component); switch (level) { case SND_SOC_BIAS_ON: case SND_SOC_BIAS_PREPARE: - snd_soc_update_bits(codec, STA529_FFXCFG0, POWER_CNTLMSAK, + snd_soc_component_update_bits(component, STA529_FFXCFG0, POWER_CNTLMSAK, POWER_UP); - snd_soc_update_bits(codec, STA529_MISC, FFX_CLK_MSK, + snd_soc_component_update_bits(component, STA529_MISC, FFX_CLK_MSK, FFX_CLK_ENB); 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) regcache_sync(sta529->regmap); - snd_soc_update_bits(codec, STA529_FFXCFG0, + snd_soc_component_update_bits(component, STA529_FFXCFG0, POWER_CNTLMSAK, POWER_STDBY); /* Making FFX output to zero */ - snd_soc_update_bits(codec, STA529_FFXCFG0, FFX_MASK, + snd_soc_component_update_bits(component, STA529_FFXCFG0, FFX_MASK, FFX_OFF); - snd_soc_update_bits(codec, STA529_MISC, FFX_CLK_MSK, + snd_soc_component_update_bits(component, STA529_MISC, FFX_CLK_MSK, FFX_CLK_DIS); break; case SND_SOC_BIAS_OFF: @@ -187,7 +187,7 @@ static int sta529_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 snd_soc_component *component = dai->component; int pdata, play_freq_val, record_freq_val; int bclk_to_fs_ratio; @@ -205,7 +205,7 @@ static int sta529_hw_params(struct snd_pcm_substream *substream, bclk_to_fs_ratio = 2; break; default: - dev_err(codec->dev, "Unsupported format\n"); + dev_err(component->dev, "Unsupported format\n"); return -EINVAL; } @@ -228,23 +228,23 @@ static int sta529_hw_params(struct snd_pcm_substream *substream, record_freq_val = 0; break; default: - dev_err(codec->dev, "Unsupported rate\n"); + dev_err(component->dev, "Unsupported rate\n"); return -EINVAL; } if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { - snd_soc_update_bits(codec, STA529_S2PCFG1, PDATA_LEN_MSK, + snd_soc_component_update_bits(component, STA529_S2PCFG1, PDATA_LEN_MSK, pdata << 6); - snd_soc_update_bits(codec, STA529_S2PCFG1, BCLK_TO_FS_MSK, + snd_soc_component_update_bits(component, STA529_S2PCFG1, BCLK_TO_FS_MSK, bclk_to_fs_ratio << 4); - snd_soc_update_bits(codec, STA529_MISC, PLAY_FREQ_RANGE_MSK, + snd_soc_component_update_bits(component, STA529_MISC, PLAY_FREQ_RANGE_MSK, play_freq_val << 4); } else { - snd_soc_update_bits(codec, STA529_P2SCFG1, PDATA_LEN_MSK, + snd_soc_component_update_bits(component, STA529_P2SCFG1, PDATA_LEN_MSK, pdata << 6); - snd_soc_update_bits(codec, STA529_P2SCFG1, BCLK_TO_FS_MSK, + snd_soc_component_update_bits(component, STA529_P2SCFG1, BCLK_TO_FS_MSK, bclk_to_fs_ratio << 4); - snd_soc_update_bits(codec, STA529_MISC, CAP_FREQ_RANGE_MSK, + snd_soc_component_update_bits(component, STA529_MISC, CAP_FREQ_RANGE_MSK, record_freq_val << 2); } @@ -258,14 +258,14 @@ static int sta529_mute(struct snd_soc_dai *dai, int mute) if (mute) val |= CODEC_MUTE_VAL; - snd_soc_update_bits(dai->codec, STA529_FFXCFG0, AUDIO_MUTE_MSK, val); + snd_soc_component_update_bits(dai->component, STA529_FFXCFG0, AUDIO_MUTE_MSK, val); return 0; } static int sta529_set_dai_fmt(struct snd_soc_dai *codec_dai, u32 fmt) { - struct snd_soc_codec *codec = codec_dai->codec; + struct snd_soc_component *component = codec_dai->component; u8 mode = 0; /* interface format */ @@ -283,7 +283,7 @@ static int sta529_set_dai_fmt(struct snd_soc_dai *codec_dai, u32 fmt) return -EINVAL; } - snd_soc_update_bits(codec, STA529_S2PCFG0, DATA_FORMAT_MSK, mode); + snd_soc_component_update_bits(component, STA529_S2PCFG0, DATA_FORMAT_MSK, mode); return 0; } @@ -313,14 +313,15 @@ static int sta529_set_dai_fmt(struct snd_soc_dai *codec_dai, u32 fmt) .ops = &sta529_dai_ops, }; -static const struct snd_soc_codec_driver sta529_codec_driver = { - .set_bias_level = sta529_set_bias_level, - .suspend_bias_off = true, - - .component_driver = { - .controls = sta529_snd_controls, - .num_controls = ARRAY_SIZE(sta529_snd_controls), - }, +static const struct snd_soc_component_driver sta529_component_driver = { + .set_bias_level = sta529_set_bias_level, + .controls = sta529_snd_controls, + .num_controls = ARRAY_SIZE(sta529_snd_controls), + .suspend_bias_off = 1, + .idle_bias_on = 1, + .pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static const struct regmap_config sta529_regmap = { @@ -354,21 +355,14 @@ static int sta529_i2c_probe(struct i2c_client *i2c, i2c_set_clientdata(i2c, sta529); - ret = snd_soc_register_codec(&i2c->dev, - &sta529_codec_driver, &sta529_dai, 1); + ret = devm_snd_soc_register_component(&i2c->dev, + &sta529_component_driver, &sta529_dai, 1); if (ret != 0) dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret); return ret; } -static int sta529_i2c_remove(struct i2c_client *client) -{ - snd_soc_unregister_codec(&client->dev); - - return 0; -} - static const struct i2c_device_id sta529_i2c_id[] = { { "sta529", 0 }, { } @@ -387,7 +381,6 @@ static int sta529_i2c_remove(struct i2c_client *client) .of_match_table = sta529_of_match, }, .probe = sta529_i2c_probe, - .remove = sta529_i2c_remove, .id_table = sta529_i2c_id, };