From patchwork Mon Jan 29 04:09:04 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10189075 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 4B7D460375 for ; Mon, 29 Jan 2018 04:37:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 36CDA28786 for ; Mon, 29 Jan 2018 04:37:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2B04228788; Mon, 29 Jan 2018 04:37:06 +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 0419A2876D for ; Mon, 29 Jan 2018 04:37:05 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id F3752267B60; Mon, 29 Jan 2018 05:26: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 52434267B57; Mon, 29 Jan 2018 05:25:57 +0100 (CET) Received: from relmlie1.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by alsa0.perex.cz (Postfix) with ESMTP id 2BDA8267887 for ; Mon, 29 Jan 2018 05:09:07 +0100 (CET) Received: from unknown (HELO relmlir3.idc.renesas.com) ([10.200.68.153]) by relmlie1.idc.renesas.com with ESMTP; 29 Jan 2018 13:09:06 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir3.idc.renesas.com (Postfix) with ESMTP id 98CB852D3C; Mon, 29 Jan 2018 13:09:06 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,429,1511794800"; d="scan'208";a="269594342" Received: from mail-hk2apc01lp0209.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.209]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 29 Jan 2018 13:09:06 +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=sPVws2UCU6u1cMEXtznogDpcUs4lhnMz4qc6Vzl0mMg=; b=M8GNAV2ivnqOWlWPtrJeD1TAEdlc3xJAMmepmQUMufYDWGDtH3b7MFfJUwOx5J+OuAJ3V5Nw0F7EERG3gQnQUkRqVAIqrZ/yfYG6PKAVet9rVPl17Rorp8neVbJvTyPg7ohCE9669jAkHm4V29joyMgQb1IPkxMW846b5XXi88o= 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.444.14; Mon, 29 Jan 2018 04:09:04 +0000 Message-ID: <87inblz4s7.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:09:04 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: KAWPR01CA0070.jpnprd01.prod.outlook.com (2603:1096:402:b::30) To SG2PR0601MB1887.apcprd06.prod.outlook.com (2603:1096:3:9::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: e8a65442-2323-41fc-03eb-08d566ce090a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:SG2PR0601MB1887; X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1887; 3:rXQZKvp5Xakaau6YcL9xYrYFa7VlxRWH27/VtL6rA4QBz+lfUQNMAx0ig0k5T+VOBAZ0GeIPfWJBLigwds73rHgzp6Hw/4WMtisgUNdRru6iuZs1wTtfKbmowFX8JZMwPUIZcHeJa3g9c+NqFGm3bu5qmBtDGjvE4jBrXnvT+L72oI5GxqyGNuOx7VxJN9UvjZ85joizh+FdOcY1DyB4vQMQMjXtqV18QEpN2FwBqgmcxhji4N42ixdHjkoAkiLk; 25:leQC4k2Ej9i1vQ+lX4QBCvo3ZuaZ08rMQeUi1ldIQ5/0iVBAqtyJHWQsXKfLNlkHbH4qc1uTJTzQSMDkfZ4Gmcm6i74G3egYQMDOb4bEY/qN9Bm/QpZt0UG2+snsX05Cy/IOhbyvMTaFXg/NdzIxYCVpuYhCErilu1/Zo4XkJ12wA/hVIVlehO6OtiJKPlJFlE4dclZjUeQ7wNcWDazTEMINDKhi6HLVbVICQMH0176/Wfqbk2JBO6QI83iI6eTdcZwG8Jyq5PJJvBOpNDfKikhL7WcxYtGnjD5tU99o8A1Gb8HFtGmOTUcVjc892N9U0tw67+bFqnYYU607OHzfUA==; 31:DYxuyRwstOFB9CkN7RwA+/eNGbeiPa4eXWLopBL5ymQJ7NYOYvzfoHTS2aHgIN+Gd2nmVtiMI3xe9r3kXJ6LJJ/bby9S8VLnsH5j6Tnj+zo9Obkvvtr/i57T4kiEeOIJhtuEQViheIu6P3DHu3YhKL6gmX94pmuTuCxSQwtwkMRBUsYWgcj9wA/4SuYpc8rfrXPC29lg+8/Vdb5Oz7zJCBtG+RKIn2gy/euzHz1f6H4= X-MS-TrafficTypeDiagnostic: SG2PR0601MB1887: X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1887; 20:SJIbbd2NtDPBg3jA5duHafm5c+Qid9B5jwdw6BgkUmBfT83B2BjSUz01OEc9ubzjQgPqmvfxtnFei5UA0C/jirIagpxfT5p7VpSfoEI+Hs1Z5ZVnwCxLVyhf8bJnuoAIq+cvO94RDYqVB+aDa2z2OiQ9/miE9VPxs9lSFSI+U6YW6kXcIYI/LLucaiMTxKHNiiDO884SMj5rdkemqrSI/ancxm5wIXD3G7nyu1Pe5XpWGuo86KEk6VsHPnP4DUL9rzg8tMeWvDz4ByKR9O80KBuYtXD5nZWdJ7WALRakZ6d+EakstGFTUHiXTUXNsVFc4Ilo6Y9Xu4DebTu+xOGMAB9k1NcwVv2/gyiP3TWowcDVlayP9IChvV/l4Ul4T8c/hnfI0L2k2EIjwLQ2r9yNTCgkqkGBGwCB+juZfhEcoxahgxUn+UoOVq5UteGKcB+lKC5yyajfSRz82noM2MvQADDg/EKVagVWinIi+WgPsRe7030UtKgFQ9TrYbUTAuDQ; 4:UwX+EFczrZ5Qs/4XL9r0GIK2rKFAQTuaA0ylrtKZaQCdoph9p3If1pDMStHMftclacJ/88jz6iieBuTQEfLmoWOBVQXNlBO1UL4XO32liOCZKc42LzLsxLf0MLC1z2LSFUSpVuenwPdflox0ax8yaJQleuoykxJsmxkmXDl4wVIJQ3WxLwcP0MfDpFr7F1z87XuwLrw3cQyuwubhR0toSVZN8HuRyDsM0lkHsdu9XLNFM02SKWut5jm4QEVOUlqHaXTRmALteT3jS1FS+UuGt4H41oLP0ExxRD6VzuQd309PrVo72lQ6IMzaNAB6WkyO X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(5005006)(8121501046)(3002001)(10201501046)(3231101)(944501161)(93006095)(93001095)(6055026)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:SG2PR0601MB1887; BCL:0; PCL:0; RULEID:; SRVR:SG2PR0601MB1887; X-Forefront-PRVS: 0567A15835 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(376002)(39380400002)(366004)(346002)(396003)(189003)(199004)(105586002)(36756003)(97736004)(69596002)(58126008)(50466002)(83506002)(6116002)(23726003)(3846002)(316002)(86362001)(305945005)(7736002)(16586007)(106356001)(2906002)(59450400001)(76176011)(52116002)(68736007)(478600001)(25786009)(81156014)(81166006)(8676002)(386003)(6486002)(16526019)(26005)(8936002)(47776003)(2950100002)(6916009)(186003)(5660300001)(53416004)(53936002)(7696005)(66066001)(4326008)(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:7DkzjxZn+ECZMT5QsTLcOL85LONFFUTaUBWfqDg?= =?us-ascii?Q?HHFENJi6YmGtgOuM+gYX8be9kfAk5UHOvGm/HiZqy3IjE1HXnxjguYmenvhf?= =?us-ascii?Q?9TPTT3Q6lpQXtqosXDMlcrYx4K/ciePWKpgrJaT/xDryVUxT2aDtjTVHD4xU?= =?us-ascii?Q?kZUpoUELL5+GkCcleD5hVFLqaJZ6B5LHlSFGq9SVqgIEpDSghi462Q1AQuRm?= =?us-ascii?Q?e6prS0le2SBnPMGD8P+ejU9vDd73FfwWox8n1WVplCj0GXHBi5rUH2D+XWqo?= =?us-ascii?Q?WDoNxJaCfyFOWM3DBjnQFzx+LLwy7ZzqmjWJ5DnoSV6U1Fg9TwP0v9Igg0l4?= =?us-ascii?Q?zbNY925SdvuZF74tRZ6u5mPnz/EyWkB6bdXXJZ/HJygLkfZ7xVDb1Y9Sk+FX?= =?us-ascii?Q?f6VQOKH+G9igtTpjSYjpts7PFyoHWghLf+Kyt7vSwvBtb8G8o3ZaEgcn5NMy?= =?us-ascii?Q?f1swpPMPshBMzh10L6MWxnsPP5P972YjNBY1RI/iGv6Jm+vkqQlT+K6nHuQZ?= =?us-ascii?Q?PDVcRbNIcUF8GK2saEyhs7fzWdF0pR/ehQVVWBfqILnOnoKem0kkFO/EhNZ3?= =?us-ascii?Q?VFQw8RuVwWc+y34NLix7kzB9NnpX18yrdwGDwtXnSGT61CqkMZwvfwYk+GRC?= =?us-ascii?Q?5i61w4bcvag1cnGUipT3TmX6+vmcYFfatnp1S4rmpDeKVYlgQmp4vqloq2V4?= =?us-ascii?Q?1+P90LZOeHn4U08N6bnbMg/A6Nif2VhtRBsiafNfYjTmoFzD/ZWQCdmiy+aC?= =?us-ascii?Q?izZWFvGUOT1Azxh6Acoqxm7cVrZ3DD+47IgXLsln2Oi4aYBePpVTfsKomfCH?= =?us-ascii?Q?QYTcD98yXDd9cp5ShMB5ZrvELpySL9SztVFRMNAKJgHxIBoN5Au3QsjqntgY?= =?us-ascii?Q?4pbhX1xLAKmbaaCkhcClBM/vDV4pq3DQRF7dbJNHibNPTuZa05rerW1DIfIK?= =?us-ascii?Q?ea9tlDCxzuAsSKPWVCaUXim6yV96n2R1utI4WyI2gaxWenBJcPKci8ZAc1Jn?= =?us-ascii?Q?cN99IqRaOPJEjk/r5wBe5356msG46pEh5M48XgFETdYkuPF0FbmApojwQHqk?= =?us-ascii?Q?quILYmjP5Ea7FaV5Wv5rMFLlbdiLiHRgu9TKIC0AlOTQt9W90IsyjzcMZoO3?= =?us-ascii?Q?CXiZ6XnH7LraEzFiG2UgG/DgaEDIplT2G0FpoehghEsccbZT/a3qe8jFqhhw?= =?us-ascii?Q?GwkpY+aKcTjtSJIg=3D?= X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1887; 6:7GdPRa+ijw1F0vo7BdmcAadXBE7wWZqeSYo511mGRZag43wqahT3EACAQAXseV/l7TRvzzKRB+OaW0v9mjNr2U9PXTEzxYyP9LbGrg6pJOgHaqbKruJTFDZQVI8MGYS5evZx0C/vkTcZQx8RajcQc9JUZpw9KNSJBya6nn4q9J1+Ows7RcvDAugbHEr//tAeESZp4hRFJvK+jqjPgyuu8FHdkWFCWaJkh2AZrvSpddDnF+rLxzsqU5yt6Ss+sEa2d4uYYCwm3MY/2553vp6IAPOIzzZQCw2eDIvqnZNHJtHA8fPulqQIIEpogj466AiYIe+LzUEF0oZoj7te4xJByjQ1ybOqwZCvJ/V2wHbUJ/k=; 5:+Jel3bBN8EK0XeggZGznuCca2MsG+QNST1KlF1Ru4OWKP5TbCkP0mAHuL4pIbBhZlSPH6ggrdnU4b09hG1Au9WzzqOt8EdNJNcRd/lUAaJfk/scoGRYWfgsoTjmcwbmF07yDILE/q+6U/PJ5rSapq+tHk5pQL+XvsCwRssAi+bU=; 24:GXchY+eOLvs/i7GTqW6HOeVkU70pr+Qu8FBhx1eQCUwbzSPq5ou45Zf4mTR9tcfhxHG0kPamAFlFhDoAva/8sqluPzJX4DF61wRvZegUx8w=; 7:9BUDEiGoIAYamrlBAvHAEkG9RQltCrOXfRSpRM5XTyOyuMZpZhzSq+3wM0kSLOusCFjk3pCZwKR5ADwyfHpixareQzb3U7pwwPWpPXFS7dTTtYjUCaaDpMXa+FSpeTEvqRqvrjipR2ZRO4/63fLs7oZia6NSqLuY2RzEdihD2m4jdJ4YJf1K3qWX87tSbIwFSJQQrJHIqbtnxcZOijKjKu1lOiMOaoqE5Fai/5/p26FMbNvAeRvbPRhbeNgWdQdR SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1887; 20:BZNFEKC09uV8iaTzJEbS4hA0EMp8tJb8hWVQLwQNyupcSTTQuKt0z2sLLAeZDj9jBtFYtrntQXIv18PxOgK1wx5pitgxTFmg4AIIz35mNfcWTCwG3+JueyqLhbSpsfdnBSfg1M4htdb8Ik5zTkXWO9Lw/QeEJWysdcgP16dCZis= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2018 04:09:04.0459 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e8a65442-2323-41fc-03eb-08d566ce090a 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 Subject: [alsa-devel] [PATCH v2 099/186] ASoC: max98927: 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/max98927.c | 82 +++++++++++++++++++++------------------------ sound/soc/codecs/max98927.h | 2 +- 2 files changed, 40 insertions(+), 44 deletions(-) diff --git a/sound/soc/codecs/max98927.c b/sound/soc/codecs/max98927.c index f701fdc..065303a 100644 --- a/sound/soc/codecs/max98927.c +++ b/sound/soc/codecs/max98927.c @@ -142,14 +142,14 @@ static int max98927_dai_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt) { - struct snd_soc_codec *codec = codec_dai->codec; - struct max98927_priv *max98927 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = codec_dai->component; + struct max98927_priv *max98927 = snd_soc_component_get_drvdata(component); unsigned int mode = 0; unsigned int format = 0; bool use_pdm = false; unsigned int invert = 0; - dev_dbg(codec->dev, "%s: fmt 0x%08X\n", __func__, fmt); + dev_dbg(component->dev, "%s: fmt 0x%08X\n", __func__, fmt); switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { case SND_SOC_DAIFMT_CBS_CFS: @@ -160,7 +160,7 @@ static int max98927_dai_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt) mode = MAX98927_PCM_MASTER_MODE_MASTER; break; default: - dev_err(codec->dev, "DAI clock mode unsupported\n"); + dev_err(component->dev, "DAI clock mode unsupported\n"); return -EINVAL; } @@ -176,7 +176,7 @@ static int max98927_dai_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt) invert = MAX98927_PCM_MODE_CFG_PCM_BCLKEDGE; break; default: - dev_err(codec->dev, "DAI invert mode unsupported\n"); + dev_err(component->dev, "DAI invert mode unsupported\n"); return -EINVAL; } @@ -268,7 +268,7 @@ static int max98927_get_bclk_sel(int bclk) static int max98927_set_clock(struct max98927_priv *max98927, struct snd_pcm_hw_params *params) { - struct snd_soc_codec *codec = max98927->codec; + struct snd_soc_component *component = max98927->component; /* BCLK/LRCLK ratio calculation */ int blr_clk_ratio = params_channels(params) * max98927->ch_size; int value; @@ -281,7 +281,7 @@ static int max98927_set_clock(struct max98927_priv *max98927, break; } if (i == ARRAY_SIZE(rate_table)) { - dev_err(codec->dev, "failed to find proper clock rate.\n"); + dev_err(component->dev, "failed to find proper clock rate.\n"); return -EINVAL; } regmap_update_bits(max98927->regmap, @@ -294,7 +294,7 @@ static int max98927_set_clock(struct max98927_priv *max98927, /* BCLK configuration */ value = max98927_get_bclk_sel(blr_clk_ratio); if (!value) { - dev_err(codec->dev, "format unsupported %d\n", + dev_err(component->dev, "format unsupported %d\n", params_format(params)); return -EINVAL; } @@ -311,8 +311,8 @@ static int max98927_dai_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 max98927_priv *max98927 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct max98927_priv *max98927 = snd_soc_component_get_drvdata(component); unsigned int sampling_rate = 0; unsigned int chan_sz = 0; @@ -328,7 +328,7 @@ static int max98927_dai_hw_params(struct snd_pcm_substream *substream, chan_sz = MAX98927_PCM_MODE_CFG_CHANSZ_32; break; default: - dev_err(codec->dev, "format unsupported %d\n", + dev_err(component->dev, "format unsupported %d\n", params_format(params)); goto err; } @@ -339,7 +339,7 @@ static int max98927_dai_hw_params(struct snd_pcm_substream *substream, MAX98927_R0020_PCM_MODE_CFG, MAX98927_PCM_MODE_CFG_CHANSZ_MASK, chan_sz); - dev_dbg(codec->dev, "format supported %d", + dev_dbg(component->dev, "format supported %d", params_format(params)); /* sampling rate configuration */ @@ -372,7 +372,7 @@ static int max98927_dai_hw_params(struct snd_pcm_substream *substream, sampling_rate = MAX98927_PCM_SR_SET1_SR_48000; break; default: - dev_err(codec->dev, "rate %d not supported\n", + dev_err(component->dev, "rate %d not supported\n", params_rate(params)); goto err; } @@ -407,8 +407,8 @@ static int max98927_dai_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width) { - struct snd_soc_codec *codec = dai->codec; - struct max98927_priv *max98927 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct max98927_priv *max98927 = snd_soc_component_get_drvdata(component); int bsel = 0; unsigned int chan_sz = 0; @@ -417,7 +417,7 @@ static int max98927_dai_tdm_slot(struct snd_soc_dai *dai, /* BCLK configuration */ bsel = max98927_get_bclk_sel(slots * slot_width); if (bsel == 0) { - dev_err(codec->dev, "BCLK %d not supported\n", + dev_err(component->dev, "BCLK %d not supported\n", slots * slot_width); return -EINVAL; } @@ -439,7 +439,7 @@ static int max98927_dai_tdm_slot(struct snd_soc_dai *dai, chan_sz = MAX98927_PCM_MODE_CFG_CHANSZ_32; break; default: - dev_err(codec->dev, "format unsupported %d\n", + dev_err(component->dev, "format unsupported %d\n", slot_width); return -EINVAL; } @@ -483,8 +483,8 @@ static int max98927_dai_tdm_slot(struct snd_soc_dai *dai, static int max98927_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id, unsigned int freq, int dir) { - struct snd_soc_codec *codec = dai->codec; - struct max98927_priv *max98927 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct max98927_priv *max98927 = snd_soc_component_get_drvdata(component); max98927->sysclk = freq; return 0; @@ -500,8 +500,8 @@ static int max98927_dai_set_sysclk(struct snd_soc_dai *dai, static int max98927_dac_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, int event) { - struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); - struct max98927_priv *max98927 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); + struct max98927_priv *max98927 = snd_soc_component_get_drvdata(component); switch (event) { case SND_SOC_DAPM_PRE_PMU: @@ -677,11 +677,11 @@ static SOC_ENUM_SINGLE_DECL(max98927_current_limit, } }; -static int max98927_probe(struct snd_soc_codec *codec) +static int max98927_probe(struct snd_soc_component *component) { - struct max98927_priv *max98927 = snd_soc_codec_get_drvdata(codec); + struct max98927_priv *max98927 = snd_soc_component_get_drvdata(component); - max98927->codec = codec; + max98927->component = component; /* Software Reset */ regmap_write(max98927->regmap, @@ -823,16 +823,18 @@ static int max98927_resume(struct device *dev) SET_SYSTEM_SLEEP_PM_OPS(max98927_suspend, max98927_resume) }; -static const struct snd_soc_codec_driver soc_codec_dev_max98927 = { - .probe = max98927_probe, - .component_driver = { - .controls = max98927_snd_controls, - .num_controls = ARRAY_SIZE(max98927_snd_controls), - .dapm_widgets = max98927_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(max98927_dapm_widgets), - .dapm_routes = max98927_audio_map, - .num_dapm_routes = ARRAY_SIZE(max98927_audio_map), - }, +static const struct snd_soc_component_driver soc_component_dev_max98927 = { + .probe = max98927_probe, + .controls = max98927_snd_controls, + .num_controls = ARRAY_SIZE(max98927_snd_controls), + .dapm_widgets = max98927_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(max98927_dapm_widgets), + .dapm_routes = max98927_audio_map, + .num_dapm_routes = ARRAY_SIZE(max98927_audio_map), + .idle_bias_on = 1, + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static const struct regmap_config max98927_regmap = { @@ -914,20 +916,15 @@ static int max98927_i2c_probe(struct i2c_client *i2c, max98927_slot_config(i2c, max98927); /* codec registeration */ - ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_max98927, + ret = devm_snd_soc_register_component(&i2c->dev, + &soc_component_dev_max98927, max98927_dai, ARRAY_SIZE(max98927_dai)); if (ret < 0) - dev_err(&i2c->dev, "Failed to register codec: %d\n", ret); + dev_err(&i2c->dev, "Failed to register component: %d\n", ret); return ret; } -static int max98927_i2c_remove(struct i2c_client *client) -{ - snd_soc_unregister_codec(&client->dev); - return 0; -} - static const struct i2c_device_id max98927_i2c_id[] = { { "max98927", 0}, { }, @@ -959,7 +956,6 @@ static int max98927_i2c_remove(struct i2c_client *client) .pm = &max98927_pm, }, .probe = max98927_i2c_probe, - .remove = max98927_i2c_remove, .id_table = max98927_i2c_id, }; diff --git a/sound/soc/codecs/max98927.h b/sound/soc/codecs/max98927.h index 9ea8397..42a9a24 100644 --- a/sound/soc/codecs/max98927.h +++ b/sound/soc/codecs/max98927.h @@ -258,7 +258,7 @@ struct max98927_priv { struct regmap *regmap; - struct snd_soc_codec *codec; + struct snd_soc_component *component; struct max98927_pdata *pdata; unsigned int spk_gain; unsigned int sysclk;