From patchwork Tue Apr 8 01:39:58 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: 879914 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11011042.outbound.protection.outlook.com [52.101.65.42]) (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 8E44225F789; Tue, 8 Apr 2025 01:41:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.65.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744076514; cv=fail; b=UbDl2Jyb+lmzFKlp1e1+D40hZwE8nDa3NiQMN6BpWd278KW9Jy0+uAgdKCVTVjMvpJjA6zZNx6i1ZVJf+YnEK7Sl/orwmwaAgn0NAf3L0rqAwgkc2X7M9dK8IwpNhU3VWNfGRTXutCT1ZD9/HB9c9ZExd/gBfOTs31dhzwkgp9Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744076514; c=relaxed/simple; bh=7D93rBwrtDWjrWWdIfHgswCV6+Hxoig3p6KCx2EB3A4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=XrA8VNudPz6u9tb8+IpcbAGBdg6hdJB04/MLMhn1vMxJRDm9bKb6r8cW6dTIpE3FUProZTACKj2Ozx27DBYLQyZeCz4Uoa9OKDhT2vxmQTdoXu4Ly98NaOHOyFIoz77pWszOF4tWzkE3zLRWgiegs24mZ0g9b2Y12zkjsLbjsEI= 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=Y+Nn2NIy; arc=fail smtp.client-ip=52.101.65.42 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="Y+Nn2NIy" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iFGuqZ3hzr9pTx+KklylX8/YJAneX10/WMhpBM9aFsj9+r61/UIQ6C1h3B4yZ3B2HxPlH390hL40jD89o3thlvoDE5O94J5Mcd0RIrj8nYgv2NdzqX9xDvWNE9mqaxla5ZPFi2Wv0vaOBfdF8yoD0RKcwVcWv1Ksa6SGUgG5zFauqgqNkYLroApljIM7pb9mr7RdVbT+AZHwUvg5Ps57W31xs3Uh3pugmkseeQNjT+VPwuCil4owCu/6fNEV364E2/AIsM99ZzRJY60CzqtooeNhlzpozik0vSiUm3GPYssqTXPD4I/zMq9oc/sJf65HYdE6Fty7wCxDqrvaHK6XbQ== 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=DUu1mv49O+IP4RPmCr/EpuMW3oRiit0FPSBIFJVE3PU=; b=p8O1W/0+GAyVf6iZtnnBwHAdplTsz9Dd8yfB/sEjGZRxbOCg0u2JkJWqM5L2G1M+oJjQJm4SWplc6vUw+Pzlwk97JEQAPEjLzZIiUtgKWteiDfIlFtxRpwaY5JgBsH5oEw0cx8JZMOv2G55Zy3fER2sIy5sMLMci8lw0g/7cqh8lF/tYQ843hch0H/xenMRLlaRMgBFYpDPFKN4FgUk7yKBy1znp6V5aGMvAA+qR8L+gQuj0BWXv6gDVs37CdqSn5QfEzk2AH9zLNZuW8+v9p5e7G1LOUHUNwCYfrhAX1ouN40I+kONSo6nX/0icyKjMWYdaNFCmWARC813kBzYrCA== 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=DUu1mv49O+IP4RPmCr/EpuMW3oRiit0FPSBIFJVE3PU=; b=Y+Nn2NIy8PNIG4QAHBWmuab1XVgei9G8JRhjVcXxIx1BV/BLljflMkV1coOR1GVLaFVq+NEEd+C2L6QJ6rUeLnhXX4ss7+4Hvlor8yroXK7vqUZPb88It99L0cYgA1mvJVUQu4MGfP5DxSmkA6k1pFubb5NN8p0THMKxCwsPHS2x+Zrtp5/pmNXBehSGk6ofHTKpOphK8M7gjzhFrn/SNNqknm0s+2aZVloKeMu0fxFyohPoeokuosjGPiXQfyhvTVuvsVcrH2vzW4bFXi2uT+rxapacAVYPzx9B9/Weue1XSJjqZB6395h3tClqAVBrVOzOttqnq5uZcA1rA380KQ== 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 GV1PR04MB10583.eurprd04.prod.outlook.com (2603:10a6:150:203::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.31; Tue, 8 Apr 2025 01:41:29 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%6]) with mapi id 15.20.8606.033; Tue, 8 Apr 2025 01:41:29 +0000 From: "Peng Fan (OSS)" Date: Tue, 08 Apr 2025 09:39:58 +0800 Subject: [PATCH 2/7] ASoC: codec: tlv320aic32x4: Convert to GPIO descriptors Message-Id: <20250408-asoc-gpio-v1-2-c0db9d3fd6e9@nxp.com> References: <20250408-asoc-gpio-v1-0-c0db9d3fd6e9@nxp.com> In-Reply-To: <20250408-asoc-gpio-v1-0-c0db9d3fd6e9@nxp.com> To: Shenghao Ding , Kevin Lu , Baojun Xu , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Peng Fan , Markus Niebel , Alexander Stein X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1744076413; l=3864; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=Zs/jJQY2hY3p30GDERt8fUCWPhlrXep3P/D1YZa98bs=; b=w1+UmylZ7e2YOe5VOPvasQNL6NVm8fN9S4SABhmM2siPmqxFKuPWYtHIhip4HO+u5YTFlUMzv qyqh+m8xl/WDrnbhedWGeArGUUcM+Ae3u9ag4NhJBJFVGUZ5KAKw2rD X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SI2PR01CA0048.apcprd01.prod.exchangelabs.com (2603:1096:4:193::17) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) Precedence: bulk X-Mailing-List: linux-gpio@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_|GV1PR04MB10583:EE_ X-MS-Office365-Filtering-Correlation-Id: defb0706-dea1-4c64-ad47-08dd763e7b9d 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|376014|52116014|7416014|366016|1800799024|921020|7053199007|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?p3eHsAq8NIigBbzVofhA8v7WdwaIIiR?= =?utf-8?q?ryxw2xs5oYdhAtCOwBhIDXkbemwe4rNH7VZoRl5HyxZBCXblV85uxnGxa46WG9a3F?= =?utf-8?q?+OFLwAw7oowFeuISEHYPOFepMeyiDJ29WtnskvkKGo6P+VeVw9ucWg9vqbUQXOJhX?= =?utf-8?q?MGbPYhD8o9Ec5eT8bopwl2kYGq0qTAb/v+wJBSEZ5D5KMKcCFel0RXZ1AUGpcxY/t?= =?utf-8?q?Pq/SjtvS3DFbAKNt8Pr9gffFrKhWNW0Ss0QhaOFt6J9yYumTjCI+aOUqAt3ryA9RM?= =?utf-8?q?i97CpNfPf9USksxywM28CDo+Eemr4gaD0YFX7F+YhOUFweAFI6/H3fZ81AJqcC38+?= =?utf-8?q?s2KMGJI+yuUVzPv7g6sG5z0yvUsk+vIRHjXG5DP/7kvFwjvkP4f9ujLRBhcY2vuSY?= =?utf-8?q?XMMd3Yj+k60x8cRsE/esPuunc8IIauGk4xmHxItEWGE1bPIbvX2IgJSMULJWUkBZx?= =?utf-8?q?7/utDlsu3nd81Y2tNZV9SdSdgRCtYpLsEWl37930Ivls8jtmIKfWwBsnetyPV9zAN?= =?utf-8?q?7kbdtjJNuroMlyaCECqEF054FAgHZVpuSFz0/t7wtvW7SnaFAHGvrJWwaK35Pv+eZ?= =?utf-8?q?qRE1A++4w86XY6uXOPBTXcRSi+6kZvMZOD8ZDRzfp8We/jD7gRTkL6iJwrxkA8RSa?= =?utf-8?q?xifpHcBFUGzHknJ9/U+ouDFRaaUxUPOhDMDFVxRU2EE5Qx45t8lpV1St3NiGWWTzU?= =?utf-8?q?kXYN78X5a0oQgTZiEGRZjPb0q4N113VvJgBpH9DQYgrz/ojFWvf+cAOsvHMIYjQZ9?= =?utf-8?q?f3ga+ejPAXXqAL3pz3SIWQ3aU0pACid7aDrv6XjwS+X3jjFPZEICC9p/W2jt6FAzE?= =?utf-8?q?1wWaPROyjbRyf6XPlMPAUZCsvqmCgGD/bs1+PVt1DGB0FcAH0HyDtv/NMbIvXJOG0?= =?utf-8?q?wpBDhu2Xa5Eb8YJ8q7Bqb+bTGkuUMv4yTxPre8Kt3H3xeiHtHZAVPlTCFvVtPRbHU?= =?utf-8?q?Q37Aub/L/7XnxCoAVpga0kpsr+eKQy4Ty4KJCoMKVhXMIe23oU8YxRVeL7FhQGUKk?= =?utf-8?q?MrQWqNV8H9bfbvGx4UAan7TwhWzQrIsK2PJjHJTXXJG2060BJH12yqxSLYu7LHxqy?= =?utf-8?q?IVuqi+wh4UA/zMPNu4YDcuQgn2wSTfv6q1vOSHr9sjIoyhqxhtN6VbhuQQpkTXh6D?= =?utf-8?q?MukEwwXLsbjwuWtsnvcCfXGh/AbxmCrbTKfmItYtw6hATqp1jP0F5VRcUSTxj9AXQ?= =?utf-8?q?PzPhtVyD18Zf35j+EG9XR3gQClxBcyktgQWctGvrehYvoTvO0GXYKE3jU5z7lz6to?= =?utf-8?q?irYkXWDHW+ks5IHGxs9phCt6ULXsEvRb8DHanvP1hnEDeTFtN4h2qduYCe0dLob31?= =?utf-8?q?ToWk4I5J5JVPkOb+UG+hR7erD6VIawNX2l46rz0zX2IWBA4As6wavndLg7RWaVLYv?= =?utf-8?q?nqgYpFqW+E4AOnB5D4FDNHuAGZ8+wvSzQ=3D=3D?= 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)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(7053199007)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?BxjIAmIGsjUjaOEU4JzfF51u7Aqu?= =?utf-8?q?tlJwKQ8Ip8EDhqCH1A1wFokIOIFa5PgPiGSA7cUCugiaB7qQYximlXqJ7U8M17ZPp?= =?utf-8?q?MbqlyBGv3+SMX0XRy4+hcS4f5PrsC9KEfgEQEM+OSpvp90+opoZF1DR7UqcJ1NoEQ?= =?utf-8?q?wS23SLY1pvdscqN4jFEZAs+kGehiVjWtZUTLRNajO7NbB5lY1cjNkZ6u0wiJdq+n+?= =?utf-8?q?AKbbmfqCwoyg5bASGQE6dYMZR8BFQMgVSskgnR6N4Qry0fqwLPJUNGGIvSgnfmbNW?= =?utf-8?q?EE0KoCoVGnFn+MMXqW0ch7rjR4VaXZlPZpSBZGSGquTIXZV1TE7UthgTKoiZlw1ZM?= =?utf-8?q?kVK3hhzLTkAiOd90XpJGL2c4NX4VxG/rUDAcE95wcKLItbc36MzywBex2jGZQHpYz?= =?utf-8?q?ag9qGTMexOUPy9MAcellbWMSZxHMnKWF2mMywpdpHx0Gq1d39q0WmFX+eYvDw6JEt?= =?utf-8?q?+fctQIf9xYSsSbOs+x4jwgDPv8eC46poeSee6KD2pYsR33XdqT/z+JyxT3jEtZ2Fj?= =?utf-8?q?SA4WFpSMAQjlRCMYKgncU+DdpFL0uxiaG3l7Cl25wFw1Pu1BOZaq1sXw/3pvyNgd8?= =?utf-8?q?gQmMnD8dMuerQo41+hQ2L0z3oNdnv5q84Rk5i2YvZdtki5iu5T5+mUysuS6C2SDsL?= =?utf-8?q?Mlls/l4G+Fs4QRxOlQ9trYf4hl6BWUVkKaRYpgiNT1ENXpeYtsitM0nGYFE28dblw?= =?utf-8?q?b38KleyAfcOTutSojG2kZ2XQmvgUnLphpnFq0qpNbzwqnNUfOUJBiCySvybbmWEMI?= =?utf-8?q?G2a8LAViLMYMFl9HISaxPXA0WljSe3x6sozkjy1pa2MnX7Uhe6+haLAKHRrV3Jj6S?= =?utf-8?q?FOs8Ltnh8xuNhIvGfAL2Ofcg1kypIXqA/bVqwQ01sobGPXrDsCPBd5fx6OcNMiDdi?= =?utf-8?q?g1WCGNNy18qsTHLvvh2fzLgZEpfFvCe4BUHuhLVRxwCFQQ6Q4qA7E+AppGMcxxVu9?= =?utf-8?q?r2YonZJoRYmGUU4XDzZ9uS1LeAYEnWefMNRcWElc0CAx1yDfRv/aZmzcmvmp7ynfC?= =?utf-8?q?hE7XMJ1G2PKg+Ro678sIWvDXavILUwJDIMHtg34MoueSYqM86RXtrQBtrSCfLLRuF?= =?utf-8?q?hZWZWpVidnVandtx0PuPFycGGJ21tt25hIS5Akdyr9mUSa7yvur+pKb/9OJs1CVDK?= =?utf-8?q?8Um16D3eec3I38sFdJq59SNhBVPw9xnO//x42rJNPePe+g2yP4spq+/2mhNYusIYR?= =?utf-8?q?vh4bs1E9iUX/yFf1l5fSgiS1Ru/SSnHOH6z5Al+nli0p/0QtkanZb5CtRw5yRHZli?= =?utf-8?q?+X4YXpJGi+MUsAqIK7Rr6a6QW9o5bvt6vDiQ+p40TnHY0qzEfJoAIp+SNvTJyuyX/?= =?utf-8?q?ooWqxS9e/zkoeQo3ms4+7mc/ObipMzH8aLh/77gpwO7vTUo5qOwK+ydHSqC3Hm1Qj?= =?utf-8?q?kXn3iISkfNyL5UV8Rlwmls6To+89O0FfQsSQVJlIxfFU83VLjGB+1gnGrsJ+dvLp8?= =?utf-8?q?AcgSO/HgSit4MEQvoODgTPsJr9SwXDQfD/ExTDQvfNNGtPRGhSLhV7mZ5TTmyopUt?= =?utf-8?q?LzptYVkW+Au3?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: defb0706-dea1-4c64-ad47-08dd763e7b9d X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 01:41:29.2380 (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: fNW3v4gkjM1a4xNzhIxF3JzuhkBZLtMeLR7iPrHdg6oeoFCVgt2wNWfMBNSYUO5KEx5vvzgx4JaSJcEDFw+DSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB10583 From: Peng Fan of_gpio.h is deprecated, update the driver to use GPIO descriptors. - Use devm_gpiod_get_optional to get GPIO descriptor, and set consumer name. - Use gpiod_set_value to configure output value. reset pin is active low, so when request the gpio, set GPIOD_OUT_HIGH to assert reset and later deassert reset with value set to 0. While at here, reorder the included headers. Checking the DTS that use the device, all are using GPIOD_ACTIVE_LOW polarity for reset-gpios, so all should work as expected with this patch. Cc: Markus Niebel Cc: Alexander Stein Signed-off-by: Peng Fan --- sound/soc/codecs/tlv320aic32x4.c | 44 ++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/sound/soc/codecs/tlv320aic32x4.c b/sound/soc/codecs/tlv320aic32x4.c index 7dbcf7f7130b04a27f58f20beb83eb3676c79c3d..1423186f5a6c181a20dd2dd552679d33174edaee 100644 --- a/sound/soc/codecs/tlv320aic32x4.c +++ b/sound/soc/codecs/tlv320aic32x4.c @@ -9,27 +9,26 @@ * Based on sound/soc/codecs/wm8974 and TI driver for kernel 2.6.27. */ -#include -#include -#include -#include -#include -#include -#include #include -#include #include +#include +#include +#include +#include +#include #include +#include #include +#include -#include #include +#include #include #include #include #include -#include #include +#include #include "tlv320aic32x4.h" @@ -38,7 +37,7 @@ struct aic32x4_priv { u32 power_cfg; u32 micpga_routing; bool swapdacs; - int rstn_gpio; + struct gpio_desc *rstn_gpio; const char *mclk_name; struct regulator *supply_ldo; @@ -1236,7 +1235,14 @@ static int aic32x4_parse_dt(struct aic32x4_priv *aic32x4, aic32x4->swapdacs = false; aic32x4->micpga_routing = 0; - aic32x4->rstn_gpio = of_get_named_gpio(np, "reset-gpios", 0); + /* Assert reset using GPIOD_OUT_HIGH, because reset is GPIO_ACTIVE_LOW */ + aic32x4->rstn_gpio = devm_gpiod_get_optional(aic32x4->dev, "reset", GPIOD_OUT_HIGH); + if (IS_ERR(aic32x4->rstn_gpio)) { + return dev_err_probe(aic32x4->dev, PTR_ERR(aic32x4->rstn_gpio), + "Failed to get reset gpio\n"); + } else { + gpiod_set_consumer_name(aic32x4->rstn_gpio, "tlv320aic32x4_rstn"); + } if (of_property_read_u32_array(np, "aic32x4-gpio-func", aic32x4_setup->gpio_func, 5) >= 0) @@ -1372,26 +1378,20 @@ int aic32x4_probe(struct device *dev, struct regmap *regmap, aic32x4->power_cfg = 0; aic32x4->swapdacs = false; aic32x4->micpga_routing = 0; - aic32x4->rstn_gpio = -1; + aic32x4->rstn_gpio = ERR_PTR(-ENOENT); aic32x4->mclk_name = "mclk"; } - if (gpio_is_valid(aic32x4->rstn_gpio)) { - ret = devm_gpio_request_one(dev, aic32x4->rstn_gpio, - GPIOF_OUT_INIT_LOW, "tlv320aic32x4 rstn"); - if (ret != 0) - return ret; - } - ret = aic32x4_setup_regulators(dev, aic32x4); if (ret) { dev_err(dev, "Failed to setup regulators\n"); return ret; } - if (gpio_is_valid(aic32x4->rstn_gpio)) { + if (!IS_ERR(aic32x4->rstn_gpio)) { ndelay(10); - gpio_set_value_cansleep(aic32x4->rstn_gpio, 1); + /* deassert reset */ + gpiod_set_value_cansleep(aic32x4->rstn_gpio, 0); mdelay(1); }