From patchwork Wed Aug 23 05:14:10 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 9916589 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 967BF602CB for ; Wed, 23 Aug 2017 05:14:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 81C6F287AF for ; Wed, 23 Aug 2017 05:14:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 761B2287D1; Wed, 23 Aug 2017 05:14:24 +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 5486F287AF for ; Wed, 23 Aug 2017 05:14:23 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 97D8D26705F; Wed, 23 Aug 2017 07:14:21 +0200 (CEST) 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 D05FB267064; Wed, 23 Aug 2017 07:14:20 +0200 (CEST) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id 08FA5266ED0 for ; Wed, 23 Aug 2017 07:14:15 +0200 (CEST) Received: from unknown (HELO relmlir4.idc.renesas.com) ([10.200.68.154]) by relmlie2.idc.renesas.com with ESMTP; 23 Aug 2017 14:14:14 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir4.idc.renesas.com (Postfix) with ESMTP id 66504721E9; Wed, 23 Aug 2017 14:14:14 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.41,415,1498489200"; d="scan'208";a="254358596" Received: from mail-sg2apc01lp0248.outbound.protection.outlook.com (HELO APC01-SG2-obe.outbound.protection.outlook.com) ([65.55.88.248]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 23 Aug 2017 14:14:13 +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=/jxfni0lDzVdLqtLB6uaOuGEu/5ofnB6oV3xy3HtNGQ=; b=n6vdbzDWgHtO5s+s+0t0uoV38Tw1wXNFFg063HAA5lmpijhyqqgYvnPctl9jc1TC6DDeJYQZOrwmITAHrd6PmxIYLOkJDIU7rXJdDK9TFSZ4b8p96VnHQFKiOl0CbQEcCKujPKw7LHY8JT7/NWIbtdlmrbiksFUXdD+SHx8ZQGI= 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_128_CBC_SHA256_P256) id 15.1.1362.18; Wed, 23 Aug 2017 05:14:10 +0000 Message-ID: <87mv6qx46y.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 To: Mark Brown MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Wed, 23 Aug 2017 05:14:10 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: OS2PR01CA0126.jpnprd01.prod.outlook.com (2603:1096:602::20) To PS1PR0601MB1881.apcprd06.prod.outlook.com (2603:1096:803:8::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f51f2206-970d-4c93-a3ca-08d4e9e5c9c8 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(48565401081)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:PS1PR0601MB1881; X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1881; 3:e6qbWXDWL8NWYUdI7N88UkB9Dp42pRIHMeslMXBlIWxCcoXYRuX5WXmAUUpF2rLiI+KhorRmLtDdzU9mkF31s1Ly74PbreY9is5JbVLUKyQmqJYrA5UjTU21nXXHOxn/ZDv6LBtQgeJZ9eWmaF4xQocUck9vZ1kTNaUOQIIYaUw8t2n/0hQfeqnTN7uQ0xHTdjk6W/FOUwiGHLSgx5K14Yk9aFGOY1hIv6/lH/l7KC0Mkt5lcf2slajbphmHin/m; 25:0WRJBYYp4K8bXce6rxw9ChKdhC9aOozdUAILwxEmkWWu3y7h3yUNcf4LosoIKduIXdNUEJPzey0cDO2zq0HsCioGBDlU6nKTr5t1W74fQy8TkXIm/CTwMz2wdpY/KVRzD0W+sjW8xHM6qK3ufZBhuqVI4G4wB96qyYA4CuPswahnQ9f2iBPcg2prdbjkEM2e2xiYcvUcYxakd1D0q03MKsVCKVTGSwOh7XVAIWibFwo9Tz6vKaP4trcKRA19iGQVc1MBPSwo7H4Ma4FhGk7VMMPdOL96JEvgB84wMBiRWDyJ1GyjwSdFkCTOyMZborIkrtVuO4DMDTKwk+mWXq9VHg==; 31:YJB4fb5YKAkhhRvjUTrHuRubioiX0v0Zgg8P5pIxHXNmAmc9VTw3EYruUIgykzPrxLyyk+6CdczwBboRtpfIjWXFu1wo2GzFAmRkFyWfE7lr4NwaOJUEec8E9nO+czojho1KfS2YlEkrKOQyDJG3uOLLBNcO2UbF4iXvZAv5eS1YSS89UNMZyLyozY0zFBUJrjxPIYY7nXqVbJot+c99eQMW5ITYPMlMXjdnR4M92dM= 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:WIvypDoJNkF5It3PiE0YUAMLxT4Q5FG4W5jbkt66aKf8Vzr1ubhV0z+AXZ3emxKIvuFuGjCJZA5HOUsA1R2ABIhS/4nsKLorZxXF+nogA06YUyETvB1zXi3ZK580aV9PnBRQyyl5/RdMDnMneEWuYRKHEax93r7PPgymdHF/wMV1vCfo/Ag3BQLKCEt6tcGQeaA543o6p0h68E/Uyn4KX836Zkb4ohSicJ51I9Qkysd5m/vo/lgLchE208nNd1YN0xlqaXupn5BMJx+gQyiAO9Zj7jTFFLwqqkCrntyBcmuI/v91ZGitGEQx5kU+IhAY3i5zjBmb4gte/H3wF+5/Us8JBTKwMB00S2xEkbxM9xOvgkqiUHquHcnxnP4vj+ArVaLoh0xJ7Qks7IlgyiZPQmT7UtaODTcwRZIap/CZbFtX1XeA3vy5qi4rG5F64OUehu/+l8/O9yZbpOKYIkNUS0vJCdEy2OVt8DubQCXs0yl7SvLRRxTXY+qZWsfaKrMC; 4:Dr2gfW/yYX5SNDk9UbjP1EbzaUa5XGy3n4bNE7PTLPaKf1XuNllo+iGUnGUC0IKmtGRYnMPKcn+YkAw381OAE7gwwed9KBkfvTbVS0JN1+NTa4nlwDe+gNGKkJr48fEAclJkDxZL8eVBzztluTrywLYjbOUnc7nnsh/krWyMkz+1uvvGPZHhLjmBVKKBNXr6Neq+B8ZpUOgGgHMTK4Gv6zyuP2ry4JAy6rHa6+gmhy7/es7PIpKla7si1hNnroWszsMudqjcfWDzoFwlQNQgSPIABlbUvBoqc6kbdv8DrPE= X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123558100)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:PS1PR0601MB1881; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:PS1PR0601MB1881; X-Forefront-PRVS: 040866B734 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(7370300001)(6009001)(39860400002)(199003)(189002)(105586002)(50466002)(2906002)(110136004)(47776003)(81156014)(23726003)(54906002)(86362001)(3846002)(66066001)(7736002)(81166006)(53936002)(8676002)(305945005)(6116002)(6916009)(53416004)(42186005)(97736004)(50986999)(54356999)(7350300001)(83506001)(101416001)(106356001)(4001350100001)(6486002)(25786009)(189998001)(36756003)(5660300001)(4326008)(478600001)(68736007)(69596002)(33646002)(21314002)(16060500001)(309714004); DIR:OUT; SFP:1102; SCL:1; SRVR:PS1PR0601MB1881; 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; PS1PR0601MB1881; 23:2vbXMXhifSy3t8mLqv1jHd0h2EEg9h7FilMlBA8?= =?us-ascii?Q?MjF4eOIksW7zr+FWz0/8ZoXeEoRqY+ij9tox5XoYsYdWNTWZOcg4U5gFEcW/?= =?us-ascii?Q?2lOO/hBjSM62byqztpJKzKMOnUMs+AH+ElMPkDL6lPdy1HWB3s5GI+nIVuqR?= =?us-ascii?Q?BrSd7zqcgYRjFU0zSsa9NfcySqd1tv0PqI+px5RL+UI836uI5ppqIHVVoFPy?= =?us-ascii?Q?h1UBm+gJg1lke2V50kSSh4zJ2Q8jdG1lSEltw1e/Cq5/3F25+EydUEaCfcAp?= =?us-ascii?Q?BTqNsZqkBB+mKjHW58isbqv+kLfgSQ+Yt2sFTXM2AoP4E7jSZBm1QEqKwOfO?= =?us-ascii?Q?4MDOuS4Cfc531SgrL5xzM11Dhg2X2hL2Qa0ld+54lTCWe9NMx6GM8QgvIBsk?= =?us-ascii?Q?+GZfCJ3yyvmYQyC/LxbCI1Ppix/KdDUoswmKdPW1rAhE8kx+/O83afZj84L3?= =?us-ascii?Q?ix82l5ink2FpdtOynoqCm9TntWD5KSZecSBXdL/gR22OL2SOk7rkaI5vg84U?= =?us-ascii?Q?8jLE45Go4J/lcng/Ym1IiDpiXp+5LRdbn632IsCZ2njOCYYuroGYtjEy3SlP?= =?us-ascii?Q?O5DRX3KSk1MvBwdj2ItsklwYjqWOlbqo1OS74wmHP+oTzdeL1W732R4NPAv9?= =?us-ascii?Q?X7iEcV7RyRotNdB4s9lVn+OF30rVP+oJZXwWARtkzM5dVcv7U3G7QNZh+mjw?= =?us-ascii?Q?aQZvphkw6ewjBsnxtDntR5y6fPondEDOlRkYEXq2EZS1W1yZWvDA6o36WBdx?= =?us-ascii?Q?tmVpBS5GMCcmqur2O9AvyuOtP2E4cgQPteXCnO0EdxRpgPZ6HxUAthTwEwKb?= =?us-ascii?Q?f1LxYSBSx9yGTiArbMgS00v/nZ1YBS/BxUB8NW5qASFgsBqX5fmrFhJHXORg?= =?us-ascii?Q?TcVtm+LDMUXs4fd7461Ha2w5Ct+CuYBgpsNZMVPY7UmoM/rMKJulIXdOJvws?= =?us-ascii?Q?vi1L0I8gicfpMw9N6rFvKS8HI0tnT6XwoUzcFQLwUs6Fd3cYVYRZe3GVogCv?= =?us-ascii?Q?tkQaPCZdsDvYQLSYO+FY9diG2ZxsJANfyi9jP/OxBzcz8LTV/aV+IRleMicS?= =?us-ascii?Q?ejqDlW3FsPqT3BNf9aHa1edBQ6hCyv6yf34d4HlK/bSfbDwensLekoU5NML/?= =?us-ascii?Q?tynS0fCPb4Bjca1jNUISHZWXjtSz8IvsGdyoCUvLM8yf7bTIgf1UzGg=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1881; 6:CANVon+mKLZdB9eNJQdXIWLTqnD9wYsQ2YAv1f7af+z7nMHPDNse5DpAIhQ7od4ndPlGCGHflgdTkog4wcB9VfZJ6KMl24xq9Y1iLBGX8Wo5bpFU3aALZ3uEe+X3ZLzu0kfml1Zq3c8iuJU8TBvBRtTwImuxWt9yN7AwMv0Xc7eU4C9HDVwgJCTzI2dYCAMagxnc6bYyPpiXZcab6vomTSVNZ8vFbu37LRPSSVt/fSU4iINFjIAg79kAPSvw6NtktKueDttb/1tkQ05gfa5rDTiBdineIJO+CBFXSOsCK5G06KQtVIfCWIIvkmO44fBzrBXyLYO1xcm+KMCQyY6gMw==; 5:JX44n2D06rVFHRbCUXV8vnSw8D7eIj+vXq/DvFHITVp6vrnJemYBE2AOsBfy6Tl+0TknBblLKzYwF50GXq1sLFOl1dmm1bXdyqwFplS5lB+vOMkVJ8m6lv5arNq7fa0uCT+D/1GO/wHYoHSYyeEpDg==; 24:zhYQEynGj6DHXSnp+ClwAY0/SSvmzj/6inhZjnAJSRy/bXE72OCjkPMs566pstpSHRYwn0tB6+Po+6p62TamnyM3Zvif3hyiCrw0DzuR6Ck=; 7:loZ6Ek2nLb7AuXXNZswait9TIv+7I3M8jnt6UInAXh3elEg3e5KzRePVsdboyDH8nkHpRMmeReePLe0wn34ic/SITvzesPRzC/gPW5lszHY0v+rOp83cW+NLhR7PH21qtHXUXEJZmqg9btDixVqWWccW2uJSsVqaJbUzYS5jpwuvg/KhiWA/ix6v8TrrRLGOLgu4d+qtPUr7wNWx8mM9utZtALmxAZKo/RglFWQNHzQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1881; 20:K/mkS/F2IP88qabBj98j/3SY9H84ah+RWjM7PkqCcGlLMWfFyTpvs7QFBXiLhab0NAcd20BwLMzt1LvjqOCWGPayKJs7oe58ao7+B/1aFEqfhvn6W+MQgqO5vD747mHLE1+8PrwA1ogujLpeLCGMFhDq0oA/87/oTaQhTlBlbco= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2017 05:14:10.4797 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: PS1PR0601MB1881 Cc: Linux-ALSA , Simon Subject: [alsa-devel] [PATCH] ASoC: soc-ac97: 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 codec will be replaced to component soon. AC97 is codec related feature now. Thus this patch replaces codec to component on AC97. To keep compatibility, previous snd_soc_xxx_ac97_codec() is now defined as macro to convert snd_soc_xxx_ac97_component(). Signed-off-by: Kuninori Morimoto --- - I have no AC97 board. Compile test only had done. include/sound/soc.h | 10 +++++-- sound/soc/soc-ac97.c | 84 +++++++++++++++++++++++++++------------------------- 2 files changed, 51 insertions(+), 43 deletions(-) diff --git a/include/sound/soc.h b/include/sound/soc.h index 180c41b..f8fa9d0 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -568,10 +568,14 @@ int snd_soc_test_bits(struct snd_soc_codec *codec, unsigned int reg, unsigned int mask, unsigned int value); #ifdef CONFIG_SND_SOC_AC97_BUS -struct snd_ac97 *snd_soc_alloc_ac97_codec(struct snd_soc_codec *codec); -struct snd_ac97 *snd_soc_new_ac97_codec(struct snd_soc_codec *codec, +#define snd_soc_alloc_ac97_codec(codec) snd_soc_alloc_ac97_component(&codec->component) +#define snd_soc_new_ac97_codec(codec, id, id_mask) snd_soc_new_ac97_component(&codec->component, id, id_mask) +#define snd_soc_free_ac97_codec(ac97) snd_soc_free_ac97_component(ac97) + +struct snd_ac97 *snd_soc_alloc_ac97_component(struct snd_soc_component *component); +struct snd_ac97 *snd_soc_new_ac97_component(struct snd_soc_component *component, unsigned int id, unsigned int id_mask); -void snd_soc_free_ac97_codec(struct snd_ac97 *ac97); +void snd_soc_free_ac97_component(struct snd_ac97 *ac97); int snd_soc_set_ac97_ops(struct snd_ac97_bus_ops *ops); int snd_soc_set_ac97_ops_of_reset(struct snd_ac97_bus_ops *ops, diff --git a/sound/soc/soc-ac97.c b/sound/soc/soc-ac97.c index 36dae41..3f424f2 100644 --- a/sound/soc/soc-ac97.c +++ b/sound/soc/soc-ac97.c @@ -44,7 +44,7 @@ struct snd_ac97_gpio_priv { struct gpio_chip gpio_chip; #endif unsigned int gpios_set; - struct snd_soc_codec *codec; + struct snd_soc_component *component; }; static struct snd_ac97_bus soc_ac97_bus = { @@ -57,11 +57,11 @@ static void soc_ac97_device_release(struct device *dev) } #ifdef CONFIG_GPIOLIB -static inline struct snd_soc_codec *gpio_to_codec(struct gpio_chip *chip) +static inline struct snd_soc_component *gpio_to_component(struct gpio_chip *chip) { struct snd_ac97_gpio_priv *gpio_priv = gpiochip_get_data(chip); - return gpio_priv->codec; + return gpio_priv->component; } static int snd_soc_ac97_gpio_request(struct gpio_chip *chip, unsigned offset) @@ -75,20 +75,22 @@ static int snd_soc_ac97_gpio_request(struct gpio_chip *chip, unsigned offset) static int snd_soc_ac97_gpio_direction_in(struct gpio_chip *chip, unsigned offset) { - struct snd_soc_codec *codec = gpio_to_codec(chip); + struct snd_soc_component *component = gpio_to_component(chip); - dev_dbg(codec->dev, "set gpio %d to output\n", offset); - return snd_soc_update_bits(codec, AC97_GPIO_CFG, + dev_dbg(component->dev, "set gpio %d to output\n", offset); + return snd_soc_component_update_bits(component, AC97_GPIO_CFG, 1 << offset, 1 << offset); } static int snd_soc_ac97_gpio_get(struct gpio_chip *chip, unsigned offset) { - struct snd_soc_codec *codec = gpio_to_codec(chip); + struct snd_soc_component *component = gpio_to_component(chip); int ret; - ret = snd_soc_read(codec, AC97_GPIO_STATUS); - dev_dbg(codec->dev, "get gpio %d : %d\n", offset, + if (snd_soc_component_read(component, AC97_GPIO_STATUS, &ret) < 0) + ret = -1; + + dev_dbg(component->dev, "get gpio %d : %d\n", offset, ret < 0 ? ret : ret & (1 << offset)); return ret < 0 ? ret : !!(ret & (1 << offset)); @@ -98,22 +100,24 @@ static void snd_soc_ac97_gpio_set(struct gpio_chip *chip, unsigned offset, int value) { struct snd_ac97_gpio_priv *gpio_priv = gpiochip_get_data(chip); - struct snd_soc_codec *codec = gpio_to_codec(chip); + struct snd_soc_component *component = gpio_to_component(chip); gpio_priv->gpios_set &= ~(1 << offset); gpio_priv->gpios_set |= (!!value) << offset; - snd_soc_write(codec, AC97_GPIO_STATUS, gpio_priv->gpios_set); - dev_dbg(codec->dev, "set gpio %d to %d\n", offset, !!value); + snd_soc_component_write(component, AC97_GPIO_STATUS, + gpio_priv->gpios_set); + dev_dbg(component->dev, "set gpio %d to %d\n", offset, !!value); } static int snd_soc_ac97_gpio_direction_out(struct gpio_chip *chip, unsigned offset, int value) { - struct snd_soc_codec *codec = gpio_to_codec(chip); + struct snd_soc_component *component = gpio_to_component(chip); - dev_dbg(codec->dev, "set gpio %d to output\n", offset); + dev_dbg(component->dev, "set gpio %d to output\n", offset); snd_soc_ac97_gpio_set(chip, offset, value); - return snd_soc_update_bits(codec, AC97_GPIO_CFG, 1 << offset, 0); + return snd_soc_component_update_bits(component, AC97_GPIO_CFG, + 1 << offset, 0); } static const struct gpio_chip snd_soc_ac97_gpio_chip = { @@ -128,24 +132,24 @@ static int snd_soc_ac97_gpio_direction_out(struct gpio_chip *chip, }; static int snd_soc_ac97_init_gpio(struct snd_ac97 *ac97, - struct snd_soc_codec *codec) + struct snd_soc_component *component) { struct snd_ac97_gpio_priv *gpio_priv; int ret; - gpio_priv = devm_kzalloc(codec->dev, sizeof(*gpio_priv), GFP_KERNEL); + gpio_priv = devm_kzalloc(component->dev, sizeof(*gpio_priv), GFP_KERNEL); if (!gpio_priv) return -ENOMEM; ac97->gpio_priv = gpio_priv; - gpio_priv->codec = codec; + gpio_priv->component = component; gpio_priv->gpio_chip = snd_soc_ac97_gpio_chip; gpio_priv->gpio_chip.ngpio = AC97_NUM_GPIOS; - gpio_priv->gpio_chip.parent = codec->dev; + gpio_priv->gpio_chip.parent = component->dev; gpio_priv->gpio_chip.base = -1; ret = gpiochip_add_data(&gpio_priv->gpio_chip, gpio_priv); if (ret != 0) - dev_err(codec->dev, "Failed to add GPIOs: %d\n", ret); + dev_err(component->dev, "Failed to add GPIOs: %d\n", ret); return ret; } @@ -155,7 +159,7 @@ static void snd_soc_ac97_free_gpio(struct snd_ac97 *ac97) } #else static int snd_soc_ac97_init_gpio(struct snd_ac97 *ac97, - struct snd_soc_codec *codec) + struct snd_soc_component *component) { return 0; } @@ -166,8 +170,8 @@ static void snd_soc_ac97_free_gpio(struct snd_ac97 *ac97) #endif /** - * snd_soc_alloc_ac97_codec() - Allocate new a AC'97 device - * @codec: The CODEC for which to create the AC'97 device + * snd_soc_alloc_ac97_component() - Allocate new a AC'97 device + * @component: The COMPONENT for which to create the AC'97 device * * Allocated a new snd_ac97 device and intializes it, but does not yet register * it. The caller is responsible to either call device_add(&ac97->dev) to @@ -175,7 +179,7 @@ static void snd_soc_ac97_free_gpio(struct snd_ac97 *ac97) * * Returns: A snd_ac97 device or a PTR_ERR in case of an error. */ -struct snd_ac97 *snd_soc_alloc_ac97_codec(struct snd_soc_codec *codec) +struct snd_ac97 *snd_soc_alloc_ac97_component(struct snd_soc_component *component) { struct snd_ac97 *ac97; @@ -187,26 +191,26 @@ struct snd_ac97 *snd_soc_alloc_ac97_codec(struct snd_soc_codec *codec) ac97->num = 0; ac97->dev.bus = &ac97_bus_type; - ac97->dev.parent = codec->component.card->dev; + ac97->dev.parent = component->card->dev; ac97->dev.release = soc_ac97_device_release; dev_set_name(&ac97->dev, "%d-%d:%s", - codec->component.card->snd_card->number, 0, - codec->component.name); + component->card->snd_card->number, 0, + component->name); device_initialize(&ac97->dev); return ac97; } -EXPORT_SYMBOL(snd_soc_alloc_ac97_codec); +EXPORT_SYMBOL(snd_soc_alloc_ac97_component); /** - * snd_soc_new_ac97_codec - initailise AC97 device - * @codec: audio codec + * snd_soc_new_ac97_component - initailise AC97 device + * @component: audio component * @id: The expected device ID * @id_mask: Mask that is applied to the device ID before comparing with @id * - * Initialises AC97 codec resources for use by ad-hoc devices only. + * Initialises AC97 component resources for use by ad-hoc devices only. * * If @id is not 0 this function will reset the device, then read the ID from * the device and check if it matches the expected ID. If it doesn't match an @@ -214,20 +218,20 @@ struct snd_ac97 *snd_soc_alloc_ac97_codec(struct snd_soc_codec *codec) * * Returns: A PTR_ERR() on failure or a valid snd_ac97 struct on success. */ -struct snd_ac97 *snd_soc_new_ac97_codec(struct snd_soc_codec *codec, +struct snd_ac97 *snd_soc_new_ac97_component(struct snd_soc_component *component, unsigned int id, unsigned int id_mask) { struct snd_ac97 *ac97; int ret; - ac97 = snd_soc_alloc_ac97_codec(codec); + ac97 = snd_soc_alloc_ac97_component(component); if (IS_ERR(ac97)) return ac97; if (id) { ret = snd_ac97_reset(ac97, false, id, id_mask); if (ret < 0) { - dev_err(codec->dev, "Failed to reset AC97 device: %d\n", + dev_err(component->dev, "Failed to reset AC97 device: %d\n", ret); goto err_put_device; } @@ -237,7 +241,7 @@ struct snd_ac97 *snd_soc_new_ac97_codec(struct snd_soc_codec *codec, if (ret) goto err_put_device; - ret = snd_soc_ac97_init_gpio(ac97, codec); + ret = snd_soc_ac97_init_gpio(ac97, component); if (ret) goto err_put_device; @@ -247,22 +251,22 @@ struct snd_ac97 *snd_soc_new_ac97_codec(struct snd_soc_codec *codec, put_device(&ac97->dev); return ERR_PTR(ret); } -EXPORT_SYMBOL_GPL(snd_soc_new_ac97_codec); +EXPORT_SYMBOL_GPL(snd_soc_new_ac97_component); /** - * snd_soc_free_ac97_codec - free AC97 codec device + * snd_soc_free_ac97_component - free AC97 component device * @ac97: snd_ac97 device to be freed * - * Frees AC97 codec device resources. + * Frees AC97 component device resources. */ -void snd_soc_free_ac97_codec(struct snd_ac97 *ac97) +void snd_soc_free_ac97_component(struct snd_ac97 *ac97) { snd_soc_ac97_free_gpio(ac97); device_del(&ac97->dev); ac97->bus = NULL; put_device(&ac97->dev); } -EXPORT_SYMBOL_GPL(snd_soc_free_ac97_codec); +EXPORT_SYMBOL_GPL(snd_soc_free_ac97_component); static struct snd_ac97_reset_cfg snd_ac97_rst_cfg;