From patchwork Mon Jan 29 04:09:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10189077 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 29E2660375 for ; Mon, 29 Jan 2018 04:37:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1522028742 for ; Mon, 29 Jan 2018 04:37:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0710F28786; Mon, 29 Jan 2018 04:37:27 +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 BB58E28742 for ; Mon, 29 Jan 2018 04:37:25 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 941CB267B66; Mon, 29 Jan 2018 05:26:01 +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 6B15E267870; Mon, 29 Jan 2018 05:25:59 +0100 (CET) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id 38A83267894 for ; Mon, 29 Jan 2018 05:09:51 +0100 (CET) Received: from unknown (HELO relmlir3.idc.renesas.com) ([10.200.68.153]) by relmlie3.idc.renesas.com with ESMTP; 29 Jan 2018 13:09:50 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir3.idc.renesas.com (Postfix) with ESMTP id D0C9852D8B; Mon, 29 Jan 2018 13:09:50 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,429,1511794800"; d="scan'208";a="270914441" Received: from mail-pu1apc01lp0016.outbound.protection.outlook.com (HELO APC01-PU1-obe.outbound.protection.outlook.com) ([65.55.88.16]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 29 Jan 2018 13:09:50 +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=bhVvix220/FK4Oeg3ZKW6NIm7pG3h/tKr7C5OncGqO4=; b=igNwprUEioTgPvk+X3T0gUoC6PXCdxRif1OykIxUETtJSrTLSLTSZoH+ZI0AFOtaDGLNFJikmM1ktYB6GFbtSNsc87fsR6MZqkHd/sO/q2sNDwNeb2NNuAS4rqdTQqM6Ez1kRTcuFIOq1pEpSmZ8wj+aStfZTNRYOCyKKpbR+BE= Received: from morimoto-PC.renesas.com (211.11.155.138) by PS1PR0601MB1881.apcprd06.prod.outlook.com (2603:1096:803:8::19) 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:48 +0000 Message-ID: <87fu6pz4r4.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:48 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: TY1PR01CA0147.jpnprd01.prod.outlook.com (2603:1096:402:1::23) To PS1PR0601MB1881.apcprd06.prod.outlook.com (2603:1096:803:8::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: ccbbfc17-65b3-48c1-5991-08d566ce2336 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:PS1PR0601MB1881; X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1881; 3:NSiWKJAeGJ63ZcYdnXxEnKC8mo0GWeowMmud1SSkfUxr9Rm8yIMzliezR2jtRPZ3fM04ELCQ9zHYHFKlXE+vDuKsg1nW0j5vY4TA99PMusIMwvfs+qe/GBhT3g/RJdoxdF+c/RXrxtaCeG9fX4fsEFv7Ag1JcTOj735tFSulgC7OLK5ekdBdr8X6ulLxuKgDw1gRU37GhujU3xNpXdv5CKDGlmF9O6G0ChjlWlkqqT3uJi0aRJWFBKPLl4Cw7h9J; 25:IoGFb8FaUIfV03cW4vcUi2lVnmTIOKw3JcWP+3q54I4EnUvm5sBDB0mNwcC4LGqQvK0Wbmwqt/wvdsVamZMGhuBpDV1m40Kse4Vc8dUNCGZ8KrLsI74tgOsYV3ogviyP1A1X9mDylZApDN1uHzcgUtavr7DZeWWgJ9LR+6BbHYc/yS+5xQtV92QxrcNCsypWuqtCtRejlWyHjjjrWCKzUURigDLoifs7WozDNK6ZR0CE6B+Y9mJjFGAs8MR/cEM7PJc2f/naGJInQdCtHuG1LcBADTCJu0+h0XNv1cA3JOHvorqZ3AGNHdVMFYk3FbUx4IQVuiPHOTLHHYrnlefdHQ==; 31:PckzRAfBuo0cXBsHzrVfBhCyRv+mQSGjAUx8RQAfhElqZUZaQDEPl5DGP05Ow0SXqXifRKDwqiDVlbgeCuPBEsR5GDnRW94En7hmXg/P8sXf2CqKmx4/9lMM1FlwFk+G+vSlE6AricVgZC4Cd6p0qjKa5XLjbgBEKSS94E+YpGnqxz20Vwbsx1IkDAJhjCAyHHtTiJNNIkFLh7if+UsLq1xLeZ4Vsap2gkleSJkKrXY= X-MS-TrafficTypeDiagnostic: PS1PR0601MB1881: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1881; 20:N+h3K/DuNOtbefl12WO9xhVw6mm6Dge1nMJIrbZjGWlvPXLwCzniAC1HKrppdYIRlAFTJ7HL3YqXGwHPJVRbvoqAYJIDmYas7bVqy+u2WEY7WzxJQL8rYbcsIdAaWV0kFmesjeuGDL/zPcetDEtJmT03Tjou0jl1i00cxkodWMLeUOWbrjX2TfD3AjmpRV7jVtrAPt+9Y186TTXnKgBTLQo+zOH3jAVVw6T1+kyZc/EIGegmnXok6I5ZeCjuf4ILk2WZg9ATRXYCB3iwciTiuVkHs/J2ai4SuJojvQJ283vlNmgtoLOk57TCGtSmpj6cbHojMk1RUOhI7TmEMaVwGdmtCTSrMoRykfcMZBx5r9rd57J/WuIlZ6h7aQv2S375sHLsuWT4ry3VmG8pXQ0TGzBdh4iAN3mGUCiv1MSl5zvOPoVtz23rwdr0X3f9RWuo/qhXcVW9dmJ4M+28CgC2z90mG8pdi22yysInsU3hVwv3Tos07jERI6VgXJmAwkww; 4:FKWD/nKJFE5wZOMlOJdJ9Mq6giWhFbEC8BNRuWwt+uHWZGJfoo+RpNAwDTXsvB71pp8LMn26ksXu6qFXXltXYD2mDVqkv+QPavvMe2CO9eW27CY654BOCFVycOK121XLCN5vcmCHc0UEKAro1JMoRYMeViOQVWAJe/30eKlrUidBZTA51Vh2nI/JOBKldU9uUITnBeoqLbxRLF3Kh8scc+tOn1Lhtu37V86sULGLee6MFAIOLFulaPcv+EETXr9a3ZO/EqWuhAqWCzGDSoo8HG3Ytd00s39Lst8lXjpn5nour+zqBZQkFC/5BJ9Kc289 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)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011); SRVR:PS1PR0601MB1881; BCL:0; PCL:0; RULEID:; SRVR:PS1PR0601MB1881; X-Forefront-PRVS: 0567A15835 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(366004)(346002)(39380400002)(396003)(376002)(39860400002)(189003)(199004)(6116002)(50466002)(6916009)(6486002)(53416004)(47776003)(25786009)(7736002)(2950100002)(305945005)(52116002)(386003)(2906002)(7696005)(59450400001)(86362001)(3846002)(16526019)(68736007)(4326008)(23726003)(186003)(26005)(83506002)(106356001)(8676002)(81166006)(81156014)(16586007)(8936002)(58126008)(105586002)(69596002)(66066001)(36756003)(53936002)(76176011)(316002)(478600001)(5660300001)(97736004)(21314002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:PS1PR0601MB1881; 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; PS1PR0601MB1881; 23:8q8tfgrkvPhSpt4TXr5BXPWDbfxTpjoqfLqlnIO?= =?us-ascii?Q?OXZHLl52Q+zGCIx7PFPY3acT/8LxmJGe3zZL4beJFK17T+3UYeklemqyuwT8?= =?us-ascii?Q?ywtHC0zj0B3dm5mvkL2VAxp2Z8fzTHOH4hlQPju16kE2+3ppVB36uOqkdIrd?= =?us-ascii?Q?qrY9byk5Z2dKMD9Ugbf0s6qflPJImOUBVv2+UZC5fybdgDHbyhRN0CQpU+2Q?= =?us-ascii?Q?fu+0C/pCBimXoiuo1T1uDDRkwoaEj8r1O/xCauoU90s/U4F+yHTWPjUX0Xyw?= =?us-ascii?Q?NsAmboancrLFVohtN4tg37E5atvQSmnWL/KFXMQ9l9rjN9ifthD/ILPHOB+P?= =?us-ascii?Q?XEcOuHocyd/pR1iXS+B/pmDyNjhyWs1QuhXIfDy5Hrb4sXoI2+l/UFZ/bP2b?= =?us-ascii?Q?Wv/awQqrWbSdnuu63w9B9cUPI6rxJM1895RT15eYfxhk4A8dMMwUBeEx04na?= =?us-ascii?Q?Vq/vFQQ4nZpM2D3l6InyrKbZaGl6H5fGfnIdjvWTDkFDiBZj+MA6ozaw1RiU?= =?us-ascii?Q?MHCuHheq9nKhIJ4dkCXs0wGboS0EOcT4FBcxPEvpDk4zzlLXguUN1IU2ldcU?= =?us-ascii?Q?hKGiHUHiUvyDujvvlYEmcsnJbPdTOa9K+ocapBBgiO5YbgnQpGAaeeNEo02I?= =?us-ascii?Q?5g5hvCDoMWLS+RzMWc5FRrCbdIDffY++oy57dmBVLWCgPT2EI84w2JoXISyp?= =?us-ascii?Q?LYSF4t4JLY0K13AhmRCvfAqpTS6FjP4Me7LD155zsjoyveFeXMj1ZU079V4Q?= =?us-ascii?Q?pr/+I85GaDSylDRXpjexIZUQja/xq9ooH5buK4Yz6O5qrkYJFyVxf0ErpVUV?= =?us-ascii?Q?5/cHCmOrOHzfphU6grFknqEJrMs+2+HumDqIHgi2pI4EDn2efL0tph/Y34IB?= =?us-ascii?Q?iMZ1+SN2rnjk3aPVJiq5JSD1x+pHn5hMI8alOWP/eiGifrK/N/KSLx3rpmk2?= =?us-ascii?Q?94CDDOy/4gbeoXoISirSTKembtUbfSS7hDa0hrb9K9dXoF6/lC6kjKCr+J8k?= =?us-ascii?Q?oSRXqIr47s2r1ewmi/wyFzL1XS277YCXNVqGRn+zFo9FthyZR5RbYqdhv2vC?= =?us-ascii?Q?nBrGsE9Zh3zjnfhOSiapW9iENvgLHISK7EaxRiNLaT9Rx9YifUHbnibFnarp?= =?us-ascii?Q?vmfBDJ+/Ry18+NY1ID2C9WsJ9M8lP4GDjkuQlpmAHljIlLMT45+QLDJjJcRj?= =?us-ascii?Q?9nCQwTUX+pBykDic=3D?= X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1881; 6:tbx6yyVVBp6w2NSjCkOnO4Xrf7DtKo5VHiOhznhJsI4ZIeDtykbG130EHL7cfBDuY9tnkE67ruJri/nxHnmRSsUlHYLTvxENalKB9fKiBHSklzppFj2OuaBUVMmBOQbKJL7ZZigvFVO9TtKmKP3ZDEN2COXbJULaKoEYDp6GTCwWyZKNFw9gN8dNlux2HaM2Zqm+R1oL9NM9x3AyoHDNolEGfvd73fWRwYp0StAGfaRigo+IQehvZ+LQhyTZ+wPf+2xX5xacejOCZqynfPmeN4l32xY5DINAFE8MLn2pt4gfElS26ezyKl9OxaVF8zGsAtdlanEJwAlRMaHqgfl2vWFvAAtGhGkrmWbydKTP7/o=; 5:X3xIHJX9+yhe+rJotwC/PF0/YAvy37cZzm8M3y5hRNAFEwEc5ue/s14KLouzR3z47ON2dUn3GnKmCW9tZNRpYwGor/Lfz5ax9m+dyCrBj+VnU498nhfCSj4oAwbkju9pnTW3ISdeZETFoBHHHK+BVafZ7BvUEqvkxNKFPmUCcQU=; 24:FsrlNFCKBz4NkdtHmz82+dj9V/PJdGFfcNE24ZvMxYqO3DmEcDxwhuqvwc+X473jpM8KXDO03LQwXJjSx0UlRHpCTtVzbaGqnCKLqdkWsY8=; 7:rXRwcNR/Mrv5FHmq2EPerXemGrp02DPE9G1Y8WpIdM75oEf8lRE8W95paWHGs6m3nL71vNcNhj82Gywx7R/bXChjZNii82R63xnUfP6rNBprXz4FZcJo4baO+bkY0dkLPGtuIU/OwKBHS7DHHSVyO0NamW4mM19RKMTETybYbDbxqA4ch9MbmYtXOVI9l8UwX1O3IeqiJzugnZn8x2T48iwFplhsUNH9P4QctMDAF9sYu6hdIhqxOk/WSIBwVYvy SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1881; 20:63vLEu86fqrwsMG5dlFM7mLck+jVHEE6Qv40wks+m50FZ5It2LYahorHutJHv3OK9dHUHKqrVcdO5+sNH8lxD4AE68FNBOgZb0SNBVObJRvzgXJ5V1E6tU9TL2DKyDLJfFdhVGr3i9DHzvaJMXjc/u335m9z3Ys5QDDMPuOORvI= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2018 04:09:48.0666 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ccbbfc17-65b3-48c1-5991-08d566ce2336 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: PS1PR0601MB1881 Cc: Linux-ALSA Subject: [alsa-devel] [PATCH v2 101/186] ASoC: max98373: 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/max98373.c | 75 ++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 41 deletions(-) diff --git a/sound/soc/codecs/max98373.c b/sound/soc/codecs/max98373.c index 562e887..a925861 100644 --- a/sound/soc/codecs/max98373.c +++ b/sound/soc/codecs/max98373.c @@ -112,12 +112,12 @@ static int max98373_dai_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt) { - struct snd_soc_codec *codec = codec_dai->codec; - struct max98373_priv *max98373 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = codec_dai->component; + struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component); unsigned int format = 0; 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_INV_MASK) { case SND_SOC_DAIFMT_NB_NF: @@ -126,7 +126,7 @@ static int max98373_dai_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt) invert = MAX98373_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; } @@ -177,10 +177,10 @@ static int max98373_get_bclk_sel(int bclk) return 0; } -static int max98373_set_clock(struct snd_soc_codec *codec, +static int max98373_set_clock(struct snd_soc_component *component, struct snd_pcm_hw_params *params) { - struct max98373_priv *max98373 = snd_soc_codec_get_drvdata(codec); + struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component); /* BCLK/LRCLK ratio calculation */ int blr_clk_ratio = params_channels(params) * max98373->ch_size; int value; @@ -189,7 +189,7 @@ static int max98373_set_clock(struct snd_soc_codec *codec, /* BCLK configuration */ value = max98373_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; } @@ -206,8 +206,8 @@ static int max98373_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 max98373_priv *max98373 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component); unsigned int sampling_rate = 0; unsigned int chan_sz = 0; @@ -223,7 +223,7 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream, chan_sz = MAX98373_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; } @@ -234,7 +234,7 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream, MAX98373_R2024_PCM_DATA_FMT_CFG, MAX98373_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 */ @@ -267,7 +267,7 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream, sampling_rate = MAX98373_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; } @@ -295,7 +295,7 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream, MAX98373_PCM_SR_SET2_IVADC_SR_MASK, sampling_rate); - return max98373_set_clock(codec, params); + return max98373_set_clock(component, params); err: return -EINVAL; } @@ -304,8 +304,8 @@ static int max98373_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 max98373_priv *max98373 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component); int bsel = 0; unsigned int chan_sz = 0; unsigned int mask; @@ -319,7 +319,7 @@ static int max98373_dai_tdm_slot(struct snd_soc_dai *dai, /* BCLK configuration */ bsel = max98373_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; } @@ -341,7 +341,7 @@ static int max98373_dai_tdm_slot(struct snd_soc_dai *dai, chan_sz = MAX98373_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; } @@ -394,8 +394,8 @@ static int max98373_dai_tdm_slot(struct snd_soc_dai *dai, static int max98373_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 max98373_priv *max98373 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); + struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component); switch (event) { case SND_SOC_DAPM_POST_PMU: @@ -721,11 +721,9 @@ static SOC_ENUM_SINGLE_DECL(max98373_adc_samplerate_enum, } }; -static int max98373_probe(struct snd_soc_codec *codec) +static int max98373_probe(struct snd_soc_component *component) { - struct max98373_priv *max98373 = snd_soc_codec_get_drvdata(codec); - - codec->control_data = max98373->regmap; + struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component); /* Software Reset */ regmap_write(max98373->regmap, @@ -828,16 +826,18 @@ static int max98373_resume(struct device *dev) SET_SYSTEM_SLEEP_PM_OPS(max98373_suspend, max98373_resume) }; -static const struct snd_soc_codec_driver soc_codec_dev_max98373 = { - .probe = max98373_probe, - .component_driver = { - .controls = max98373_snd_controls, - .num_controls = ARRAY_SIZE(max98373_snd_controls), - .dapm_widgets = max98373_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(max98373_dapm_widgets), - .dapm_routes = max98373_audio_map, - .num_dapm_routes = ARRAY_SIZE(max98373_audio_map), - }, +static const struct snd_soc_component_driver soc_codec_dev_max98373 = { + .probe = max98373_probe, + .controls = max98373_snd_controls, + .num_controls = ARRAY_SIZE(max98373_snd_controls), + .dapm_widgets = max98373_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(max98373_dapm_widgets), + .dapm_routes = max98373_audio_map, + .num_dapm_routes = ARRAY_SIZE(max98373_audio_map), + .idle_bias_on = 1, + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static const struct regmap_config max98373_regmap = { @@ -920,7 +920,7 @@ static int max98373_i2c_probe(struct i2c_client *i2c, max98373_slot_config(i2c, max98373); /* codec registeration */ - ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_max98373, + ret = devm_snd_soc_register_component(&i2c->dev, &soc_codec_dev_max98373, max98373_dai, ARRAY_SIZE(max98373_dai)); if (ret < 0) dev_err(&i2c->dev, "Failed to register codec: %d\n", ret); @@ -928,12 +928,6 @@ static int max98373_i2c_probe(struct i2c_client *i2c, return ret; } -static int max98373_i2c_remove(struct i2c_client *client) -{ - snd_soc_unregister_codec(&client->dev); - return 0; -} - static const struct i2c_device_id max98373_i2c_id[] = { { "max98373", 0}, { }, @@ -965,7 +959,6 @@ static int max98373_i2c_remove(struct i2c_client *client) .pm = &max98373_pm, }, .probe = max98373_i2c_probe, - .remove = max98373_i2c_remove, .id_table = max98373_i2c_id, };