From patchwork Mon Jan 29 04:27: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: 10189157 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 2CD9E6020C for ; Mon, 29 Jan 2018 04:51:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1AC1928768 for ; Mon, 29 Jan 2018 04:51:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0E2AC28784; Mon, 29 Jan 2018 04:51:38 +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 15B8128768 for ; Mon, 29 Jan 2018 04:51:37 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 84114267CF2; Mon, 29 Jan 2018 05:35:57 +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 7E76D267B83; Mon, 29 Jan 2018 05:35:55 +0100 (CET) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id 1B9E8267932 for ; Mon, 29 Jan 2018 05:27:48 +0100 (CET) Received: from unknown (HELO relmlir3.idc.renesas.com) ([10.200.68.153]) by relmlie2.idc.renesas.com with ESMTP; 29 Jan 2018 13:27:42 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir3.idc.renesas.com (Postfix) with ESMTP id 63C1870D01; Mon, 29 Jan 2018 13:27:42 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,429,1511794800"; d="scan'208";a="269596238" Received: from mail-sg2apc01lp0246.outbound.protection.outlook.com (HELO APC01-SG2-obe.outbound.protection.outlook.com) ([65.55.88.246]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 29 Jan 2018 13:27: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=iMC93osl0jVXqz7g+0V+LuJ/h5PCr3LN9Ak0MzrpsNo=; b=huKIc4xG/N/jrmjOMETLoRAzrhAY8ayZykAb41/0lQwILVFJI1BCksxasG9GKhsgz2cyWobFUQgFrL7IjfScliYKyL0Luu3N0EOiUkJqUiogOHANm2wJTTMzzvFVBkkFJ+34wxv/xHfKJkq8ggciMiGx2+LRID82/KAltGcO8HY= Received: from morimoto-PC.renesas.com (211.11.155.138) by KL1PR0601MB1877.apcprd06.prod.outlook.com (2603:1096:802:7::22) 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:27:39 +0000 Message-ID: <87wp01wasb.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:27:39 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: OS2PR0101CA0017.jpnprd01.prod.outlook.com (2603:1096:600:3::27) To KL1PR0601MB1877.apcprd06.prod.outlook.com (2603:1096:802:7::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 9f685caf-384d-463f-c8da-08d566d0a238 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:KL1PR0601MB1877; X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1877; 3:3vwb7Nh2xSON6PL61vF64HZUFqYZV11eyLTSLF0mORLWsYe+CbC2CFsUPTfmz5rONMZUDV/j9jxddrpJwh4Jznss9y6uGGDBL7Z6aj2iyFFOK+eCux6dp9Ounux5GQhYPyUAEkYD7oZaaD9LvMD8rt9mTmAcFCYfR3LzMN3QYmR0QgovO5124mGqEfESR688+MLsZL8iyTUtHYO9SRCFTLuiZUjprt5LnYwknyZgelmbIRzkfL1gJa2b0SyAWVl8; 25:B65sDEP6W4L0I35lYkgCyrG19erTrXlUfvo5JruEEXRb4Dy489FZDtfIKw+w1i7t65yx/RO0v8M2cRGKgAueOCLTPg6fWHbY8ZrCJ7IaWWugB1r7FqBLF71Kd1jr4/K0eBagkyyOLDwAfCZg6j5YrxXsbuIaKT1lUHwZHzBpu0DlS3wHRQpcIMWimsI8MWX6/TCm6VlzMUEjWRVMGq49SEjLaCtguLsh/TpL6q4ojakVRonYOPyJbtk/SdOPTpB/qzluggUUNuums6kBeIKj0YPJFZnf1JaS0yDhxHzbyBKsZ3uNKwbVCpnMd2HwLlv2W5YT8gh3fXbeEHXC0y7jIw==; 31:Je4F2gk4d4MlRBrHE7nusOZFyvFENVu4IjExt8MNvfBMq+ka6sowXlIQAc+L6eBb5a56R6/Qvw72/FO2glol4c2424eyarqr2oLL02z5OMwN+sHe6UMJRh/iazh+e57m9r1H6x6+lSXWd545bm/F4qkiyjP0LecoWcEs/b4vEqh/QF+OgPOh5EKlK3s5Mi5wHGXlJbaDsaZIMBd5NI7ucmP32NbJCZGNZfFDOdSMCdY= X-MS-TrafficTypeDiagnostic: KL1PR0601MB1877: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1877; 20:Rpg+THM5ko8qIkAj3M/GYCkOCD/4FqsZQU3z6px7lz7b31JiSKgpfnFPWDYXYDbzKOaiuN8W0VL1fQHwo7nreWkEMCMOebl7HWKRNg0MJKyE2gBPku4VrCI00LR5DlMDaiDsqMebLSLft+w2ZaB5byd1FeghqGU3JXJ4/LGtPZzKzz3tnkVtcpC02X38dxrogc9E6NRpOut8hmt3ouBd+Zime9RssQXJ0XDndMWkpLKNzhfXjUMS84+4fb7EsvlYjItdb2ZOFpM70oEfcjUkhhQyj/WHFp6CJ8oihHHPrKL4ga5CIGJm6uF2wAJnPUlrfj+9sZ7cur8t/i7LSd9bUMRWgdte+owklJRZ3dtUXxm2cQWcdN1FApyDe4pTYyl4xdDzJ91ydt37+ZgZylYjRPLzqKI5ur9+bou2K1/ll4Y1Ih3NpRnw5CF5Bv2LTeMM7TH3JelbdBPE9z+Rm0SsJX3L4ulSPO/I2W5oHjbRnp/vVtT2Ae9dKiFb/4w2GRzy; 4:9b1wzAH1jaVaCAYdKWI6AVMl2IpIaIhfpCUnby/ySn6n1YRDzoUAlEVlZeOGswOvlN2z60001KONGp1AHfm98CvqzHyGiProCzwBvMqfSqhJhkB5my98sJjdipYHXlOyB2n+d9/jGuKgp23u22B2/lzarn19DYJRUBps1O2kIb8MFWZRPx3cskOEF4CHLyWZm03uj0hqXlRtzzvog+6aWEtIf4srPs2Ut6X4O0folI1YqdWi0/0zwjc93P1X2qWYfj+4lhcioHTIz4Fa+4gtk8FN15TBlMh5A2i8bOzHdEyT/Nn+UClmDnMEXd0ozSJ4 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)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:KL1PR0601MB1877; BCL:0; PCL:0; RULEID:; SRVR:KL1PR0601MB1877; X-Forefront-PRVS: 0567A15835 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(39380400002)(396003)(376002)(346002)(366004)(199004)(189003)(2906002)(478600001)(25786009)(3846002)(6486002)(23726003)(105586002)(4326008)(6116002)(53936002)(36756003)(53416004)(97736004)(106356001)(7736002)(305945005)(66066001)(83506002)(68736007)(8676002)(26005)(47776003)(5660300001)(59450400001)(386003)(76176011)(6916009)(7696005)(69596002)(8936002)(86362001)(50466002)(81166006)(52116002)(16526019)(2950100002)(16586007)(81156014)(186003)(58126008)(316002)(21314002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:KL1PR0601MB1877; 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; KL1PR0601MB1877; 23:uBAOeQ0tJPm0/By26DqDL3auZMvFF/pxc6iD7fo?= =?us-ascii?Q?0XL8SNsoeQ/2NBKqD/6JoJiZF2jGXmy5bBkQC1GrtTm1UjqqmyYg7ZV0JHWS?= =?us-ascii?Q?eK+W2Y3AmhWsXgFavwkjupsPeymAobh/CVn0kthvsVaECUKn3dDwD7GKT/6j?= =?us-ascii?Q?hB8yWCocKtm2zwrt/adoB4tHQmwtKLJv4GX1PJL9cK52jEBwy3fArKETaWhl?= =?us-ascii?Q?0qUKW9gr/i1DV/8bg9gzBAcYAMOdK/Ixksw0JrFu2oJEkjNxXCxf6NwGSNTy?= =?us-ascii?Q?LMBCr9pbupwzIao3hBnpdfOKajVLeYx141kZNV+3uGd/qjfibiQtCsltKfjS?= =?us-ascii?Q?naWyjftrILKNG4Syz/D61RlWabvcx4at78H6OUex8YXtNm7MhNg4vzKNgLK/?= =?us-ascii?Q?4LiNIEdrR4hHirISft9Ig6/Z5rKALLqERELRuLYN2Afmf5+Y9WypWrgZA4yq?= =?us-ascii?Q?Q1MVrUNhUP9xbUkrt5YECu2zeq0O1tYZ+vGMh1UbILrl2h4mG9+gZtSRlbNd?= =?us-ascii?Q?aLxl+vo1vjiEXUeibF9Tj//I8C0CNNhm6689N3jC15uL7FKYxDN+xCEzoqcw?= =?us-ascii?Q?UePKHOUvvVwuu/8oHHnn/FLPQYbGTXiQeulNC5OshWGFpFwfZl7vqHM6+IsB?= =?us-ascii?Q?5y+wlOqCDOeEWwhQWqCguBrfji8py1bFlvjh4ZiNdD/vjiZehRQ/ip4q4HxI?= =?us-ascii?Q?FjfMpisFCFBivAdnIk3TBgMgcHWAeL3HuqCKfLgUzRPeTm2i/0aJ18oE8n+z?= =?us-ascii?Q?jZAn98Drx9o4O7lv4WNMAoQbRO8ea0ghKXHP8rF9xkToClBRdYsP2winNoMk?= =?us-ascii?Q?RSSo28DF406vbwgF17weJRb+/bAWLCOOldoTK0FV4RVRAQM+f3ObVTH6/uO2?= =?us-ascii?Q?lBcsanOjp0jmtneoeVtONjJtwkdRndn4+4E/Ku4aQuXjDWlRwbB3pDq0hbH6?= =?us-ascii?Q?wJ6LJcrckxhOvCQUiEVP+zmooikRm+tSbPchpjlSvGPImuRmmb0ylv0Hybq8?= =?us-ascii?Q?USQVaV/SUoPUodRSbUlbHwP1sJDd3gJNkp7nTi4qzybpSs+fj5Q7Cin6+8IN?= =?us-ascii?Q?hkcYiw70mBv8SNbdFrmv9AgASpEUlGYcn4DjLT2Ac2wE1xT3MiySk6djH/9F?= =?us-ascii?Q?va3I3CiXnslAj6eZt9S/LKE9/+8XV/ECbilJB3hJrSKDUvORBPgkuK3Ms9gX?= =?us-ascii?Q?D7CyxaGUjB8h9Ops=3D?= X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1877; 6:TvRXKRsRx6XXWl7n/a4bVpnvvrrXH4nmhEPY12rwHx5HqWm4Tov0M0PkP0ec4outbyOl8H9mAD/rjIk5NG0/+w3vtdTyOMh5xkTR6ViUPtsw1PtpnnsgUgcWQ9G9b4pkDMNzMmvPoNzEN/1SjJwlOzp4Y1JaUoN5afo9Zl65DvrpxCXaPrpCwUpzwpleT30GwRcgDZFJ3sYXRXHSKxMeQN8NwM3oAX7FtF52yzY0kI4iP9kvMfMUCy9RNOcFnhhxYrzham1Pkrh1tGRrp75UAXzfcCmaRaMxeNpMcjZdaIxVzevL/nx2IilNTPr/K5hPggHABn/isnStpJUkI6+FtR7d7Gl6Pht0M6HUkjtCejA=; 5:MdLCj72qLfGxNydOW2l7QJmWQmV0a4Rap/EslyVW0t3leEftTe9I3Yz8GmFxd3ckgFctFnZSIJKdqaJQmkBNJiGz/vljJsHpU+6qhaw1i2YFxc4/ciO1AJLphu/kZu+Qtr7HbPGJItqFfsq3z5sqfmYClF2Fh1NRNCZd6X42zq8=; 24:ksiVimzdY7lKxhE0Z2QWFMdiHcj4IpaNNv6H6wY5pkK5Gngz/jIeVEz/LiIehN5wCawJ9a80uzFpZDWyvr860vw6QjbuWzylM92MoPwR2/I=; 7:Ygp6u/UKmUwvtqFDt2Rq43f6oUfR0xA1dcCD/rQa1FS3B7hTrsvCFeaU1AH27IzXsa9o7B0ZPos+1np0zSap/dZnZa0Xw17GbQXStsKYLeUu/rmaTU1FuHZLwunNUeGKE5cTb5OvjAhSh/hnfrTRMOYcD/J9lJAxVt8LrgATK/rbJUBOcv3XrGL2TFVcPg0w+2yZ8govIvnv4wOX6q7qOxflbbyx3NNoLtvuKFz/LWMVPjSGk3PeZ334oLfpZ7QB SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1877; 20:nkTZdgf7AkKSXFH60ebni1TRb5slZKtDQq5Jq7zTDpbwqqAbKjmQ1sMlLb4QbOmt1MTR+sO3XFwctADA0u/EPqwmqbfVAlRHXxl16R8EOgZuIBJdlRxJZbo++Pa+i+DGFLUCYvhmxBVnmoCe2RzfiTJD9pDjd1jmfq12DnAVrhE= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2018 04:27:39.9435 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9f685caf-384d-463f-c8da-08d566d0a238 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR0601MB1877 Cc: Linux-ALSA Subject: [alsa-devel] [PATCH v2 139/186] ASoC: atmel-classd: 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/atmel/atmel-classd.c | 54 +++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/sound/soc/atmel/atmel-classd.c b/sound/soc/atmel/atmel-classd.c index 6bc2b72..9baaf6b 100644 --- a/sound/soc/atmel/atmel-classd.c +++ b/sound/soc/atmel/atmel-classd.c @@ -248,9 +248,9 @@ static SOC_VALUE_ENUM_SINGLE_DECL(classd_eqcfg_enum, "Single ended", "Differential" }; -static int atmel_classd_codec_probe(struct snd_soc_codec *codec) +static int atmel_classd_component_probe(struct snd_soc_component *component) { - struct snd_soc_card *card = snd_soc_codec_get_drvdata(codec); + struct snd_soc_card *card = snd_soc_component_get_drvdata(component); struct atmel_classd *dd = snd_soc_card_get_drvdata(card); const struct atmel_classd_pdata *pdata = dd->pdata; u32 mask, val; @@ -284,16 +284,16 @@ static int atmel_classd_codec_probe(struct snd_soc_codec *codec) default: val |= (CLASSD_MR_NOVR_VAL_10NS << CLASSD_MR_NOVR_VAL_SHIFT); - dev_warn(codec->dev, + dev_warn(component->dev, "non-overlapping value %d is invalid, the default value 10 is specified\n", pdata->non_overlap_time); break; } } - snd_soc_update_bits(codec, CLASSD_MR, mask, val); + snd_soc_component_update_bits(component, CLASSD_MR, mask, val); - dev_info(codec->dev, + dev_info(component->dev, "PWM modulation type is %s, non-overlapping is %s\n", pwm_type[pdata->pwm_type], pdata->non_overlap_enable?"enabled":"disabled"); @@ -301,21 +301,23 @@ static int atmel_classd_codec_probe(struct snd_soc_codec *codec) return 0; } -static int atmel_classd_codec_resume(struct snd_soc_codec *codec) +static int atmel_classd_component_resume(struct snd_soc_component *component) { - struct snd_soc_card *card = snd_soc_codec_get_drvdata(codec); + struct snd_soc_card *card = snd_soc_component_get_drvdata(component); struct atmel_classd *dd = snd_soc_card_get_drvdata(card); return regcache_sync(dd->regmap); } -static struct snd_soc_codec_driver soc_codec_dev_classd = { - .probe = atmel_classd_codec_probe, - .resume = atmel_classd_codec_resume, - .component_driver = { - .controls = atmel_classd_snd_controls, - .num_controls = ARRAY_SIZE(atmel_classd_snd_controls), - }, +static struct snd_soc_component_driver soc_component_dev_classd = { + .probe = atmel_classd_component_probe, + .resume = atmel_classd_component_resume, + .controls = atmel_classd_snd_controls, + .num_controls = ARRAY_SIZE(atmel_classd_snd_controls), + .idle_bias_on = 1, + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; /* codec dai component */ @@ -331,7 +333,7 @@ static int atmel_classd_codec_dai_startup(struct snd_pcm_substream *substream, static int atmel_classd_codec_dai_digital_mute(struct snd_soc_dai *codec_dai, int mute) { - struct snd_soc_codec *codec = codec_dai->codec; + struct snd_soc_component *component = codec_dai->component; u32 mask, val; mask = CLASSD_MR_LMUTE_MASK | CLASSD_MR_RMUTE_MASK; @@ -341,7 +343,7 @@ static int atmel_classd_codec_dai_digital_mute(struct snd_soc_dai *codec_dai, else val = 0; - snd_soc_update_bits(codec, CLASSD_MR, mask, val); + snd_soc_component_update_bits(component, CLASSD_MR, mask, val); return 0; } @@ -380,7 +382,7 @@ static int atmel_classd_codec_dai_digital_mute(struct snd_soc_dai *codec_dai, { struct snd_soc_pcm_runtime *rtd = substream->private_data; struct atmel_classd *dd = snd_soc_card_get_drvdata(rtd->card); - struct snd_soc_codec *codec = codec_dai->codec; + struct snd_soc_component *component = codec_dai->component; int fs; int i, best, best_val, cur_val, ret; u32 mask, val; @@ -398,7 +400,7 @@ static int atmel_classd_codec_dai_digital_mute(struct snd_soc_dai *codec_dai, } } - dev_dbg(codec->dev, + dev_dbg(component->dev, "Selected SAMPLE_RATE of %dHz, GCLK_RATE of %ldHz\n", sample_rates[best].rate, sample_rates[best].gclk_rate); @@ -412,7 +414,7 @@ static int atmel_classd_codec_dai_digital_mute(struct snd_soc_dai *codec_dai, val = (sample_rates[best].dsp_clk << CLASSD_INTPMR_DSP_CLK_FREQ_SHIFT) | (sample_rates[best].sample_rate << CLASSD_INTPMR_FRAME_SHIFT); - snd_soc_update_bits(codec, CLASSD_INTPMR, mask, val); + snd_soc_component_update_bits(component, CLASSD_INTPMR, mask, val); return clk_prepare_enable(dd->gclk); } @@ -430,9 +432,9 @@ static int atmel_classd_codec_dai_digital_mute(struct snd_soc_dai *codec_dai, static int atmel_classd_codec_dai_prepare(struct snd_pcm_substream *substream, struct snd_soc_dai *codec_dai) { - struct snd_soc_codec *codec = codec_dai->codec; + struct snd_soc_component *component = codec_dai->component; - snd_soc_update_bits(codec, CLASSD_MR, + snd_soc_component_update_bits(component, CLASSD_MR, CLASSD_MR_LEN_MASK | CLASSD_MR_REN_MASK, (CLASSD_MR_LEN_DIS << CLASSD_MR_LEN_SHIFT) |(CLASSD_MR_REN_DIS << CLASSD_MR_REN_SHIFT)); @@ -443,7 +445,7 @@ static int atmel_classd_codec_dai_prepare(struct snd_pcm_substream *substream, static int atmel_classd_codec_dai_trigger(struct snd_pcm_substream *substream, int cmd, struct snd_soc_dai *codec_dai) { - struct snd_soc_codec *codec = codec_dai->codec; + struct snd_soc_component *component = codec_dai->component; u32 mask, val; mask = CLASSD_MR_LEN_MASK | CLASSD_MR_REN_MASK; @@ -464,7 +466,7 @@ static int atmel_classd_codec_dai_trigger(struct snd_pcm_substream *substream, return -EINVAL; } - snd_soc_update_bits(codec, CLASSD_MR, mask, val); + snd_soc_component_update_bits(component, CLASSD_MR, mask, val); return 0; } @@ -614,10 +616,10 @@ static int atmel_classd_probe(struct platform_device *pdev) return ret; } - ret = snd_soc_register_codec(dev, &soc_codec_dev_classd, + ret = devm_snd_soc_register_component(dev, &soc_component_dev_classd, &atmel_classd_codec_dai, 1); if (ret) { - dev_err(dev, "could not register codec: %d\n", ret); + dev_err(dev, "could not register component: %d\n", ret); return ret; } @@ -645,13 +647,11 @@ static int atmel_classd_probe(struct platform_device *pdev) return 0; unregister_codec: - snd_soc_unregister_codec(dev); return ret; } static int atmel_classd_remove(struct platform_device *pdev) { - snd_soc_unregister_codec(&pdev->dev); return 0; }