From patchwork Mon Mar 24 02:26:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan \(OSS\)" X-Patchwork-Id: 875835 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011058.outbound.protection.outlook.com [52.101.70.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C42913A41F; Mon, 24 Mar 2025 02:28:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.58 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742783289; cv=fail; b=d4dwqMzOKLmDXkSCLg+va1n+Qs9ISargpIf7U3LfPA3mOMvBjEWtoCSqq3XwaFrdkKurQ7JgQQ9Y2prCEt16238HKbDfmMZxj5pV8+/0tss2fqBEQD1StNGKRSpJsAa8VwfMUOCSJDAsR5L85GFhuDUrFlUqldg1ck6qTX1RhR8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742783289; c=relaxed/simple; bh=4vNLP2c/6BCyUYt7t9hrt/lv306brQJy9Ej0gzwLyXA=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=CIr6VCzt/2otvCg/nAtDUHZ2Z9teS1WSeIBfDbP03xf9rL1mdz1uOLGBqCQd2oRK6e1LeYj4FesgfbvnkXPHbOdMZXoMXIuyOLTMDdPDXYLire32dPM7kFcM0/ye/Z0UMmgWuAbgqmnFHlybRObr9wHkMffvfWMoq/sfnBJD0hM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=ts8MrnCL; arc=fail smtp.client-ip=52.101.70.58 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="ts8MrnCL" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=F8G03xcj23xeet0BvdEoJpVieUv4gC8z+mN81e25K4FP88RH5ZxyQKZeByajy1mq/nF+nNz7H7MTtBBpiYq41qyxp+rf/H2caXCkaioiIulayh3w7Yd3HXU8RzcGYpQSFyt+rEdeJxC2IREfD/Iqim16F02nEg/fNiFItYmC7Aiytki9CqM2pcAQ+EIVfz8UPlJ8dzQpeb9ltNMdx2W8+Ms4ZzmVQ2hcPiVmHcKykQOsBk8PMmA+jLu9r4nnoRSfmZfPLOvB1cUJNrrUxKTSfF515M93Uw+ZT8cZTN7N5lY9FLinp4rpNwFk+YpgjzDVmFKtcVb9C02j8SdLjFWSfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=r5rPs26f71GhOEMbPESTDzq/rS9rRl+5n49VPh/g3II=; b=f7UtMoFcIdO9yx9+5BIYBJSW3E1qDfK1vogKZOMVRhDxlkUVYaskv9gnpkQoz+dqcdhf0zXwrFRU3TKvWbA7QHgrlMRb/ukmqqf7L9WCi9mo1fIJviJG0Kvyau3LjlrgLjpZ/+HWmeEx6GJZZfSPxbah15gN9UXhCEKbnpD3t3kKhdZRdwGFd2IHS7YmxYfmCdz9Q3/yVCLcLLEA0ExqsaayvBQBezPQTEboKawOOuhKfzdc2wxhDbT1mQPcWp05GVhUT3QCDmGAKuxdIA8XFaY5l0FKk0nCGbSQ21OqkYt/lCBHVX4tYtrMYRKBouK9bN9bAPuLTPJPxtrDYSbXRw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r5rPs26f71GhOEMbPESTDzq/rS9rRl+5n49VPh/g3II=; b=ts8MrnCLwyrJFScXtblsK/AUnQnzj00ewl5dRjIYI1MgyAXBy+bAvMWqEpNsb9shpCuEx9vJMD6TQ1fdDvCQrMq0DGQIjdRHG5urUAkhqnjirzT5uC3aH3xb7rohmxnxMXGYtHGyA/isGe4PNHciLZB+YUy3v/wOctEA+xpmYx2wRcnUY2EE4cGO6d3hRDHGaXdpqDMFev5des8Qx9ypKCPwahsJsv6ltJJ3u2TBIwBbPQ4rdAJEehcd0R5NC4Zvg4CNZL10Cn33qZxpKIBO9aJY3Hno0uVoaiOozJC9uB9+RVcoXfxh3ImyOot4kkhgjFxQMgnHZ+mSh1BtcUqygA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by DB8PR04MB7019.eurprd04.prod.outlook.com (2603:10a6:10:12b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar 2025 02:28:05 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%5]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025 02:28:05 +0000 From: "Peng Fan (OSS)" Date: Mon, 24 Mar 2025 10:26:54 +0800 Subject: [PATCH 1/3] ASoC: codec: wcd939x: Convert to GPIO descriptors Message-Id: <20250324-wcd-gpiod-v1-1-27afa472e331@nxp.com> References: <20250324-wcd-gpiod-v1-0-27afa472e331@nxp.com> In-Reply-To: <20250324-wcd-gpiod-v1-0-27afa472e331@nxp.com> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Srinivas Kandagatla Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-arm-msm@vger.kernel.org, Peng Fan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1742783224; l=2462; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=SJchHRw4zZPQnugS+LAJqb6eMZ2l9bEbL+5vU36pmZA=; b=LzpZI5/I7MT5AcdPpMCfdi2XhaKUCRl4VIVwSOVAtllci7LletnO/DUG9E6G9SmPt3LILgjfN UDZ6imaNW8/DEjdoVKtwk4VRVn3TsrWIB4M7EeSPDZ9qIXXEFVfXXgg X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SI2PR02CA0014.apcprd02.prod.outlook.com (2603:1096:4:194::19) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|DB8PR04MB7019:EE_ X-MS-Office365-Filtering-Correlation-Id: fda346e4-6efa-40ed-8a31-08dd6a7b821a X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|1800799024|376014|52116014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?dg4hD/Hw5luooYCIZdD/dADREMGp8qd?= =?utf-8?q?VTJfLIC75nfzMdMkuYR8yCXeh1wIF0rDUE0iupncDT7i9QakUmDsH9AJZVoj59Kf0?= =?utf-8?q?pQFkVvhWV7YrjvylyTyqBWaNAbXpe1EvV/Hq9Qn4OGdOth6NipIsZGlqg1lrwbVVq?= =?utf-8?q?Du7uwKzOW3hj71o8ZmedOfaPApOn2kv4oBEL40kkma8fb1LxJRCHG559+yaAm39pT?= =?utf-8?q?6TVhmbd7mu9tjlrnG8Ps9AigmN1s+ksVgo6AntlOtXK1XSq97pZdlt7xMH//QSuVV?= =?utf-8?q?KbKKhfaT7BPeEi0k/KQkt7ncxHeEcBvl7WYoHp3hUimafOT+4IqtoybwrEDBd4dFH?= =?utf-8?q?tkcNyyr60YV7riH5G1zWeTGJ/u16oSFsMFRKp1rD0FqBphwGuD4l89EKbnE5QFSH8?= =?utf-8?q?iDwOEEA89QNcpskKTeGPmhTm4BQtepRaDPPYPv+8SkTfaLQt5lpfeX16S3Iqf+W1J?= =?utf-8?q?KI06o8WEBheI6vnH+ogYRT4D49j7Sy5JjjS4fX2S2HCtDIVLobU28MRlX/ZPfFVTC?= =?utf-8?q?NlsTCvtA9t0RsCgEOm4KyH5S8swC3Cu76GMLR9BVRbDjP5kzpvG9uH867KadoXNzx?= =?utf-8?q?7T1HZZsGj2qJFqDwf8g+Twfp9OOe8vqHJhLO6LgDGRHxFgbWlF/1+pNWcxW3B7Ttk?= =?utf-8?q?qikgPAxqiye/AEc46AKkXE+8359HGYj64SvAC+7/cifgb79urRFWf3Yvht2R6Yw0Z?= =?utf-8?q?WZumG4qeYqCmf+/ZvmMLcjq4pRAw9hQqJM4GEDZvx+cuuNMkLvueWepZE42yFhCpl?= =?utf-8?q?JEfygALx4E2xXqdi8niM5rKNYSznyfEyeya4IsnzvESzq5f9rD9GUDSz9ueIR0zmJ?= =?utf-8?q?jG/XvxusrHgi2pMuxcbhXOfVCxfHNx2x1hpq0OgIYPlWZ7yGl0Umj6crnZRnoXB/5?= =?utf-8?q?J1/ZFGx9Wdko1C2H/1YaE3k9zUE6lf6UOgLJsuxprmdGkIVi7aM2c382eI2ZrvXAU?= =?utf-8?q?CNMINJgIWpfEkWUHGURNaPdhWb2DE5fbzJkVH/snt0274DgGhlG7YJ3u2h1euvVgh?= =?utf-8?q?PZcE+jQaESpvlnOZMBOAWLuYmWpJ9fLMdWjNR7yfw9WhEK62LEw9BtaG/h8WsK4QJ?= =?utf-8?q?BVsfsMNvdYwczgqsPjdnH7CNopoNljStQx1G81wxl5ksu81Pf3isRr6kKq8IoqFA4?= =?utf-8?q?a9BUWkTJpV6c+KWMNvR7Cm5Y9ZRgzCK8nEFNmR2VFudhM1R9FLNppFyEtoutLv+PA?= =?utf-8?q?NA+FpoY2hMNjpAStgrOOe5ECnwmscNHVVxiMYDuUZxc+C96OcQiUhiy+bbZYC+XpH?= =?utf-8?q?E/LuNpBRH+tKGqcQYjCX861AYtGbce5fLSxrS1O/rOWxmZV/0ERZYFizTBLE3AYbw?= =?utf-8?q?H9xqW85FEJE0R6+km96Hpxdhl0RW+Sehy6AY6HxhqkA3GQhzIAbqUD/iWNVWvg2Ub?= =?utf-8?q?fe7dwL+KokJ?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR04MB8459.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(52116014)(7416014)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?SEqQy4qnSAIIlV7LJUGTCp+3Qc96?= =?utf-8?q?MuUwbPYN3LtKpvu2uxwAvOkrGvXgBtgrER7CQb/W/ij0qlVLmnsgIBNAw7ExUrfVn?= =?utf-8?q?TtLhxVjAi7xdrFMpxR7AGHRwq2rUj+hY+vJYm5TgFnQQvwTKgkhMZH55sc47mkmr6?= =?utf-8?q?4s6VkOqlEPjq4La+caDV5AMXc0G5ja8q2WXEDIdtzyrcbsQ9r4p//eCjPG1ZkP8lh?= =?utf-8?q?c3GilbtkrfUBmWlk4KM9UwW6WXiDyZeBt51ytbtO+On5zEIXMSfZigFnWbgMBqYNK?= =?utf-8?q?RVpdhlFozD+w9VscMWtUGbKq+udeYR/By8hUih/CMSLeWOXVLg0RKBuLsTukzxm7b?= =?utf-8?q?uQj9eeG2AEMc2NcqiOk49OU+E8+hoeZf2rPaoyWB6XuUQbThE7VmpkKT9GoJ6qIQs?= =?utf-8?q?qgjAxmatJtGnVHlv+NOK9xrAXGm51/j6zbcDb2xpeZOW92pCV9fwpc2tHH8kS+MZj?= =?utf-8?q?S7ZcXjuHE18XJed3kbODCOwZRjvO7g+2L/P+wS42iZ3o/Qnksw5mR3RN1yf9T+BPj?= =?utf-8?q?wDbGbfBKj0Mfq9WUn7m/ALUIZQyCVpNXbkqY5IGOiE5MvvxyPvFehydlrNDF42/9E?= =?utf-8?q?S4GniyQw0NBbZ0iKMM6ORzaQCyrXmuPY3jfZ4mFR+gb4/4e6MMwsmi4EL19QoiyAw?= =?utf-8?q?+WkEc0qpiddx2Uoe4fsABYzDbb24ylspqZqH8Qi4itkyt00d4cA5o+4V502knLgy9?= =?utf-8?q?ml+X/1InSnp2edm9KPRCBT1oR2iv0x7ZSRSGXxvHLwEXtrYECB7zIe1d3R6XZkmKB?= =?utf-8?q?W2kLZc86B+EHH8z1iXs2MfqDz9OklwVxKztYd83oYTU65Eve3kBk4ftXL9GZ33UWr?= =?utf-8?q?h2NIyAhPvWBXfTiRnWTvlAGCRZSX/CFCldRQAr8qhlR8Nl6nPqiNg0TOx5LjUVQAH?= =?utf-8?q?ZPih11UuDIO+aK0gw/XB/SmBGx1YFa/RSE3p0SdCKz4rEKPzDUBHC6Duf7s/GxZgj?= =?utf-8?q?2tEijXuXSLkCnGS5RVbTZOWbMQGflXqlpph90JnCh4nHVgCtI2viQZs4fyWg7K6EZ?= =?utf-8?q?/gyq4DsiHv/xqWc5/4TiXoMlW4IhFbKSbDeWsQb8JdYQYFlYM4UuiLRc28bgy07LF?= =?utf-8?q?APB6w4/dICfZCovGwvwewNzDcBZpciZ/qayTF8hwcOKMeHvdYZLo37AgWOxhSRp2a?= =?utf-8?q?JOAjM9xR+rJwS8m831Ve4iO4WP/dnA2wFTieIaU44p9FLxy7lmSjBbdQK1PTNNPfh?= =?utf-8?q?aWi1594pDUqbaPbbnVn7gJwq/YsdZBs7lG1fv0nsjN+LPWPF9uGRNNtdG7Hi5J02y?= =?utf-8?q?afjITrVuix4VuokWuXlcpE//kZVr1k8G7X2DHi3Shyj2BV8dItg2azX9Yr+XCQC3J?= =?utf-8?q?qxzYpnnpUE9nGlRewCDdbgOmC6tFCpJvJ3ar/v6qSBYJ7OjhEnHu4KtALmIzyuoWg?= =?utf-8?q?31Ozm58RZtfS8RRU9AC8ZXAMXztrKYmjl3HOsMzuONti/tDBBfVbWJ81XLb8nfsvQ?= =?utf-8?q?Lfm8IfIh0pE0WR+6ye/vqeONJJqvaL9lZuj/t+30mi0AMqcz2gqNAwFempxVLOb/m?= =?utf-8?q?g0psFIESRQK6?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: fda346e4-6efa-40ed-8a31-08dd6a7b821a X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 02:28:05.4001 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: nRfZikDnDqaFid/eS3G6cCko0IObfhWKLEcTC+v21/zvDevUUqcvGHoB5GpH+c939pkM6mHe/G4gLLrfsrMVrw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7019 From: Peng Fan of_gpio.h is deprecated, update the driver to use GPIO descriptors. - Use dev_gpiod_get to get GPIO descriptor. - Use gpiod_set_value to configure output value. With legacy of_gpio API, the driver set gpio value 0 to assert reset, and 1 to deassert reset. And the reset-gpios use GPIO_ACTIVE_LOW flag in DTS, so set GPIOD_ASIS when get GPIO descriptors, and set value 1 means output low, set value 0 means output high with gpiod API. Signed-off-by: Peng Fan --- sound/soc/codecs/wcd939x.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sound/soc/codecs/wcd939x.c b/sound/soc/codecs/wcd939x.c index 0a87a79772da6c0ed3c7dd7d098e949b9cead2a4..f8d7d03f84fcbca57826dd43e9281aff5b225525 100644 --- a/sound/soc/codecs/wcd939x.c +++ b/sound/soc/codecs/wcd939x.c @@ -15,7 +15,6 @@ #include #include #include -#include #include #include #include @@ -201,7 +200,7 @@ struct wcd939x_priv { u32 hph_mode; u32 tx_mode[TX_ADC_MAX]; int variant; - int reset_gpio; + struct gpio_desc *reset_gpio; u32 micb1_mv; u32 micb2_mv; u32 micb3_mv; @@ -3239,10 +3238,11 @@ static int wcd939x_populate_dt_data(struct wcd939x_priv *wcd939x, struct device #endif /* CONFIG_TYPEC */ int ret; - wcd939x->reset_gpio = of_get_named_gpio(dev->of_node, "reset-gpios", 0); - if (wcd939x->reset_gpio < 0) - return dev_err_probe(dev, wcd939x->reset_gpio, - "Failed to get reset gpio\n"); + wcd939x->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_ASIS); + if (IS_ERR(wcd939x->reset_gpio)) { + ret = PTR_ERR(wcd939x->reset_gpio); + return dev_err_probe(dev, ret, "Failed to get reset gpio\n"); + } wcd939x->supplies[0].supply = "vdd-rxtx"; wcd939x->supplies[1].supply = "vdd-io"; @@ -3290,10 +3290,10 @@ static int wcd939x_populate_dt_data(struct wcd939x_priv *wcd939x, struct device static int wcd939x_reset(struct wcd939x_priv *wcd939x) { - gpio_direction_output(wcd939x->reset_gpio, 0); + gpiod_set_value(wcd939x->reset_gpio, 1); /* 20us sleep required after pulling the reset gpio to LOW */ usleep_range(20, 30); - gpio_set_value(wcd939x->reset_gpio, 1); + gpiod_set_value(wcd939x->reset_gpio, 0); /* 20us sleep required after pulling the reset gpio to HIGH */ usleep_range(20, 30);