From nobody Sun Jun 14 02:38:16 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011019.outbound.protection.outlook.com [40.107.130.19]) (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 74D193DA5DF; Mon, 4 May 2026 13:11:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.19 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900316; cv=fail; b=DmsPnJgMjJ6EgbBhg916bx4E5Lg+IT2dJJqK/OhBoWcUoL6nkWxQNc6vZyBnrxapVosBRldaAZHtA4V4Fey8Fkx3+KJtex+lfF8o56SRH6lBR4bWYeyXuMdauHoOCfkzEaEwi8yQwjXnIW4bkCQfqPRnkGQyNbyxWy5Lusq85H0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900316; c=relaxed/simple; bh=w55AifaDGnvAr9XBiOaWdTvNxArdD4x2K315lIqD7ok=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=vDpMGdXSep/4q5J5G+xkW33NKLEOE3tOvDdkW+YHpaEUUTBZpSz7CABsNxj/pv0JW49YA8ZIN8RboO+0r5PnmVgP7WqBocuJNOP1R8b5T6wB4pkaquy1WQu+WCvBgymhU8u8FGLmHQRY71xKPKK5Bn0eRuTBXWMcZD30fzQrxuI= 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=URKhG/XJ; arc=fail smtp.client-ip=40.107.130.19 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="URKhG/XJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cbhjGslQ7eSYyfYdwj8onREYknppSSS9ECNQJDKW/K2swvflCHQTnvkd7IRF0DfVbqN4XPTXNVsSESRhH8iKjn+X562x/uYK6nzt2Yx/6Dk5pfCXLC8UGSBfGP/bPkIPUtvYOXmzjfIO3fq4h3i9f6vJxeXtwx9WqRR7D8SkKdvCYHVyjhFmTSTL4YZI/MndhkQsZPVrgcB8CyJKZQzbBCq10BfTsCp7YLKHTUPuTPOjIHDa/9qm1FYx2w1g+7maAZ+1U7zfJVOAbJYLi4Wec/uuIqwxiGsdlualyUJYENVtnHuZqhurBYHBLS8nE8iHnz5VGkwe3FKdlNBy8BMr+Q== 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=lSjLXGvI/GHxOpKloVBWCB2a2vDnAPQgRXSqD6Y1jDI=; b=HLOzt8eD+dGrjbEy11FQ/tTaG+h5ctgPIO55S04jwEKtC0IgOswJ4lZKgAfD7G0q/pTmPNyfHPfXLrP77kMQvxAk63qVs4ljiYXRWOiueifm6wWB46nSMfVSYY6Q4BgURj8zHl1T8QysnIuy0Hv7GLT5oub8AneSjH+fN8R0pZ6DNUrFmEgMu3obSIA6Z80mptiHWWMi0RjjP3MFSFu19vlgInjQ69Qm5wKqrHSPCQiTasqxVY8tBcCtvG/KiNNhE8DGM4umwbxKGRrhlWXbcLShFNXomPwDEAUaoDS40b7uZS5jYBVIUxKhFrbUYPx0fSSrk3egxsyfefxt+9AzvQ== 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=lSjLXGvI/GHxOpKloVBWCB2a2vDnAPQgRXSqD6Y1jDI=; b=URKhG/XJXQ/pAXOiF2xbDPefjEd32vN38DOZaveZWRfa3bvKZmfq4ZFjKwA3trnR8dRrdu5Zdv6J1DyO5HRZqrNaGKkYm1eNOcmTrhNj5zs7IYV6Twi5xSN9ZeX1x2QaXhW0+EH8Zvt+fdJtdUW9PEyMxKRvsT6aWcsHsBkp0Zn0xqwIYpmoAov+29ib66weDWP515A76qHZn+yE+EEhrpjnVNCqX4gef3eDp3QNswRrPAZL9CSQ9g6wYPRBJi5xSsRxY1PfLd1PUAz8nDBSvyVt2d+yOxxsZIfVEhGCE9qgXVqmjwhAeY8hX7OkghAuojuXKV2XkSZhhuzyfdqTQA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) by DU2PR04MB8583.eurprd04.prod.outlook.com (2603:10a6:10:2da::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Mon, 4 May 2026 13:11:51 +0000 Received: from AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85]) by AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85%6]) with mapi id 15.20.9870.023; Mon, 4 May 2026 13:11:51 +0000 From: Khristine Andreea Barbulescu To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chester Lin , Matthias Brugger , Ghennadi Procopciuc , Larisa Grigore , Lee Jones , Shawn Guo , Sascha Hauer , Fabio Estevam , Dong Aisheng , Jacky Bai , Greg Kroah-Hartman , "Rafael J. Wysocki" , Srinivas Kandagatla Cc: Alberto Ruiz , Christophe Lizzi , devicetree@vger.kernel.org, Enric Balletbo , Eric Chanudet , imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, NXP S32 Linux Team , Pengutronix Kernel Team , Vincent Guittot Subject: [PATCH v9 1/7] pinctrl: s32cc: use dev_err_probe() and improve error messages Date: Mon, 4 May 2026 15:11:42 +0200 Message-Id: <20260504131148.3622697-2-khristineandreea.barbulescu@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> References: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS4P190CA0003.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5de::8) To AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) Precedence: bulk X-Mailing-List: linux-kernel@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: AM9PR04MB8179:EE_|DU2PR04MB8583:EE_ X-MS-Office365-Filtering-Correlation-Id: 6423c619-8dcc-4674-0681-08dea9deb47d X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|1800799024|376014|366016|7416014|921020|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: +qCUJULmvfE+wil4YNYCgJF+Or2DGT6vL9b9hJeW5k2su2na6uvp+pxCIiPfOtPTAutMvkvnnuZwl1TDG1Q//yyHXixn8ACCDIFt2ZhlDnnxSEeFUc/HjPguPjEmjwYRGO6EeU4GaZQ0sJXrtdfbR0mE1bqTA0+WbRh3uRTK+/XnpbtXPkyii1+MTRCtXB1z8W0eAyspHZ2+Aj34L4drM5AQqUVO6DBqwS4krSrHcbwSkkWE7Okzn10vwmuBUnSDfx/aXnCAMkyVleCeAfdv8vbPcJU6hLmnIkkdt7BFUfEh+IQoXTt2jjq99+2qQ5Bs3THqwZvmE8TLXT2e94rUU34OdujhpiImfFsTl6EWStH2TJsBwF48Haf5JM4bxDRoq0T0dncxIEEL36AVQmY0Ofl4xKfDTdpRS4/9/11zf4A2VZ2eqhgxdRdNo5BnCLRWvnG6WppZx+ngmH8bmeH5S5KgeeMFVoAouphJrQGaCnsGHNs3Mu9qGugw0FpWX4s9DGXvKiD44dyO0ZvD8FcxXYUOTGB+TzfNNSIVbY8SaP3/SQWzFcqV3HQoPN1zEBJIS23HVpMuitLQn7xVPpNhK5GXOZ4Vwrmv1661AkyCbTtNMPCBF6LYv+jZnWzLbdSNpYeZr18KSdOzIvuxYD7V4/zkWjLsAJHXcGGtMmnbrxUleikYFP7ayg2FKYLmlX8TU1lrizH9PJvQt7ycx/EkWsmggnUk47ZFEyPnsNKAUpM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8179.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(1800799024)(376014)(366016)(7416014)(921020)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QzQyaE1rL1JUWDhtUkhjcE9jK25iQnIxSmJnaU9Cbkx3YUdab3Z2aWtZVDAz?= =?utf-8?B?anh3cVJVUlNoaENhV1pFQWtVVGNuMms0OUZRN3VGWHRLbzRjK2UzVEk0SEti?= =?utf-8?B?M3Y2SGhWUWJObDA2Zld6Mm5lbE9BZkFseHdJdFVhZVJ1bTF3MmZZdlg5bkdQ?= =?utf-8?B?NzFzVmtxTExtTzFSbUlvMGF3ZHN0azFuL1JSZ1BHRWJWall5QTNUZmc2Mlc5?= =?utf-8?B?WjliaTdmZ2pjUGdobUc4V2FraDFNbHIwNm1Hazd5QWlzZ28xYXRWcDRnMDJI?= =?utf-8?B?dG8rSm9FRUorNTh0SGU2VmtGakdIbkhoUSthTkd5dG1XRHJOOHJGS1ZBdzJk?= =?utf-8?B?Q2R5Y0thTERzSmtPY1JjSkpnL3J2YVhuZ3JzRENTQkNxbC9GWEN5Zm9XYmJq?= =?utf-8?B?dnY4ZmU0Nlo0NEp0ZmM1WmZYb0VhZ1dtWG10UHlFN2h1a3UyakVKTk5ybnZa?= =?utf-8?B?ODRnYk1tL1RVNi81eXpvSnJwMHM2U084N1MxYkQwMmpNWmFBZ2l5RDJBQTYr?= =?utf-8?B?R2FDOFdQeEo2Skx5RHlGWWROMEwyVlJxWjZZV2dIOThMdDhSa3lWYUhoNjc4?= =?utf-8?B?cW04K3ZIdFRZNXpyQUk3R0J3dnRBL0N0UjcyeVJUbXJlOG9ENFFjTG5aTTBC?= =?utf-8?B?bUNUMDdqTlpxN2ZnRHlNZGVmZHF3dHc4R25kWGxKYnhsenlJNE02OUZqeThZ?= =?utf-8?B?K1lxb1VmUmtMMS9GV05OVTZqTkJpRUE4bE9Va0N5M0RMcHpCZktNeEl3WWM5?= =?utf-8?B?U0ZJQWg4RkJ3TTNiNDJyR3ExOGorM2pHL2hzajdsVUdPbzhyR09id0ZDL3VW?= =?utf-8?B?NFBnVWg3NHpHQ3ZISkEvRkJjNHlPNHFGNGNGUFBtU3hEZFREZmZ1eWY5WUky?= =?utf-8?B?VTBLWWRmK05EL1NoMHMyOTljazlqUFFlYi9kcUhpeGxsYXF6S0tIbUZpQjBX?= =?utf-8?B?NVZjRkhXQ1laRUxURXkxYkV4R29PSStBQ3pralR1cFduc2p6UVQ4d1ZUS1Vw?= =?utf-8?B?bVlEWUtuOUg4QllHcXhzV2QydGpMNXdSeVZOTGhTRDVrTU1KZU1RanVaWVBW?= =?utf-8?B?UG05dlJMZDRXWENDd2lsOHNha1BlT0U0cjdscmR3T0hiTEozbXh6bkZhVHFI?= =?utf-8?B?dEd2L29SMkNKeVM0QS9pcDA4U1Z5aGFaTlFzZFF3ZDdBZXI5cVdKREN0V2dj?= =?utf-8?B?a2xvaExGeHJJRXI0aytCQWxTQVFxamlYN3ZiTFlJQkJzUGZybmRmNDNqeHVB?= =?utf-8?B?eXhISzZaUFRJR3RnVnpTRWZqaUxQNWtBeXlrYkFMUU9YQ2ttUGpoRytoK2Vm?= =?utf-8?B?a0dnZk1nM2VFY2dwNWpoVERJMWNYNWpFV0lWTmNNOS9iSWxhT3VMMjJuNDZh?= =?utf-8?B?UVd3bHpKeWlTVXlSYUpxWGo4MFNmaTd2M0tQakQ5TktVYUkzdnFGbnlIejRo?= =?utf-8?B?VlcvbFYzYWh3YVFnaGZhTFlNaTlOWFFwS2J2RVFrRGtxWndrelhBVm9NN3k0?= =?utf-8?B?ODhlOVV0aGtmV1hWUTJpbkhwR09KbHVhV1Z5RDlGWjhVMUl0KzBiYWI4WlJT?= =?utf-8?B?TzZVTjNsUDFpWDcrZU1hL2pxLytYQ2p3WFEwT0V1RzhFNkhiQldnUEtINUM1?= =?utf-8?B?VkVkTWpUQUQzQjlYelVCUHdDMURlMTdpS2hvMGtDZitkdWk2YVpKTUpWR3VN?= =?utf-8?B?bmg5QVpvVkVGNnRCWGNDMkZFQ25XeUlNNEhvMk51RTZ0em1kT2d4QmUzckJO?= =?utf-8?B?Sk1DQm1xdytmb1orVEw3NVlJMzdmeWRqMkR4TDBHd1NYcXNQZXA4TUtxejlN?= =?utf-8?B?ZDM1cmlNalJ5aXFIQm9CYzhaSFQzTEg0SkJVSnZ3c0k4UlArQmFlSWpEcGYv?= =?utf-8?B?MTgxazYyckluR0FhTHowcENvVWZ3VDZSbXRWV3pGZ2ZzbEpCTFg2ZzVKemlu?= =?utf-8?B?cXh5eGxYdy9temFhNm1pd3dFS2tkbHIvVmVncGdxRmtZMGF3TXlmdVBpL1Vi?= =?utf-8?B?OFdXK0QyK3ZUTjQvSU8rMXdTWUxYQWdmZzNTSTVpNDVNeHBLTUJsVkozcFY1?= =?utf-8?B?aHFySVlIV2gzWTdWY0x2YXpTK2QzWVgwS1lReXR2VEtWMnFDTDV3MWxQRjlT?= =?utf-8?B?NFAzTzQxdGdvYXZJam1Ia2YvUUY4MnEwbXFOMHpqSWxoazk1aHZ2azZpc3dW?= =?utf-8?B?Q09LeDlEdHNXS3lXRWhMM3JSLzhIUGNadTZBMjE5V0NocVdvcndPU3M3SFhP?= =?utf-8?B?NTNTYTNPVmNqRjM5NnYxQy9VUTZoQitPQ1M1VE9ua1hHbVNubGxaNEFBWjVG?= =?utf-8?B?RnNSTjQ0cU42ZXBCMFBJTFBPZnB6RVYwZHhDTVMrVmFwKzZqZWlyeTVadlZ0?= =?utf-8?Q?yIk6EoYtAGfyycIjWnAhSqv9tlOJUVH8unzYc?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6423c619-8dcc-4674-0681-08dea9deb47d X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8179.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2026 13:11:50.9977 (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: OEH4ZJ0hdLaS9hokBggnvZ/5yBiTI6rosC4DS3V59V5PV4jvTKN8/KVrJx2D3NnStELyqPgR5v1EH480pk+QeB5NT3dlY42RjqFPF243XVSLbjEgjkvok03UU00DI57i X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8583 Content-Type: text/plain; charset="utf-8" Change dev_err&return statements into dev_err_probe throughout the driver on the probing path. Signed-off-by: Andrei Stefanescu Signed-off-by: Khristine Andreea Barbulescu Reviewed-by: Bartosz Golaszewski Reviewed-by: Enric Balletbo i Serra Tested-by: Enric Balletbo i Serra --- drivers/pinctrl/nxp/pinctrl-s32cc.c | 64 ++++++++++++++--------------- 1 file changed, 30 insertions(+), 34 deletions(-) diff --git a/drivers/pinctrl/nxp/pinctrl-s32cc.c b/drivers/pinctrl/nxp/pinc= trl-s32cc.c index fe7cd641fddd..56be6e8d624e 100644 --- a/drivers/pinctrl/nxp/pinctrl-s32cc.c +++ b/drivers/pinctrl/nxp/pinctrl-s32cc.c @@ -2,7 +2,7 @@ /* * Core driver for the S32 CC (Common Chassis) pin controller * - * Copyright 2017-2022,2024 NXP + * Copyright 2017-2022,2024-2025 NXP * Copyright (C) 2022 SUSE LLC * Copyright 2015-2016 Freescale Semiconductor, Inc. */ @@ -236,10 +236,10 @@ static int s32_dt_group_node_to_map(struct pinctrl_de= v *pctldev, } =20 ret =3D pinconf_generic_parse_dt_config(np, pctldev, &cfgs, &n_cfgs); - if (ret) { - dev_err(dev, "%pOF: could not parse node property\n", np); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, + "%pOF: could not parse node property\n", + np); =20 if (n_cfgs) reserve++; @@ -763,15 +763,15 @@ static int s32_pinctrl_parse_groups(struct device_nod= e *np, grp->data.name =3D np->name; =20 npins =3D of_property_count_elems_of_size(np, "pinmux", sizeof(u32)); - if (npins < 0) { - dev_err(dev, "Failed to read 'pinmux' property in node %s.\n", - grp->data.name); - return -EINVAL; - } - if (!npins) { - dev_err(dev, "The group %s has no pins.\n", grp->data.name); - return -EINVAL; - } + if (npins < 0) + return dev_err_probe(dev, -EINVAL, + "Failed to read 'pinmux' in node %s\n", + grp->data.name); + + if (!npins) + return dev_err_probe(dev, -EINVAL, + "The group %s has no pins\n", + grp->data.name); =20 grp->data.npins =3D npins; =20 @@ -812,10 +812,9 @@ static int s32_pinctrl_parse_functions(struct device_n= ode *np, /* Initialise function */ func->name =3D np->name; func->ngroups =3D of_get_child_count(np); - if (func->ngroups =3D=3D 0) { - dev_err(info->dev, "no groups defined in %pOF\n", np); - return -EINVAL; - } + if (func->ngroups =3D=3D 0) + return dev_err_probe(info->dev, -EINVAL, + "No groups defined in %pOF\n", np); =20 groups =3D devm_kcalloc(info->dev, func->ngroups, sizeof(*func->groups), GFP_KERNEL); @@ -886,10 +885,9 @@ static int s32_pinctrl_probe_dt(struct platform_device= *pdev, } =20 nfuncs =3D of_get_child_count(np); - if (nfuncs <=3D 0) { - dev_err(&pdev->dev, "no functions defined\n"); - return -EINVAL; - } + if (nfuncs <=3D 0) + return dev_err_probe(&pdev->dev, -EINVAL, + "No functions defined\n"); =20 info->nfunctions =3D nfuncs; info->functions =3D devm_kcalloc(&pdev->dev, nfuncs, @@ -919,18 +917,17 @@ static int s32_pinctrl_probe_dt(struct platform_devic= e *pdev, int s32_pinctrl_probe(struct platform_device *pdev, const struct s32_pinctrl_soc_data *soc_data) { - struct s32_pinctrl *ipctl; - int ret; - struct pinctrl_desc *s32_pinctrl_desc; - struct s32_pinctrl_soc_info *info; #ifdef CONFIG_PM_SLEEP struct s32_pinctrl_context *saved_context; #endif + struct pinctrl_desc *s32_pinctrl_desc; + struct s32_pinctrl_soc_info *info; + struct s32_pinctrl *ipctl; + int ret; =20 - if (!soc_data || !soc_data->pins || !soc_data->npins) { - dev_err(&pdev->dev, "wrong pinctrl info\n"); - return -EINVAL; - } + if (!soc_data || !soc_data->pins || !soc_data->npins) + return dev_err_probe(&pdev->dev, -EINVAL, + "Wrong pinctrl info\n"); =20 info =3D devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL); if (!info) @@ -965,10 +962,9 @@ int s32_pinctrl_probe(struct platform_device *pdev, s32_pinctrl_desc->owner =3D THIS_MODULE; =20 ret =3D s32_pinctrl_probe_dt(pdev, ipctl); - if (ret) { - dev_err(&pdev->dev, "fail to probe dt properties\n"); - return ret; - } + if (ret) + return dev_err_probe(&pdev->dev, ret, + "Fail to probe dt properties\n"); =20 ipctl->pctl =3D devm_pinctrl_register(&pdev->dev, s32_pinctrl_desc, ipctl); --=20 2.34.1 From nobody Sun Jun 14 02:38:16 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011019.outbound.protection.outlook.com [40.107.130.19]) (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 576BE3DB649; Mon, 4 May 2026 13:11:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.19 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900321; cv=fail; b=Fp4HeEkR7pp/i3l+dBl0GnMUH1V1GS4vPGil5Rd8GxZnwypxsIe0mAtyDU2c34ANuQrUucyBWEJM/zIWgZaOnY27+86JwlHtnKV/XY/Nnxqvp7MVSul1aeqE1FubSwGrtNSjZts2L8dPJtc46mmYo76VqkRdiikXQigp2PVwqWU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900321; c=relaxed/simple; bh=jc0+MD27whEeuSyWunj7hx7uD0i0tYvrtelFerLYemA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=aaJML3oBfTn4J1kjOgNzBEMy7xB68YYNrOeDV6KtFVmxpwnnho4uiW8945mdCGCzRAgFugl21wkLYxHc7WrIEfUew/y3aDF0NpEQ/SDW0b4WOl849CdPHFePto9cCXuB0Yr0NEtOuSLPrQy9cm8v1t7e8SbKRXbyX6AKad65o4c= 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=DCHhSdPM; arc=fail smtp.client-ip=40.107.130.19 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="DCHhSdPM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=flexrkvCIyGBL7wvxO/fr/MG2sJcJNNDMFXKhIRwEVJwie855IW+hlTrWzCXaa1T9/VoquUMd1K3HJhZH3VhjJXR1xvIxj/GdI4phG7stRz+jo8tqn5S7BtRkS6n11oMwfZ0MNCROQbUF+ZlwBLQ/9HTqM2mJl1QLE3VokdXbzv2NcDaYPbJpMmEa6VEju7njc6CZB+D5NzUOg0zzw3dXpJRdmXMXqZ9D22k8Lp3RNYLYDJvYJofc++hl9lCEcNynfBKJxvxrVe2k4i8/im6uYn18B3t9qyH0IGw1//0rv7BQC4vvGw2jF9hGkGi+38ZHu+Oe/09GeamAmTWUOjWng== 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=uwIjFPM+W6uPMSHOmuAZcqqOoIUlorblCFe1v+NRf3E=; b=KI2OGpoqzyByTLN4Uy30Q3Oyucn1q4jqnh45crT7TCmoT6Q76yLQDzM6PfkrhWdwmpT5f2rNx+Kaz+YAvJh+xL35rozwps1qAzMSJbkLjLtATb7hrQnXLXZ9xqt+TrJXyvquPoFHkTtkn4+6RARFwqz/9T7USqQ830AN8Yt6BjBhzHWoxK9ZBUgPwY2EfgXuWkuJI8IVcW7nIsASokm3NfFJgTm+dFTDM0bcTN78I2usQY5msoRbEsHyt5Avm3A6wieoP8OYLsbsNSZoorEZMlAArFzia7ynJpY6Tn6MbYTTJbOGn8gu6aDclq3gTbqxvFNH2BLRovI2PbXYsKFmfg== 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=uwIjFPM+W6uPMSHOmuAZcqqOoIUlorblCFe1v+NRf3E=; b=DCHhSdPMXbDcUg3gz3e72XmLD7x59vdZRk6Kv6BFvyA9FZA+X7klIOgyxWHhl3YmES+bCaoJT/bM0rdnXBKfN6Oz1C7WX4dsQBuWjczD0D6lo5adQd/7D23mLe9VxGAoiBX7h7/kCyjDlHQ7l3U2ZE0yYtpsp4Cq1RcC11radpBhbHJVXu7Qvcoa18hAAjkiH5SEQBKUayX/1rAuIaoKRm3qWBrlM9a3rdnB0nrecKZ8cU2ZObQ2wcB9MqjpVmzVvWcgvTmHX7d+Q0IyOzZjbI4VxSY1p5a54podMr5+0OPppg3IrRSIrZ2wiwdfj4kKu0s82SmaJ1hD61xlxC8hUg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) by DU2PR04MB8583.eurprd04.prod.outlook.com (2603:10a6:10:2da::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Mon, 4 May 2026 13:11:52 +0000 Received: from AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85]) by AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85%6]) with mapi id 15.20.9870.023; Mon, 4 May 2026 13:11:52 +0000 From: Khristine Andreea Barbulescu To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chester Lin , Matthias Brugger , Ghennadi Procopciuc , Larisa Grigore , Lee Jones , Shawn Guo , Sascha Hauer , Fabio Estevam , Dong Aisheng , Jacky Bai , Greg Kroah-Hartman , "Rafael J. Wysocki" , Srinivas Kandagatla Cc: Alberto Ruiz , Christophe Lizzi , devicetree@vger.kernel.org, Enric Balletbo , Eric Chanudet , imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, NXP S32 Linux Team , Pengutronix Kernel Team , Vincent Guittot Subject: [PATCH v9 2/7] pinctrl: s32cc: add/fix some comments Date: Mon, 4 May 2026 15:11:43 +0200 Message-Id: <20260504131148.3622697-3-khristineandreea.barbulescu@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> References: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS4P190CA0012.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5de::12) To AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) Precedence: bulk X-Mailing-List: linux-kernel@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: AM9PR04MB8179:EE_|DU2PR04MB8583:EE_ X-MS-Office365-Filtering-Correlation-Id: 1539d995-7445-4efa-bb2c-08dea9deb52a X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|1800799024|376014|366016|7416014|921020|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: GDNRjpLUHSOY2+VDljiPWumQAprdg04quD2yHnGw95aOPgLmleB6KRjHz4A08gDQe28prEAuQgWrnb2k66BuEbbgm0Y+m/MufrN+/918f8zKx7A1xO2Kxk+FQDPNU2KcbSJ4caY2Zi/2OUTVxhK5tus0J3z4bzp0rZ1bhjCqpIhREANnkUIU9xt0TOhVcSf4P3eTHcMvTLrbC9LJcX9sAAp+B/rmLi1VhJkiYx+LwY107Q6zs0UCbdXY2+wLTwVz8nGNxLQLDIDcovkHU/yheh59g/U0ou7YZgliPZ8B8E706EDcknafjXKZLiCadasSaIvRgGWt0TyYhNvVhY+R2B3y0KBicigPJUR90IXEjNPfOG3BXtpoiLTylpZaJJ/jVipga18W6SR77Kq8WTyiENzWSPre4hS7z1ejk4vCWV304sVIWGjJuEj9/0Yk4qS3qnFsq1gSSAg/DCglqjk39Pe4yFKc699H9Ev3/+zSaedDm/aL1UJjRlII4N2yJ9kxVL9GYYB7I923Q7+Vn0p8t64fdfNL6+OinP3iTkBTQcNeULZVyXYeiIbnMxSaowme4SV7vgGQ3gNuqWpqgRgK2r7cpJ/eAWsTxijZnqsWrM48t37mVq/D+QQzDklYR6yYoi71Wi3jeQ/ZNtGTCs5a55V//Czs3bxGBouzgkJ3008d2dNoSuOMvjZ30bnDOLFtaBZT/6qbnVhiM9x5G/IT3/57sD+PauMyNo7E1P2iBL8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8179.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(1800799024)(376014)(366016)(7416014)(921020)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a1NwNEhpZ09EMnZvdDJ4WHBTN1pZa0xTSUFmLzluVVZhNGhmd2t4MllleU1Z?= =?utf-8?B?MTFEOVp3RHlJZzFpeDcxTFdzYlBBcW9MOHY4VWZxVTdGVXgraVF6UGM0ZWxT?= =?utf-8?B?QUNhSU5LbFdienMvdnhjTXFScjd0eHRhdS9tc0gxc09UY1A4L2VKMFlMSlpa?= =?utf-8?B?SnVKbDl2c2pkaFkxTG5weXJxenZBNUpxOU55UDFsNGswTEl6Y2lvMXJCam1r?= =?utf-8?B?dVl5QVMycE4raythdUF2WGkxZG5kWEt6ZWZWRStWYUdoMEQyUWIvOTRKYTBx?= =?utf-8?B?R1hLWHJMSURwZmRKRTJWMWhQTXJ0d3d5aVlrS3BMVkQ1YkRmS3IrZnd1UXJy?= =?utf-8?B?aVRLK05DNkhoNGhScDNsZVMwVVdNQ1FWOWJUQ1dWMVNObXRWM1N2SWZGc0Z1?= =?utf-8?B?YkVuNEZNQUR6MDhJRCtOb0FaRjJFNjlvd013LzVVS3V1RG9SQ0UxL1RvZytq?= =?utf-8?B?ZnV5VnVZZFVKZUNtWVpXZCs5cEV0L2liYjNMWHd4TGRNYlE2WXkvdXpVTmxS?= =?utf-8?B?djRYa1prb1NJR2dWRjkyUnR0Q0t6NjlhenZud3JqWDZCQ2NIM3U0ZDY3c0NF?= =?utf-8?B?OHhJMkg1T3pheDZhWkJEMFY1SHpjN2d2TWdaWGg1b05PYXJVemdmYnRPWTdR?= =?utf-8?B?elNSRXp3TzgrVVYweldYWVVWZ21kdWdmc05NK1VmOU1yYmYwYUc1Ym5iaHU5?= =?utf-8?B?MHN3Q1dzSFk3YzRCZStnM1dkNE4yN1V1Tk1hMnFrKy8zdzY1Z3B4bUlvTUhE?= =?utf-8?B?RUhpaFM2YTFqWXpwYTVoRkp0cy9hcFhaZzBQNHFHTVQ3d0lpOFY5NndPUVg4?= =?utf-8?B?RzRKZ2pTaXJjT0lKbDR0cmVFaDE1ZEl5aEVRTVpIK25NakdRZW5teTlXQ2VQ?= =?utf-8?B?VGxQYk5OMnpsVTFJd1ZTWVNMamdGM3NBS3ZOaE1xQUhPWVJGakFWZG50MCtu?= =?utf-8?B?Uk4wMHA2cGkyZFNYaGM1NkR6TFZzSzVrbDE2blFMVVI4S3Y2Y2Q5K1lZNm5n?= =?utf-8?B?L3haR21jZWhKTGdmdWJybkdPS21FTisvVjJMVlNwWU9oNUdTVzFjVjdWMTZZ?= =?utf-8?B?V0pIM0JSeHV4U0Q1bmoyektmQSsyMFVSV0RVbmErMW50VktDTEZlNlFzbVkv?= =?utf-8?B?VXorNVpqc1FpYkZFRExPWlBHbys4dWlhQzhBYnZxVnUrNGQ0cGZxZUJVRWFB?= =?utf-8?B?Yzd5M3JuNTZ3d2JnY2ZKRkRTVFlNMGNuaENRL1ROWjVTbWRTWGMreS9PZm5j?= =?utf-8?B?QjRUS3ZSaFFoem54cS9UUlFPY3F6bVowc1NBdkFXTk9iZHQ3dUxxTEk4S0dp?= =?utf-8?B?YTZkS3dGOUVLb1FldDJIbGNKMUJvQ0tYbWdaSkpoQ2xlOTE4NnZLekVyMmZZ?= =?utf-8?B?OElkejNLbTNTVFRrM0ZETDh5QzhseFNPNWVSdCtlMjJBdEhON2o4TmdadUR3?= =?utf-8?B?Y0FkVXRBODFUbW1rUGYrZ1V0L3NwUVFWMlpTTzIxU1Q0aGhROFllYXpvbVpm?= =?utf-8?B?VHlOQUJQbDRhaGJYdy9JMVExWEt0VGs3cUpaYTB0eUMrVGxMUUw1MnhUenVJ?= =?utf-8?B?VTUxQzA3ZmJkR3hiZldxVXlmdGh0T0ZFTGQzMlYzV1YyUmZNUnFFSDBFYS9j?= =?utf-8?B?dHJMM2tJM3Z1aUhtd2FGQ1JFTXhQL1FRaUlNVmtiVWt5RXNaaXZidlNSeUdx?= =?utf-8?B?Z2JHUEF2ekYyamFkQVhod1JkeUhPYmZVYjBXSENwT3hmWk5XTjcwekg4ZU14?= =?utf-8?B?azhHeXVCb1VWQk1lYm5kaFM2Sk5JZ0srZkNxNnlRVlI3TjhBNzNYRmlGRWNo?= =?utf-8?B?R3gxQ1o2ak0wbDArNGdJbUhxY2ZkWkx0amRXaS9PQi85VDNEbTRyd1ZLbmxx?= =?utf-8?B?RER0b0pid3k4bUpQT3ptamNxaFplMjlxZW0zZHdJQll3MGcrKzdkS3lnYkRW?= =?utf-8?B?WGM5UUlkYXk5dk5BY3JvZXB6WkNEVWNsem1rRlBUd29rNGt4bWd3OUw1ZnN6?= =?utf-8?B?OVRjYVkxc0gzcGdNSFIzTG5POG16cUJLWEoyM0lmWXNJeldqSmFTSnVQZEE4?= =?utf-8?B?RU5hdno2UVdvU2dzczNKMmZFekZubk0vSWMxclNnT01MQ0xWNEhuV0hQSzND?= =?utf-8?B?T2dwMDFWNWozemdiQ21ZTHl0VDdoOGYxQkhXVFUrRnVCU3BlQXpZSE5ONlQy?= =?utf-8?B?c0dHMkJIVkdRTnVsRnFVNTlhSHBuTUJvQ1NrN3FZclhya1hFZXA4Z0J4eEd2?= =?utf-8?B?NDEzVzdudFVGNlVvbis1WjlVc0RIdlNKK2k5M0haUWVZNnFUZXpIMjd2bm9O?= =?utf-8?B?dWFOVGh0TnNhejI3WExNWDJLR1MwKzFYM003WUJwMUJKVHVRRERRMkxoZzFL?= =?utf-8?Q?/B0v2zVieuvrMi3ocPwvHrEVPY9omqogpVR8f?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1539d995-7445-4efa-bb2c-08dea9deb52a X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8179.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2026 13:11:52.1579 (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: bP/VPy5ADeKvaUy8HVroZ6VRv65ir9Qd8JFgtwfYfU1OG7U51oixyQ62bMR8QAjqrqC3YfUzUNgsd9iH/ctkgGk4DsuhPO9c15QHuDD+nFpOpiFxlNyGHq4oUsbuvOZJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8583 Content-Type: text/plain; charset="utf-8" Add/fix some comments and print statements. Signed-off-by: Andrei Stefanescu Signed-off-by: Khristine Andreea Barbulescu Tested-by: Enric Balletbo i Serra --- drivers/pinctrl/nxp/pinctrl-s32cc.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/drivers/pinctrl/nxp/pinctrl-s32cc.c b/drivers/pinctrl/nxp/pinc= trl-s32cc.c index 56be6e8d624e..558d9ae1fa0c 100644 --- a/drivers/pinctrl/nxp/pinctrl-s32cc.c +++ b/drivers/pinctrl/nxp/pinctrl-s32cc.c @@ -60,14 +60,20 @@ static u32 get_pin_func(u32 pinmux) return pinmux & GENMASK(3, 0); } =20 +/** + * struct s32_pinctrl_mem_region - memory region for a set of SIUL2 regist= ers + * @map: regmap used for this range + * @pin_range: the pins controlled by these registers + * @name: name of the current range + */ struct s32_pinctrl_mem_region { struct regmap *map; const struct s32_pin_range *pin_range; char name[8]; }; =20 -/* - * Holds pin configuration for GPIO's. +/** + * struct gpio_pin_config - holds pin configuration for GPIO's * @pin_id: Pin ID for this GPIO * @config: Pin settings * @list: Linked list entry for each gpio pin @@ -78,21 +84,23 @@ struct gpio_pin_config { struct list_head list; }; =20 -/* - * Pad config save/restore for power suspend/resume. +/** + * struct s32_pinctrl_context - pad config save/restore for suspend/resume + * @pads: saved values for the pards */ struct s32_pinctrl_context { unsigned int *pads; }; =20 -/* +/** + * struct s32_pinctrl - private driver data * @dev: a pointer back to containing device * @pctl: a pointer to the pinctrl device structure * @regions: reserved memory regions with start/end pin * @info: structure containing information about the pin - * @gpio_configs: Saved configurations for GPIO pins - * @gpiop_configs_lock: lock for the `gpio_configs` list - * @s32_pinctrl_context: Configuration saved over system sleep + * @gpio_configs: saved configurations for GPIO pins + * @gpio_configs_lock: lock for the `gpio_configs` list + * @saved_context: configuration saved over system sleep */ struct s32_pinctrl { struct device *dev; @@ -321,7 +329,7 @@ static int s32_pmx_set(struct pinctrl_dev *pctldev, uns= igned int selector, /* Check beforehand so we don't have a partial config. */ for (i =3D 0; i < grp->data.npins; i++) { if (s32_check_pin(pctldev, grp->data.pins[i]) !=3D 0) { - dev_err(info->dev, "invalid pin: %u in group: %u\n", + dev_err(info->dev, "Invalid pin: %u in group: %u\n", grp->data.pins[i], group); return -EINVAL; } @@ -970,7 +978,7 @@ int s32_pinctrl_probe(struct platform_device *pdev, ipctl); if (IS_ERR(ipctl->pctl)) return dev_err_probe(&pdev->dev, PTR_ERR(ipctl->pctl), - "could not register s32 pinctrl driver\n"); + "Could not register s32 pinctrl driver\n"); =20 #ifdef CONFIG_PM_SLEEP saved_context =3D &ipctl->saved_context; --=20 2.34.1 From nobody Sun Jun 14 02:38:16 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011019.outbound.protection.outlook.com [40.107.130.19]) (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 4F97F3DBD71; Mon, 4 May 2026 13:12:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.19 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900323; cv=fail; b=bXBg04UkrIjDnsU02nJOP2F6C0bDBsBT51GfM7xhurN6MsNuUt7DIF2M9dN8pnrlpvkPy8kRA++9aV1D9nSUW/LpQYNBtMW8UMq+SEOfWw5qUHOTzL6kcm9+Ysbhw7G43yLc5rSvhmjPOdKMpVzbaxU6M6x3tXbeKlgC9VP8AP0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900323; c=relaxed/simple; bh=QrRg6z4HUCLQt5+1hiTy/A/LPNtl0OovSYWc1Hr6g7c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=RDY2uuCef0dXhssdlvEzWi/Q6HcOFa100R71H4WDtS5a+r5SrvLG+0CuXRdCPlWPGBPd6p0arjbKxtpVwIGCr/Ge/G6+tbCEs9DPbzNfDgfnQPwQKSsxtKybs8qrmffgMrww2wi9gMRGRcdePVFue4AfTv/DDWsNrjDK45EViUI= 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=ACmrfOBf; arc=fail smtp.client-ip=40.107.130.19 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="ACmrfOBf" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=R4TVcF8/CFECeMd4kiF0fLt37EMfWJzxd9uNE4i9BJhYSMO8DlpcMS5asBQ6XyZg/v9UiNA07VTcruqfDhlBGC9gUZWKYYgZPkrfO8ZJhWvoMguNZMrgEorMtNavf8luKJtYZhzP3O+qoeOcPGFqidDpOONTITal5ExULq5JzoYej+cCiZHFnQNEAlbqfbLS/anS6k8n8032RpDt0krmi8JHxVD/TykKsm6cr7bIelCnA2mBRHSitBaHL8zHrnju3vnvDvOIG6DIU5VNpBb5sqKk5NZVvIpcL/x5K4tnAAsMQ91/nBTtAUsElQdlRlxsnl5wRHvpd9ht6982u8XvNA== 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=nd9WsGVc+B6zlJlmKmQ7+C1dICQsJp9GHcqLEnX0Ohs=; b=rizxuPeP3lLCJudXxW6ZYVRjLZUmQv4mLgM7+hseRxd/zmMGIG3gQj2/suyX6997uyBfhqPDLLoHUZbNFTCmaLfdwAocSC4aj0/xB6RwiFYevDtpZKsTEUnopYPPlhWLnkWP5BE/isOYAxjUoTpPgLmuPjh4u1DPWXa5Arqb/avK2HF9O+Ey782hlycqcUDHnabRp2eoxtqZ1wdWihQhZvFQ5o1Qnnj/ro0Hyqo4a+7NpHY/zy4pf1O6wg5Q3w6KM5MHFx5MBy1YfYdBViyQfusyLwx2rQHtqf6s7CE7zYWcejDruF5ei9s263d84zBBlH+jPIPg8Y3mNm3Fu2bAXw== 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=nd9WsGVc+B6zlJlmKmQ7+C1dICQsJp9GHcqLEnX0Ohs=; b=ACmrfOBfxKPcrTk0hGk1UWNjZx0LAip7gXT4EdFjgo44k64Sy1vnN1clxuBlVLl8TJ8b4Pp5oSu3t0HVkExpAHyVJjz1CQDfCZpVyzYr7Uw1hMeO4wH4xyUkv5HzGGFEzAZf3DjO5iewzDYWvpFr9xQ7tjKDz4d3g4+UAQ072ZkKmPTV0lAX0dnnGQJdApIY8oaSfb38BFjHba2j/SGHJmhyPXKMh0QriDKUWgidmP2KrS2E/3XBKaC4YR4DPtIFamkq2ILQGc6C89BwD6arCa3HMqmrcJfa6MfHT9xQQACcv7rIx51HjIAH0tC/16bsHeQGjXJQBW7TynUQuz0qOg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) by DU2PR04MB8583.eurprd04.prod.outlook.com (2603:10a6:10:2da::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Mon, 4 May 2026 13:11:54 +0000 Received: from AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85]) by AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85%6]) with mapi id 15.20.9870.023; Mon, 4 May 2026 13:11:54 +0000 From: Khristine Andreea Barbulescu To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chester Lin , Matthias Brugger , Ghennadi Procopciuc , Larisa Grigore , Lee Jones , Shawn Guo , Sascha Hauer , Fabio Estevam , Dong Aisheng , Jacky Bai , Greg Kroah-Hartman , "Rafael J. Wysocki" , Srinivas Kandagatla Cc: Alberto Ruiz , Christophe Lizzi , devicetree@vger.kernel.org, Enric Balletbo , Eric Chanudet , imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, NXP S32 Linux Team , Pengutronix Kernel Team , Vincent Guittot Subject: [PATCH v9 3/7] pinctrl: s32cc: remove inline specifiers Date: Mon, 4 May 2026 15:11:44 +0200 Message-Id: <20260504131148.3622697-4-khristineandreea.barbulescu@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> References: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5de::14) To AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) Precedence: bulk X-Mailing-List: linux-kernel@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: AM9PR04MB8179:EE_|DU2PR04MB8583:EE_ X-MS-Office365-Filtering-Correlation-Id: a8668238-b0f7-4fec-c814-08dea9deb63d X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|1800799024|376014|366016|7416014|921020|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: drp/cug8tQGWaHkTKNvyDxnhbLdKvGLfdu2FA/XiQD5QSXTL+rfG83gHae/7fr7As9gGgioJUX+6COkypdDuTvGBVAg9Gr9TTNtsdiUqpRUqXFF21lsMvKxTYhdSznGCa/2L0judSnt0Ekd4BfRuT4xAugyTrc5QhG5Eu/r1et7DpFyGJk4KeALHVtSZXP5xVWRaTmgf+qOSVuS0/9ouWjJUay6RDo8YnongAJTPbHq80KN5sDupGsAToMYeoU20lcani7VPCaoZ/e9gm5S1ajaT4NNPvdhLYYBBkcDuyFVPnsj/V6HORVibZDnbDaDiac8224ivRvUofWc5mdKNuuoeKc2awQAY5vjCcUzm2qnWwzZKaB3pM1PMee9ofPFpu+pjOp85/ib3rypyzsN7GgP9l8BeqAwY/2Np3VP+W9FANTXdcAzJ6Za6ou8ujd+UgZ1Gt4+UK8yb4DPy8q+mZcCGJVUUzQ9RQJFW/X5tR1UPIos4oHhgSSe7hB/lJoAZd/Tu2dkMkVqvCAERDceC9omv7xnWoiTMotyI+N14nIytTDD1QuUzm0QXJO/Wz/DSHqM8qIW2JNgMEgeu0L4QQdza4YWhClNA1+QuNjubPTRn11fFbTaM80IPqEkUoU1l9OX0imQs4ddMC3xZM8IzlX6CrETw4ewgOISXX3zkvp3uB6AI7oLJzNk6+mT2UO576HtMfC/83IOmfBVpXdQIVcohJxHePTN2NrH42b1kAXA= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8179.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(1800799024)(376014)(366016)(7416014)(921020)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RkhBL1FpUlZoWS9LaEdYQ2F4d21wWnhUcS8xSG01M3NZREh4U3VhUkNheWdE?= =?utf-8?B?UkJsUnlZZm9Sb04va2hzb2NZUXNsZDZHTVRYZWNhM29WRXBQQTBDWDFnTHhK?= =?utf-8?B?VHdraDlLc1NlajRtYnNpSW9CT2srWis1Wmp6YVIwQkpjNjBXT09VMXk4aUJN?= =?utf-8?B?WGkxY2NNcjJuR3FJUjJwTmJOM3ozSmJ1ankyN1dRbWRtRXNVS2Y0SlFoVm5B?= =?utf-8?B?ZStlY1JiZTlkRVY5TktNUElVOUM5K2NTQmdsRkpjNVlydjFCaXhLcXFPZk1V?= =?utf-8?B?bys3S25vd2M1aldDU2tabEw4UG05TTh2ZUlZUkZwRGRMWjNWaW1kME42SThp?= =?utf-8?B?UEY0VkZyT1FSMTlDQTJoK3VkY3FXZ3E5eWtHcHgrWW5kSmlZNmpZWmF6d001?= =?utf-8?B?UEhCbGpZaWkvcDZSWVZKdGFyMUVwamhSb3U0Y1RJZHJ1clBML0xkdkxFMTQ5?= =?utf-8?B?QnIwZjFJZmtYMms0djNaRlgyT0JjbmlYclZuMjJ4RG90WC8rZ0NhWGlUMkZP?= =?utf-8?B?WnQrNUhPREh5NEREdk5LbG5WWmk0d3pFcnl4OGhDOHhpTmpXV3g0b2xPVHVx?= =?utf-8?B?RFFhY1VLOEVHS0lCcVkybkhEeUY3TUlNdGxnQXpDRUlBREpjQlViUWpuZVl2?= =?utf-8?B?UXgrY28yekV2czk4YjJOc2VDVVJzUEZ2aE03WUtqUHhLTHJPMU44TkswbEhi?= =?utf-8?B?K2VPYzRQczhFdFZ2NURrc2JNaDh4M1hSMndlbTZWdVZlNmdvaXVWd2VqVndy?= =?utf-8?B?VmdrdC95aGtYM1lLOGVLdW9LanpNcG1mbmc4UldBbkFKSjB0WTZFUnluZUhS?= =?utf-8?B?dVlkcXdSZE5heEtYR1lFS0gyQWNsdjdydVU2dE1palNxM2J1UlRlM1dsQ3RG?= =?utf-8?B?K1A0Vk0zRkFmb05URDQxWVpUTE4wb2VOZU9YdHMwK2pBQ1lYcTQreS9lSzlB?= =?utf-8?B?bmMzMXVJZGJJTnc5VGpHdGtVL3l6QzJMdXdrM0diSW53SElMSkFTZHFLaEsy?= =?utf-8?B?bGUrSVo1MWdYUnMrUEFhN0c4eE4wZjdDY3BENk81b1FEM3BWWkpsaHhkNXFo?= =?utf-8?B?cXBlSXlib2tTV2FhWmJXUm5tZVIvcGo4WVBaZVUxTVFSbXJqMDJWcjhQcFRZ?= =?utf-8?B?ZU9RTXkzWld6YzBzSURUbHlpSGd4S3N2aFIwb2ZHMUlBMnY2eTEzdjhrT2hC?= =?utf-8?B?Z3YyY2xTSDl5NC9QWE44UUF6R2RWQTYvdjRYZzlKOGxmMWZPblFvV2xrcHVq?= =?utf-8?B?ai9hRW5iNXk2bnE2a09nY2pRTnJFQlIxanRFalh4K2RwaERtMkF6RUJ6UTZ2?= =?utf-8?B?Lzl2MjVIZVppVE5BVDdkbUlxUDE3MDZBWkFGaWt3bFpsdHdTcXRjTTJLSmtH?= =?utf-8?B?WFR3blp4SGFETFFhSEpaMDZRbDBCNm9jRnFUQUhRYlorZ2NDQnVyeldXUVBw?= =?utf-8?B?dmRjSGVYYzlvZnkwajgwUGxOajEraEppQ1lrcVUrUjhKc2xhVlpYdUNRbkhW?= =?utf-8?B?SXdaS2NkNXBvbHlaTHhPcTM2bGZQSS9wV1RmM1dPbUtLMi9QenZuSGRKUEty?= =?utf-8?B?UDRIVW84b1JPMTZRWnlMYlpsM3htVGZrL2hoc2IwOHVBQ2liSElJb0phQWpy?= =?utf-8?B?bTZaQXd3K0dIR2JTOEM2bUJrb2hQN05OQWNTb3UwNU9mL3ZkTnppMlNLN1Jx?= =?utf-8?B?MnFJZHNWaTRncStxMVJUYlFZWEo1ZWs4MGVBUXJxWkRYaXdFMFQwTFNnbkh0?= =?utf-8?B?YjZnY0dDT1B4RGxRcTZFYXBhSkhpTkhDc0VaaERWeVMxNUZjS3dnU1lmRmdI?= =?utf-8?B?Ujg1T0dndkVzeDlYeEoyQXoxVlRrSHZacEVEc2J5K1dYQ2lIaEp4bnpmSTVK?= =?utf-8?B?RE9FODJLeWExSjN4OUhzblN1OU5MMFRuc1pad3A2aDZSV0tqeG0wVE9jWEtS?= =?utf-8?B?M0dtS2Q3SWpFeUk4aXF6cFh5Qnd3Q3kzSVVrL0xhZzBJam41NElMendSUmNl?= =?utf-8?B?Q2xsMk55NmUrMmFpTnZ2cExzR3pBVHVwMUVVNnBSRk1wME1RZDAwZ1NwVGZP?= =?utf-8?B?V3hxUFFldGVkWTJwVlRLdDNvU1ZDRTBUK2YrYmhZRW50REY4UnoyOHZReWFy?= =?utf-8?B?bDZEdTNSNHl4V3hKdHpJTFBiNVVpZC9PeEpkMThXZG9kSHYzbWlEK3NPdm5S?= =?utf-8?B?RVJ5czVPbWM1WUVtTHY0cHB6THkvSjZPT2JJWFk5cDl3a0MrZHdlLzIydjhF?= =?utf-8?B?MzVPdHpMTlQ3WE5KZ3VPcEsvaGdHanpHcm1SdkdPdE4zeGlIbFVWK09GanIv?= =?utf-8?B?VHJTRE5xaWZXcVBZMjk3OUJaZDE5dGl0TGlFWlRpWEZVQ0p5VHl1WnZNakxK?= =?utf-8?Q?m9JnuHx2+p1fzGxiURcn2aUQ65MZpDNjK7aIl?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a8668238-b0f7-4fec-c814-08dea9deb63d X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8179.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2026 13:11:54.0579 (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: R40SgVN0msJ3HZ4f1b9/1ks3FPz8JcIjgoq2jnnJBcEt+vfO0uWSJPJEIBZxSKfbs6K2oqQ8pKj2jasjFvTNVsHsfXD6ave0c+FUkleycX2M8+O7LuD0PDppBuOVwnvf X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8583 Content-Type: text/plain; charset="utf-8" Remove unnecessary inline specifiers from static functions. Signed-off-by: Andrei Stefanescu Signed-off-by: Khristine Andreea Barbulescu Reviewed-by: Bartosz Golaszewski Tested-by: Enric Balletbo i Serra --- drivers/pinctrl/nxp/pinctrl-s32cc.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/pinctrl/nxp/pinctrl-s32cc.c b/drivers/pinctrl/nxp/pinc= trl-s32cc.c index 558d9ae1fa0c..1c95e0022020 100644 --- a/drivers/pinctrl/nxp/pinctrl-s32cc.c +++ b/drivers/pinctrl/nxp/pinctrl-s32cc.c @@ -131,13 +131,13 @@ s32_get_region(struct pinctrl_dev *pctldev, unsigned = int pin) return NULL; } =20 -static inline int s32_check_pin(struct pinctrl_dev *pctldev, - unsigned int pin) +static int s32_check_pin(struct pinctrl_dev *pctldev, + unsigned int pin) { return s32_get_region(pctldev, pin) ? 0 : -EINVAL; } =20 -static inline int s32_regmap_read(struct pinctrl_dev *pctldev, +static int s32_regmap_read(struct pinctrl_dev *pctldev, unsigned int pin, unsigned int *val) { struct s32_pinctrl_mem_region *region; @@ -153,7 +153,7 @@ static inline int s32_regmap_read(struct pinctrl_dev *p= ctldev, return regmap_read(region->map, offset, val); } =20 -static inline int s32_regmap_write(struct pinctrl_dev *pctldev, +static int s32_regmap_write(struct pinctrl_dev *pctldev, unsigned int pin, unsigned int val) { @@ -171,7 +171,7 @@ static inline int s32_regmap_write(struct pinctrl_dev *= pctldev, =20 } =20 -static inline int s32_regmap_update(struct pinctrl_dev *pctldev, unsigned = int pin, +static int s32_regmap_update(struct pinctrl_dev *pctldev, unsigned int pin, unsigned int mask, unsigned int val) { struct s32_pinctrl_mem_region *region; @@ -484,8 +484,8 @@ static int s32_get_slew_regval(int arg) return -EINVAL; } =20 -static inline void s32_pin_set_pull(enum pin_config_param param, - unsigned int *mask, unsigned int *config) +static void s32_pin_set_pull(enum pin_config_param param, + unsigned int *mask, unsigned int *config) { switch (param) { case PIN_CONFIG_BIAS_DISABLE: --=20 2.34.1 From nobody Sun Jun 14 02:38:16 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011019.outbound.protection.outlook.com [40.107.130.19]) (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 68E713DA7FC; Mon, 4 May 2026 13:12:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.19 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900324; cv=fail; b=QoC1u7M9caWRbEuB/HnOFOYjsFGAPqL48DO11fF/rrGTSnJGS14Z5m4HKAc4Vj2FNpLpK6SwZI4LZ1B1d2vxBZNckbw9U9Q1aO5+XcbzBF51Uw0z1h8NgSPww3YCSdYkNaqZq90VUT74X7dJcr3gCIvPh15npWKj6Z44bmpNEvc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900324; c=relaxed/simple; bh=Ox13bXmiGq0kEx9928HWWCnLQOdYRHY0xe+WPZ20/3w=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=GBLQUJHmfNp3arZb329ZRNf1MQRLjaZLG1+Zr2qapIKHDkK2omCxglE1S5WitaXHl/dJ8lwqkJRjg3sT8HKD41BDT9afD+GOCosUVDvKn08abQgvVCHrlUJMXJL/tcxGxDl8mmnA+MpiBsAW5QMbBEg0GOe3KZNi+h8jvvZIDfg= 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=WKBM/Alj; arc=fail smtp.client-ip=40.107.130.19 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="WKBM/Alj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=G2rHhF+ABgcWqB7574pmN+RVAvmXmwL1pAys2ynChnf6NISeAhx1f6Ztaabkpr/eYUbjjEUYxu/2LtKU+zdGXdDLFumhjVRNjDmhYW6ogHWX1pDTtxEfeioxwKE3ryK7bCk1p50wSqryp8ZNqxsRf3gbl+EPLIHbL2tJwKWB5ht+Z8Nfep4dknKRCzUoaiqy0QrYT46lf9y2g4oyrOJZqIH0vav/FelYLa+G7ZQpDL+nC0o1QFAGdCE9Jw1FLkH3SkMn574UG0y/fc4Xwz9ciCVUSQb6QwnCLfY5r6aeGq2za7FN2e+XR7e92bJ/z9U1K+65k5Y9q21Eq6TLEYyLWQ== 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=dcsnrMXMi9+3PM0FGJdD7cbkFZiaA06BhxZj/d6lPzQ=; b=OLgmmkzigjzSYLmLfHdKZFdSyFfm6eKOAzMfYZd7Ht9ueO6q+35pO2DdGA6vYXGuiF1eEcb02hTJCrzUZAsz0B+WkoR3O+vdRfvzYD4qTskKBinYZHVHOiSDdR06I3jCXjlgO1u8bJ+D+8gIc0u1EcVuxPAnEh/lq1skgVB4mBuBkWEOgmtnuKY4pQ0Xw1iEv2i9BEc56rei+LCecoiw7l7FucIQjAa85Zq1OEsxuU2PQxofv04rqr+OP85PbclWxpilg129BlXQ1ftbyrJUyCJAF1dfKEh5seHeu6l35R4nl9KkTGrd+BDGEzjFe7mv59+2Cek9dfZPSYSm1S0O3w== 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=dcsnrMXMi9+3PM0FGJdD7cbkFZiaA06BhxZj/d6lPzQ=; b=WKBM/AljX6kh3UwNuXexRsB8UcGqzHez3Ve+1mA3E1ARygVIcd8tj0SXjVV/AQffqbgoe/yJsMc+3jm68K0SbImuiTE/bOGtHnucNv56qfLVfV3Wj36ETSrldLX/jpmUaxqiln+AOI7g/ntdau7W7C64odn7TPcIhbQKBSK+G4MmqfGOEseG00SkMThOAGKXM9bIriKPv8aZFTtjlEeca1zsu7EbHuLzwgV0yCEQMiWFvXFFJPYA3NCcVhrQ+nxoZQSt+NLim1VIwBlX+ovuP6BLXNA/EoteIOyUcfGg3Qw6FwKyC9i5gGxyuzkUOhDyehI2LmlDjM0O4Ki4jDVIqA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) by DU2PR04MB8583.eurprd04.prod.outlook.com (2603:10a6:10:2da::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Mon, 4 May 2026 13:11:55 +0000 Received: from AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85]) by AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85%6]) with mapi id 15.20.9870.023; Mon, 4 May 2026 13:11:55 +0000 From: Khristine Andreea Barbulescu To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chester Lin , Matthias Brugger , Ghennadi Procopciuc , Larisa Grigore , Lee Jones , Shawn Guo , Sascha Hauer , Fabio Estevam , Dong Aisheng , Jacky Bai , Greg Kroah-Hartman , "Rafael J. Wysocki" , Srinivas Kandagatla Cc: Alberto Ruiz , Christophe Lizzi , devicetree@vger.kernel.org, Enric Balletbo , Eric Chanudet , imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, NXP S32 Linux Team , Pengutronix Kernel Team , Vincent Guittot Subject: [PATCH v9 4/7] pinctrl: s32cc: change to "devm_pinctrl_register_and_init" Date: Mon, 4 May 2026 15:11:45 +0200 Message-Id: <20260504131148.3622697-5-khristineandreea.barbulescu@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> References: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS4P190CA0013.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5de::15) To AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) Precedence: bulk X-Mailing-List: linux-kernel@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: AM9PR04MB8179:EE_|DU2PR04MB8583:EE_ X-MS-Office365-Filtering-Correlation-Id: 19baccf9-aff3-40c0-b03a-08dea9deb715 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|1800799024|376014|366016|7416014|921020|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: lgNe1tZBGZPVS9rgcamIlqecW/WcbRV2e/z6v4HMv0lSpG2ZNcy2HRnj6HyYMi/QXTVibQRhmqesSBuDou2WdSKPnmQIl1kNG7BNc6tVSk/1bNNbW66LG7WPP6J9H7S7+sYTFgu+0B56e9vhWfv2OR1z4uXh5La6Q5XfNfiDcBFByYBcMU0ax8ZI0d3JyedYXtfoxNBB3eClWtIvE0DSo88+L7rTd+qGMAAy+6DYxnzDF/vBBKPt0VB53A9R9NV7OqCDCz8ilKlSZpJnlCfs5JelOW5NC6LXCVYQhgtGqdB6tYy3mJsNSGWWzmIf3lQYvua36JLKU+kFG2aop+7ab0r2U8cd6Q41ggwfU+R8blHWGiq3SVr+TnFhUoluAnrqL5/msc7HWd6eXDXrarTaOSCr5PoYsus2tMeqnVgNlkW1hHt84YR8Xqg2tk8aKtP1+yuoUDMbsRKwOmYV9yqwkniH86xg0ju6DVGniiuTbngNaH+7cHJUEOH7LklLJv30/fJsgGKCtM+wh7a5+tgv+ePONUn1lH1XI3Oz5oXwyM5kcBpoB7JTIGe6W+UKj5Ei5tUCG1+oQh3HGL1DPXXmC2LaCm6NUEl0IuW7s33bCU8szYnvOfTaJ9615jAGW948o+tEgh1eMwurgR2bJ06rtna5uGrY+vMKR/v42iAlYBIabx4B85euAp4V6v83uQWw0bmJU6nkimwdgKjs3LLoHho3VpLzYzz4P37xSVZQwtY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8179.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(1800799024)(376014)(366016)(7416014)(921020)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QzhRQngvOGcxRFBPUlpGc05taXhwSmJMbWxvc05zeVQ0cTlHaDRaRmd1VTFv?= =?utf-8?B?eHVyamNFOGw3Sm9RbFRaemY0aHBIQmZUdzNYODJjNkZBcUxseUFFQU0rdTVZ?= =?utf-8?B?SzlxOVo4cWxsdm8yWmJFZkVrSkRmTnUxblN6TTFDcE1ZQUhnZ2g4NjVWZ1Mr?= =?utf-8?B?amdFNm9mbEhIMllqYnd1b2dnL2FPaVRKQnkwaXZhZXFVWUk2Tkx0U2hGYnhS?= =?utf-8?B?VGhZNDZkMmRvUVRmdFFQMmo4dEpMcXBDa0dvU2FwRkRBRkExMzZYRVBPc3Zr?= =?utf-8?B?UlBuT2YwZk1BZE5nNG1PbGlWeDRLUTJYOGs5Nkt1OVhKZFUzdnV4YW10aDdL?= =?utf-8?B?UnZHazZTaTV3V0x2VnhTVUpqVUVrcDZOUlZMSDVLK0o0dUVjbXdNTDNiUWJN?= =?utf-8?B?VEUvVmpqM3R3RlVtNzNLT24wcVlTRWZOY0hOMDhsL0RUTnpSUVdDY1dvdW9K?= =?utf-8?B?TzVIMExCUkd5RUIrVzhIU0NlV2VMMkkwamtxMHBBeGdTSEFDOTdZM0NadnFQ?= =?utf-8?B?SmpwN25rWDgxZ0RRbHo0R0FmTWxtMmF4UjFjWDFOQjRtVTg3UUJQbjZsZkFN?= =?utf-8?B?L0pNdXBOYnZIL3hQNktIYWM1VTVWRk5NUnFSSzc0b0MzNk1Lb2FXNTRMV1pM?= =?utf-8?B?ZHpuYnN6QjdmeGMzcUR6Q1FGUTgrdlhCUkNEbUZSbURTd0JkV2VmY3RJeU5k?= =?utf-8?B?OVMwOERkRU1GU1BHdm1MM0NpSkF6WW1OZXdHSVJQLzMvTTZIR0dwbTVkUXp2?= =?utf-8?B?TzFoTDBpR0hHSnR1bDhocERpOUZrLzhEdnJORFJWTG1LVEdCRG56clRGZFVo?= =?utf-8?B?d1NOMWRuK2xhUGFGc0pZcDk5alpNOEZCSlJRWm5KWmdOam0wajNac2twOWl6?= =?utf-8?B?cWxCOEo0WjQrdVZuVkNqTk00UzJLUFpyWTNldlRVa090OWdXYjFOcThRdkZJ?= =?utf-8?B?TzY0ME15Z2RJWEJwbGZZYVVpbkJyTDBXRTlIcExhNUtVL0FYNVlZVzh6bXFN?= =?utf-8?B?aDJBQ25kTGs1bGJ2TGlIMU83K2doNyt4K1gzRG1YNXFMNHdVS09XMGhyMDNS?= =?utf-8?B?Zk9yOEhQOXRKeFBKSXNDcXc4czRROVB0SGNkRG1Xc0M5bmxhNlhxdmFSM2NV?= =?utf-8?B?N0x5SHVSNDJuL2RVNyszTDNERXgrYkdYNmNiTWFnL0cwcGhBcTlyckc3Q2Fo?= =?utf-8?B?QUFrdjRxY29GeGltKzVVa0ZyQVVDTHZWK203SnRzZm5rdTIwK0tmZXhoNjln?= =?utf-8?B?NVA4UEhRRTJlR0FpTE1raUJyb2pvSnd4YVJYalA2R0ZZV1NxeWpYOHlPUnUx?= =?utf-8?B?OVlJVXluWlIzeGl3OXAzUlB0UzlSNi9MRGJWWnlEWjRWUGxNNU9tZEY0Tjlq?= =?utf-8?B?UlFZa3JsK2s0eUorQnpjMlY1SDNTQVBVQjM3cDBPQmNTMnhid05wY2tmTU16?= =?utf-8?B?Y3hHUjRTTytuZWgyQWhlYVVYd2RxNDdNdkI4V0gxeHVHWUdZT3o0NHRJTUJu?= =?utf-8?B?TENNVk5HeTJFaTkxSXA3dVVmaWNXVEhia2pHNGdIRlcxQndKUGgxY0F6c1FB?= =?utf-8?B?TU5Oak9qa0kxSjJsOHhpbzUwQVE4anloeTBHU3VSbEZKNkdtcFZkKzdROE5I?= =?utf-8?B?ck5IUlM0QlBjWlRobU5VVkxpSFEvL0ZrVlNBMHAyRUIvSmVXWEtPZEhLejJr?= =?utf-8?B?OTVrNkZVcktMWWJuWmVpbnFycTJCNUpKRWZUSGpPYWtlZzJWYmNXQUNOc2l0?= =?utf-8?B?REQ1M2VUV24zRWpkeUNkdW5EbENHaUt2emVJUmdsQzQzVGpYNkxiajIzMkpS?= =?utf-8?B?YnNKZVJ3Wm9QZkdCVnNtU1ZJTGRBdDRVdGtQb3o2c1duYkhsNkhvdGpCU1ZW?= =?utf-8?B?MzNOVEpuN0tzVGl1TWJnRXIwdU0vZVRUMlYzbVBMOFJrS2FQczRqRkdxemh6?= =?utf-8?B?RU4vbWM3VUxtditFZERWaklwS0t5QmYyRU5Va2tLTTlhN3ZNQ3U3OGVtRHZh?= =?utf-8?B?SkZVcjFQcDF5Wm5XckFoZ0c5b0ZOREJKdG9nZDc3d0N2K1ZGRWhhQlczV2pB?= =?utf-8?B?aTlmb3hKT1ZuZmlQejdrbUZURWRNL2c4Z2pvRFkxbXlkMENNMCthNE9mUVFw?= =?utf-8?B?SkJVWkM3Y1FjaFB2QlJEcnpocEN2WXMxWXNGRlFsVXFDNnBPYW90S1V3bXFE?= =?utf-8?B?QXFIcFZNWGoxMjlROXpSZlM1VFp2b1RoMmJycGgycG16REZGUEpMQTVIZHdE?= =?utf-8?B?Q2dBdUhLaGdiY01oMDFaZnFJbGU1OGx5Y090QXpIOFBjRDNYc08ycjVRYUZK?= =?utf-8?B?Q20vUU0zaFB5ZlhkbGhQaURORWxHL0lUOHVJOExRYlA0TTQyV1NtUVRHVFBr?= =?utf-8?Q?giEGFAWbRuiqfb9zCPwvKZZAJT2j/LGwOI0Ja?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 19baccf9-aff3-40c0-b03a-08dea9deb715 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8179.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2026 13:11:55.3981 (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: crdYFmIVU+MmLSMyhcQYAMeuJ68v4Ou3uzmA83hImve02URcTTBruyUeGFP9tReV7bcuJNj86Wy1/BHMuHCy2FNAr51dmQ0L7wtqW65r5Jgn0Geq2CDVXhj7MGxv0AJr X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8583 Content-Type: text/plain; charset="utf-8" From: Andrei Stefanescu Switch from "devm_pinctrl_register" to "devm_pinctrl_register_and_init" and "pinctrl_enable" since this is the recommended way. Reviewed-by: Frank Li Reviewed-by: Linus Walleij Reviewed-by: Bartosz Golaszewski Signed-off-by: Andrei Stefanescu Signed-off-by: Khristine Andreea Barbulescu Tested-by: Enric Balletbo i Serra --- drivers/pinctrl/nxp/pinctrl-s32cc.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/pinctrl/nxp/pinctrl-s32cc.c b/drivers/pinctrl/nxp/pinc= trl-s32cc.c index 1c95e0022020..27757f2c5570 100644 --- a/drivers/pinctrl/nxp/pinctrl-s32cc.c +++ b/drivers/pinctrl/nxp/pinctrl-s32cc.c @@ -974,10 +974,10 @@ int s32_pinctrl_probe(struct platform_device *pdev, return dev_err_probe(&pdev->dev, ret, "Fail to probe dt properties\n"); =20 - ipctl->pctl =3D devm_pinctrl_register(&pdev->dev, s32_pinctrl_desc, - ipctl); - if (IS_ERR(ipctl->pctl)) - return dev_err_probe(&pdev->dev, PTR_ERR(ipctl->pctl), + ret =3D devm_pinctrl_register_and_init(&pdev->dev, s32_pinctrl_desc, + ipctl, &ipctl->pctl); + if (ret) + return dev_err_probe(&pdev->dev, ret, "Could not register s32 pinctrl driver\n"); =20 #ifdef CONFIG_PM_SLEEP @@ -990,7 +990,12 @@ int s32_pinctrl_probe(struct platform_device *pdev, return -ENOMEM; #endif =20 - dev_info(&pdev->dev, "initialized s32 pinctrl driver\n"); + ret =3D pinctrl_enable(ipctl->pctl); + if (ret) + return dev_err_probe(&pdev->dev, ret, + "Failed to enable pinctrl\n"); + + dev_info(&pdev->dev, "Initialized S32 pinctrl driver\n"); =20 return 0; } --=20 2.34.1 From nobody Sun Jun 14 02:38:16 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011019.outbound.protection.outlook.com [40.107.130.19]) (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 39F713DCDB8; Mon, 4 May 2026 13:12:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.19 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900327; cv=fail; b=N0P4U2JfA8V+LLft58CPVTIwy1n4dNthLGo9Gn5I0USIYrucpK/N7gt8VuRgmDLiqida4pWEaRhc1zI9FeIICrGIGGiIpZ+zUWeIykB7vDOIgUBdxvu4h0miWTcTW9D6jL3cEZMPNTAhuCnA28CoNi53GaBZ5z6IqXwaf0OEhiQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900327; c=relaxed/simple; bh=a4AmnFedah2Hn5fv0eKZpoxUoI+xGpviKem+dmTR1Vg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=V8cQHH/fNXbzN2Y6YoUHho/Iv/bll3jymQEqMwFCyl4swcJ14IxedHiWVpV7uunuuPkfMz+R2a4ktud1NIErf3P0Jxl1M6yqMwFoGPWhSm8nqxDcOPoRkCYI8DpGRNk9kT5sn3l24hgweFhKw6uKuO8zEVZiK/1ODGaJUayHLbQ= 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=HdX3owar; arc=fail smtp.client-ip=40.107.130.19 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="HdX3owar" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qRXJ1iUToICSGTOS79WWyej6gsrbKpM3dp5B0v6DUegc9CB8A8q61v+UAOUieWqjAG+nipOIBOQNUk3d7ZaCWVjMP03+OrKDLgHJNeKmY04qqYd08mVZeL9RcdCxqZpoKZsjcA1+kb+ZFuAqUUFElzkxvS/TPRCosyJXtKPLKauz5Bew0xg9x1c7JjdHKKhlWtE/0TiNYYrlz9RE2m5T/mwpkvHa4imW2HeEcsek3XxitBYcHHxJUcNJOZKqVUn+FGOXZhTSuRwCUGh4qsh3WrSGfquyJ/4Dx9U9wEbzqCelthD3KXrKmDGr2CVQLM7nQ8gEAPH3IxnbY0z5WP9YEw== 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=N6FcMx6RYsfyRvKJXW3MmIy7Hcl20XPAjs8W3AFHBa0=; b=VXAxN4vzc3Omg14U5S6nHo1VinH3OF41bK7W2D0aRfJZdkrysFj2+MAKeijOWJf0fTEGB7+0gTZO2besteaZEw0TnOzrEEojmLmt8hS7KvM7/5wQiofsajdpuuAOYm2gLWODz2fqTXZk15SiNU4VZl1udEMjuJH4YAxYD82NI9bRTkDY09/BW2KfyGg9DLgK35ykK1BagDdCkdzWw3Q3/SHtPc+bR7dD9vZcJtlX4GBYdW3slli6yNau46LIJBjbVUOXAbMarcVObBXx0B9B58ctlv5ilSbhkPRHN46QoUMYpT1/DsUV+T+PgecNX7PJjgChL7FWGS1SirtImo89CA== 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=N6FcMx6RYsfyRvKJXW3MmIy7Hcl20XPAjs8W3AFHBa0=; b=HdX3owarJ1+CvgHTOBusX9aEIQbLnLUemuL01y8n6/4npYf/SVo5JjmUJyY/A54WfuWtKIxncVHVMbXFTUZThWrdxZOp4QvcvuM0R1FnHUm50NjsdEyKU/fScs3jz0jVJgRok8OQ/8doO3fA1PYoRF3f3IEbvYbf7EVfGs74/LrHGecJtbzlcy6QLONKjyeZOUvauli7mKdVrKPVrAqAPAhVSkV23f05wQvpKisoOhsqoFH4TUm20yzv8cvcgV81aUWVGt3hB7mFo2rl8EO5rmPwU5hpeBLbrCTaFIdOmhdiYSPLChhdYcBdThWcuN6HgXxJ3zht9en4NL9WsnsYxA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) by DU2PR04MB8583.eurprd04.prod.outlook.com (2603:10a6:10:2da::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Mon, 4 May 2026 13:11:56 +0000 Received: from AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85]) by AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85%6]) with mapi id 15.20.9870.023; Mon, 4 May 2026 13:11:56 +0000 From: Khristine Andreea Barbulescu To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chester Lin , Matthias Brugger , Ghennadi Procopciuc , Larisa Grigore , Lee Jones , Shawn Guo , Sascha Hauer , Fabio Estevam , Dong Aisheng , Jacky Bai , Greg Kroah-Hartman , "Rafael J. Wysocki" , Srinivas Kandagatla Cc: Alberto Ruiz , Christophe Lizzi , devicetree@vger.kernel.org, Enric Balletbo , Eric Chanudet , imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, NXP S32 Linux Team , Pengutronix Kernel Team , Vincent Guittot Subject: [PATCH v9 5/7] dt-bindings: pinctrl: s32g2-siul2: describe GPIO and EIRQ resources Date: Mon, 4 May 2026 15:11:46 +0200 Message-Id: <20260504131148.3622697-6-khristineandreea.barbulescu@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> References: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS4P190CA0001.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5de::7) To AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) Precedence: bulk X-Mailing-List: linux-kernel@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: AM9PR04MB8179:EE_|DU2PR04MB8583:EE_ X-MS-Office365-Filtering-Correlation-Id: 82334b5c-26f4-4cd8-7c2a-08dea9deb7e7 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|1800799024|376014|366016|7416014|921020|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: QNQcOVN2UJ6zG6xOj2CUyTn5oOjvQi+arD01FCTlI4nK6zwIJ8WgngMKMpnbZOCVe+i5TJcF3NWYpzOmBbYd333fQm2awNzn4X0C4A/c3ietO+/owkKSXcBQuxHQgvgt/4VDb5nZHMkkKIRImUQke+5F3j2wpNSJXZjZ3X8RxvGfaQ+fbrQgOYUhnnobEe+FbpNY6B7p/QHjVqZo5dv10uGIS2IF1c/pLnn7bVrlakNLvAuePvpI4nyotZcDiTC4b3UR/hmlj2msOOLPOR+0l12CwESH4wHMSPZczH0PV+s4Hc0q9KsaAPD3A12YAAmGtHHZTKSpxNUU0l3EBDKWddq8X4Y8DUAwN0tM1UgHjSI/nFDXtoXXIkgEVLeYzhQ5XurPVuArb1K0VCLzALJthrGOM1WPgFhU2hdEQ4fVtcRzxf3VrT3xgIU6/ZjBCxRHey8N12xcx93GqHGeqiHxunRU3Hujv2fVL4kqYXUtUkl79y5d3DNe88R6c/M758Nimh3DcIsJkzTA1LK0qJjHJFnmNJFdAHN/aQHbHv/7TeOz3mxKUeBIMErPt1T6/ftWmCJ0X58hG0N2UxFUSncRLCN4+Mr8X0LgceTI+BEwgPh2L7Y+TtCtdzEV6v2OKGruTTV7HkZnVmMQvB05vItbcaLfObs3kF8rdjnki55ub/9F2QAUnrg2PjbR6JbSdMXg X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8179.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(1800799024)(376014)(366016)(7416014)(921020)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VHZaZ1BUQzVMV05kUFQ4NWN1M1RrTzczcnYrNXp6U3BURjhNalM1S3doVDVV?= =?utf-8?B?YThQQ1VIcHMxZVA5UUYrdk1WU1ZVZE1oY21VRFNZRnFEMUV4TjMxYnRnKzFl?= =?utf-8?B?bG5kbjd5cThsMFozVFBNQm43eXMwdFhNRHhQK0EydXVDSHYxTnBJVU5QNTEw?= =?utf-8?B?NFkvMWZ4L2haOStMa09XMEQ2bEtieE85ZG9waCtDaEQ5M25PNUsrWkdsMUgz?= =?utf-8?B?cDFJanJmNzU4N0x5bVNWdXVDMDA1VkRacFNLaEQ4YmVnTFUzcm9GdWlLMEZV?= =?utf-8?B?dytyUktpeWlIYmJ3eWNuTlZFeWJsVjJPSlo5SVJRK3RlN2NEdENmKzBxeXYy?= =?utf-8?B?TWN4bXN2L0luNVprM05IZmtuWVZnQXh1VWgxL3B3QnUvTXBKdlJlZWwrQXhl?= =?utf-8?B?RytQWDhmR1ZDSzg2SkZDSHEzRGxSMGI1ODNzT1hlOXRSeDJUdjIwdXlka0NM?= =?utf-8?B?Q1FXbWhSbkxMRUtBeC9hYzd1ZUxnMENkSW1nTDNrYjhPOGQyNThoYlJkR0E5?= =?utf-8?B?S3JCU21hSnUyL2FhUGI4b0ZCQ1NQb3BTVVh0Q3UwYVpON3JDV0NyWDZIVVhh?= =?utf-8?B?RGVTQ2NReDhGWDR0M3I5UXpRTmVyZFdCR0dlaUZZUXM2eGErUHB5dXJiRlI2?= =?utf-8?B?MnZGRFZsQXJRRDVqRVJkZHlkcERkRGFGRi93Q1RGblZ4amkxQ2NaeGZXVkR5?= =?utf-8?B?c3FhNFd4NllDZVpoVGVlY04vUDhCUi83N1phejBXeGYyUHpoYTdXK3Nha1l1?= =?utf-8?B?blZnVFkybUhHU0poNEVoeDhHMGJwZ1paRVFUc0xLOGxPQkRhTlF2SlZpOHUz?= =?utf-8?B?aU5kNnZZL3BFQnI5aDhwUG1Hc3NCTzYvUysvdCtXYU1ia2ZCWDA4aUJOa3BN?= =?utf-8?B?Q29RaXlta2pqa1RNcXRaNzRObnRVZ0lYSGRKUFVVSHVjbHZWS0x0VFFWQ1F4?= =?utf-8?B?SmRVNE8xTlR1cWNuTlkyblJyR3AvbytqWHUyT3BQMHlZTHMyZUJzdDlGUEpI?= =?utf-8?B?MHRKWFNOeDBjTTl0d1J2LzJSeTg2bGJqcmI4RW9HUy9PYW5mcktSUmJIN1oy?= =?utf-8?B?c0hqK3N3TVJFdERReldXblJhSjBsalBLdWlNM1lHWEk5QWhJY1FnQzF0L1dB?= =?utf-8?B?WWFFaTc3SVRnYk9qb3JwbDFzS1QrQWduNTE3Z3RrWEgxdk51SFg5b0VOM3dT?= =?utf-8?B?NXFhbW41bFZvaXIrSmhqdVJzS0FOUkZjNlhnUk9RdWtNTnA5TEw2RUgvbXlU?= =?utf-8?B?clVvMGtjVVRpTDBzbldUT1IxYkNmeitCZ3orVXpoZTNFNGo2d1p1RWR6K2w4?= =?utf-8?B?WjFlcyttTWR0UlptcytCQ0l4UXlwdmR0QjdXbzkzbkxQam1ueE1uZk10UGp6?= =?utf-8?B?V2Z3aHRUYnBXWjVwdTBUbDE5WHQ5ZFNybENEeXFRWU1ObGRjSU5Lc2l5RjRI?= =?utf-8?B?Wm9Ua09YbzdvN0xPYVRmTjRheDZZcDBBa0hJL1hvaGM0aUNIMmlzS2QrSVIz?= =?utf-8?B?aFk4eGEzc1FWcFhEeWYvaXNITTRmOHJNTTJsNmtZUWRaUnJEMiswbTYzYVF4?= =?utf-8?B?bjVFTVJwRW5qTENwZmhCc0tJQUhwWlVBZzJtbzg2cFo0OTRRUTlkZFhibnl5?= =?utf-8?B?dzBxaWNBQ0E4cFRrblM3MU5ROTNQWTRydGEvM1prSWpmRnpobWdRUTRLekVW?= =?utf-8?B?TzV5aFBnV2xIV0VNeXdWLzNOVFkzbGdOWU9HbHc3NFczV1dLZVBlYUZpQzBS?= =?utf-8?B?SFFNeXNCamtsQTlSc1dGL3NBVnN5azRJd29uYThoMU1vR09Ta2ZURVZyU1ho?= =?utf-8?B?Qi92ZnltSXErbW9hbktIb0ZUT1NJUHdHaFQzZ0pvYXArWGdXbk1CS1cxeGpW?= =?utf-8?B?ak8rS3RDcmdLUVU1M3FhaFRwNCtRbVJIeGR6Qk93Z0cwWDBRMjkwNTk2ck9H?= =?utf-8?B?WG1Sdm9ZWUpTK1hyQ3NRckxtSkdzREk5ZVlQUzBMelI4N2krL0sreHRadTRK?= =?utf-8?B?WnoxaVdTbmg2U2FNS3AzRWRFQW8rRk1rZlNYRzloTmkrclRCSmFocnR1dEsr?= =?utf-8?B?aUxIN21wVjNsYmpodmlEdG9hYkNsaVNhV0gvcUV6SmdSMGFQMndoUWtqR3Az?= =?utf-8?B?Q3lmbHpkVDl1dGtQM0JCZU1BTGxTOTd1UEN3N2EzdTk0Z0NsSGFkazJVV2Q0?= =?utf-8?B?QjQ3Mk9LRG00d2dVUUluQkJhTTc5OWpCaFluTDlvVSsvOW5IazFNMllUdldZ?= =?utf-8?B?OGNac2VUdmlPNmN5anJiSi9rZHNzcFZ1dHQ4cjB1QmkyQktlTmpwaHRNRTA2?= =?utf-8?B?SGJOZ3BDdlJHRFBPRVBvNkZpTFhqL1AxRmlveWVaaWU3WGswZ2xaNDUwTXJQ?= =?utf-8?Q?IGswcNATMKPBSeYHwWegTIexaUsnSSFq0zhP3?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 82334b5c-26f4-4cd8-7c2a-08dea9deb7e7 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8179.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2026 13:11:56.7997 (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: 7ywr4UwLqgpTx5CijUHEBoUWoneUjSgMAbroOKMhWEGV/6uQt3D3matlhtSJoD5ynmLBUkcFZVbxiHesFWOPvavOKnBv/toBWgw42OuE7X0M66HfR4k9GqNTlUSFg3T2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8583 Content-Type: text/plain; charset="utf-8" Extend the S32G2 SIUL2 pinctrl binding to describe the additional resources used by the updated SIUL2 pinctrl driver. Besides the MSCR and IMCR register ranges used for pinmux and pin configuration, the SIUL2 block also contains PGPDO and PGPDI registers for GPIO output and input operations, as well as EIRQ registers used for external interrupt configuration. Add GPIO controller properties: - gpio-controller - #gpio-cells - gpio-ranges Add interrupt controller properties: - interrupt-controller - #interrupt-cells - interrupts Also update the binding example to show the complete SIUL2 register layout, including the GPIO data and EIRQ register windows. Signed-off-by: Khristine Andreea Barbulescu Tested-by: Enric Balletbo i Serra --- .../pinctrl/nxp,s32g2-siul2-pinctrl.yaml | 107 ++++++++++++++++-- 1 file changed, 98 insertions(+), 9 deletions(-) diff --git a/Documentation/devicetree/bindings/pinctrl/nxp,s32g2-siul2-pinc= trl.yaml b/Documentation/devicetree/bindings/pinctrl/nxp,s32g2-siul2-pinctr= l.yaml index a24286e4def6..0bd341f1e84d 100644 --- a/Documentation/devicetree/bindings/pinctrl/nxp,s32g2-siul2-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/nxp,s32g2-siul2-pinctrl.yaml @@ -1,5 +1,5 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -# Copyright 2022 NXP +# Copyright 2022, 2026 NXP %YAML 1.2 --- $id: http://devicetree.org/schemas/pinctrl/nxp,s32g2-siul2-pinctrl.yaml# @@ -17,26 +17,39 @@ description: | SIUL2_0 @ 0x4009c000 SIUL2_1 @ 0x44010000 =20 - Every SIUL2 region has multiple register types, and here only MSCR and - IMCR registers need to be revealed for kernel to configure pinmux. + Every SIUL2 region has multiple register types. MSCR and IMCR registers + need to be revealed for kernel to configure pinmux. PGPDO and PGPDI + registers are used for GPIO output/input operations. EIRQ registers + are used for external interrupt configuration. =20 Please note that some register indexes are reserved in S32G2, such as MSCR102-MSCR111, MSCR123-MSCR143, IMCR84-IMCR118 and IMCR398-IMCR429. =20 properties: compatible: - enum: - - nxp,s32g2-siul2-pinctrl + oneOf: + - const: nxp,s32g2-siul2-pinctrl + - items: + - const: nxp,s32g2-siul2-pinctrl-gpio + - const: nxp,s32g2-siul2-pinctrl =20 reg: description: | - A list of MSCR/IMCR register regions to be reserved. + A list of MSCR/IMCR/PGPDO/PGPDI/EIRQ register regions to be reserved. - MSCR (Multiplexed Signal Configuration Register) An MSCR register can configure the associated pin as either a GPIO= pin or a function output pin depends on the selected signal source. - IMCR (Input Multiplexed Signal Configuration Register) An IMCR register can configure the associated pin as function input pin depends on the selected signal source. + - PGPDO (Parallel GPIO Pad Data Out Register) + A PGPDO register is used to set the output value of a GPIO pin. + - PGPDI (Parallel GPIO Pad Data In Register) + A PGPDI register is used to read the input value of a GPIO pin. + - EIRQ (External Interrupt Request) + EIRQ registers are used to configure and manage external interrupt= s. + + minItems: 6 items: - description: MSCR registers group 0 in SIUL2_0 - description: MSCR registers group 1 in SIUL2_1 @@ -44,6 +57,28 @@ properties: - description: IMCR registers group 0 in SIUL2_0 - description: IMCR registers group 1 in SIUL2_1 - description: IMCR registers group 2 in SIUL2_1 + - description: PGPDO registers in SIUL2_0 + - description: PGPDI registers in SIUL2_0 + - description: PGPDO registers in SIUL2_1 + - description: PGPDI registers in SIUL2_1 + - description: EIRQ registers in SIUL2_1 + + gpio-controller: true + + "#gpio-cells": + const: 2 + + gpio-ranges: + minItems: 1 + maxItems: 4 + + interrupt-controller: true + + "#interrupt-cells": + const: 2 + + interrupts: + maxItems: 1 =20 patternProperties: '-pins$': @@ -82,6 +117,38 @@ patternProperties: =20 additionalProperties: false =20 +allOf: + - if: + properties: + compatible: + contains: + const: nxp,s32g2-siul2-pinctrl-gpio + then: + properties: + reg: + minItems: 11 + maxItems: 11 + + required: + - gpio-controller + - "#gpio-cells" + - gpio-ranges + - interrupt-controller + - "#interrupt-cells" + - interrupts + + else: + properties: + reg: + minItems: 6 + maxItems: 6 + gpio-controller: false + "#gpio-cells": false + gpio-ranges: false + interrupt-controller: false + "#interrupt-cells": false + interrupts: false + required: - compatible - reg @@ -90,8 +157,11 @@ additionalProperties: false =20 examples: - | - pinctrl@4009c240 { - compatible =3D "nxp,s32g2-siul2-pinctrl"; + #include + + pinctrl: pinctrl@4009c240 { + compatible =3D "nxp,s32g2-siul2-pinctrl-gpio", + "nxp,s32g2-siul2-pinctrl"; =20 /* MSCR0-MSCR101 registers on siul2_0 */ reg =3D <0x4009c240 0x198>, @@ -104,7 +174,26 @@ examples: /* IMCR119-IMCR397 registers on siul2_1 */ <0x44010c1c 0x45c>, /* IMCR430-IMCR495 registers on siul2_1 */ - <0x440110f8 0x108>; + <0x440110f8 0x108>, + /* PGPDO registers on siul2_0 */ + <0x4009d700 0x10>, + /* PGPDI registers on siul2_0 */ + <0x4009d740 0x10>, + /* PGPDO registers on siul2_1 */ + <0x44011700 0x18>, + /* PGPDI registers on siul2_1 */ + <0x44011740 0x18>, + /* EIRQ registers on siul2_1 */ + <0x44010010 0x34>; + + gpio-controller; + #gpio-cells =3D <2>; + gpio-ranges =3D <&pinctrl 0 0 102>, + <&pinctrl 102 112 79>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; =20 llce-can0-pins { llce-can0-grp0 { --=20 2.34.1 From nobody Sun Jun 14 02:38:16 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011067.outbound.protection.outlook.com [40.107.130.67]) (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 F06A63DC4B1; Mon, 4 May 2026 13:12:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900326; cv=fail; b=USRk/oj8AzR7C2CmMvYlCVK1EztFUj/stAiNc3OAkmmwmFf/KScpofRZzsHe3vQxJbGWHoXZy2285UdIRTxuuGNhvigwFcbwttW+92G4Q6kFXSXkXo+mSMN1Kbhf4+OkJZyYffK26wVtFgXU91EXOuE50lNDBeC/KaUNnAgeHXQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900326; c=relaxed/simple; bh=3rkYqmFQ6QA1oLJi243XBqbXczbDD+5ZnlQtpemSYSo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=syYrgVv9HQap6waxrj3kXvOoOqxm5PHEK95Z6pUHnnw4RKiOPU7QUwA/UmFws3GK93YRbi7J58E6yCltI3T1Fk541lUKwf2+CVtroPPWYKxYLW5onv3HmJp0MVmwgObULKRB1ksca9JwO5o+WXCy1lxZG+plAaEx+rxGuuYVa1Q= 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=fPs6FQ+p; arc=fail smtp.client-ip=40.107.130.67 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="fPs6FQ+p" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D5oRL6dkP6l8/NC8xLCWZ/fweL//FF/g7PBDMAP+meXpQWw5VjVmbgYLjdMqkvIZ+ZmK+0FEwURw9RAk289HGcVylsAZ1cRf58Ky13qCwgWmCxr6KDYZcQIpFgWTbDebWcFNT+swu8WQvCOY2g8sTJYBxwr13/mkUibEbCX6M+7DkE2x3GGFxFm7Sj9pS4gM0SotIplbXZFS9VH2bTYCSPuJmoJMYAzzhQLGB+ny+9D07K3Bb3QY1iKTBf+ij0vGmWbmNqyh9D4q2DJdA1Mwfwpy4S7t0sYxnpCIpj4LLQ9s61SzRb8wmBhkggLr1TVOcPu6eEssmNOd+6GE55JDYg== 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=SdScLg/xrw6JBfCnuc5/hH96J/xJ+ItfN12UxVr0hys=; b=L+cgdRBaTJowJphSw7gKnxqQPz6LFufumXxTHpeCj2XhzgLqVmGjNFq43QiO8AyORGGdCfiHpmtozta00hWaVEGeKQNVtgYw15VqQaQWlX3czn2kLOc81E7elB0U8Kni1uZ/IsTbQBCbB9MyTfJZaMR0/jx3tlh5C796AsKqeF+cwT4yA/GYnKg9j8JgoeeXXMnovtTE26gbJXQMzDrxZOd2rIQdADYU0yuhQzlnu3loU5aMyDfoTXmug2we5KSLn0pY4EMKXOASrgRfF2XDvt2bZ3h6YKsLXpJu5pxcl6yMH0lnjJNUqTETfXxX9QC/7q9h4XxXIsAy2Eu6/7tOJQ== 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=SdScLg/xrw6JBfCnuc5/hH96J/xJ+ItfN12UxVr0hys=; b=fPs6FQ+p+83PeML1PHQk7ph2ziR6gNtY8yopY/dUbTw29cFLkSIDK79P3nO+InXML2ch8mJjfLPbVWjcpja7vtlyvOQVGhuIzSACcE4krzCS/JJInEN+uDxJCx+jGkGx8u/HNqITAHiuWp7lnErVyRcob32sE7U1wgTep2+a6LCovM5WfzeTtUFYyXlankdmkO88bqu84jtuzIOF/BFxK/rNdXljlQx4DzuOGEF69uy1/SL+Z7HRBJ/+ks8NCkW3IF3lazfD3RShMF12TFBg1fM9j7Ngt8Z+j8/B8qlcKMPhJx91EB2ffZodkw4fqZDctij4rYyT3iRZOOUzV5a7Ig== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) by PA2PR04MB10160.eurprd04.prod.outlook.com (2603:10a6:102:407::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 13:11:58 +0000 Received: from AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85]) by AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85%6]) with mapi id 15.20.9870.023; Mon, 4 May 2026 13:11:58 +0000 From: Khristine Andreea Barbulescu To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chester Lin , Matthias Brugger , Ghennadi Procopciuc , Larisa Grigore , Lee Jones , Shawn Guo , Sascha Hauer , Fabio Estevam , Dong Aisheng , Jacky Bai , Greg Kroah-Hartman , "Rafael J. Wysocki" , Srinivas Kandagatla Cc: Alberto Ruiz , Christophe Lizzi , devicetree@vger.kernel.org, Enric Balletbo , Eric Chanudet , imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, NXP S32 Linux Team , Pengutronix Kernel Team , Vincent Guittot Subject: [PATCH v9 6/7] pinctrl: s32cc: implement GPIO functionality Date: Mon, 4 May 2026 15:11:47 +0200 Message-Id: <20260504131148.3622697-7-khristineandreea.barbulescu@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> References: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS4P190CA0009.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5de::16) To AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) Precedence: bulk X-Mailing-List: linux-kernel@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: AM9PR04MB8179:EE_|PA2PR04MB10160:EE_ X-MS-Office365-Filtering-Correlation-Id: 0f92c9d4-4f72-4e9a-de5d-08dea9deb8b7 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|19092799006|1800799024|921020|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: sAgpTnLpCJ5qsHTA7QxKvqoI6zen5hjGr6WewLsGv42VkUELfvVR5R/ludD4F3ABvYymOOjD2F29dG/tNDQGLsTE1Tjt6E77CdO01VnqMbU2MpChgb0+0fj1HOxfHKWVHZOHjNEO42eONo3VIkpx7PNbGWL6XR2HZu2bmisb2yXa8Av01p7emZXEyflL5vFntAgzkU9VFZTNXxmxwrkIxUiCNQsORUbBCRNS/zb/RvYYtlO2aORVVYH14dbxBLVnQsTsdBdtCF2VUXh3wLZGwt8YL5DOn1pgLQlvPzreYu5CulbF15N+hW20yLRKcX6Cw/3VA/7IvGJmeNSibWQKbZsZvvHbeSvGPWMRxRdhV+IKC1DV+/e+Fg7DpygPuS1+L7/44WlosOzK+eFncKNkjDQgUr7DOqYldwza2rk/BpIFLtP8g3Xr8nFQU5Uw3L3/ypAMUKjYbk1WhsoH8Mltm5/tgDjSMsTCUlGCcxLxybaeqAHgfcFOt6dzShIrP3ElB8YK1gtQ/MR3mseyokyIqUaiMQg9bnFrxPFKHFrqqPHkvCSpJ90XXQrLwiIZwRCGcoBmcjs1VsZuda9n3X7exYy3LlgXd7zyf162Lp8aDLjDsPBDKbJjt2Z3HijBH8SXj6xZtNMcZN4v6efoP8JkMjjgL6Sf69zvJ4kQ0acapDH270KtaQNWqcxm8pkwOddH X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8179.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(19092799006)(1800799024)(921020)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cnN6YnVrd2pIc2E4a1lOenJmQVI5WDZTWUViY3hSVUd6OW9GTVZnL25OeVhk?= =?utf-8?B?VkVKQVBoLzZyRTBzVWFSamc4YXQzTWU4QU9mblNwZ1RTUmUwb2QrNUhraWJh?= =?utf-8?B?TDhQQUFYWU5FZnY4SHcxbndiV2pMOUhYUGFFRzZlQi9JbS9jVnFwUDZoQ3d1?= =?utf-8?B?eERFV1hKOGFRNmEvdE0xZ1BlTGFIUWU3clZmYTN3bUdNQmFuVnFFZXFmYTJJ?= =?utf-8?B?aldWdExXWDZORVVVUGdKZDFma2oySDYrYi9lQnp2M2ZZazFhK3BtTlpsalJV?= =?utf-8?B?ZlpNRzJXem5HNG02YmZvaFlodE84ZFBTeU1vZ3NyS2VmTmtzNUM3eGcrdndP?= =?utf-8?B?a2NXWGduSEYwOTdKOTJCRkxDekpNd3RuNGZodll0SXpTRHliUnJCenlCbGdH?= =?utf-8?B?bm5xcUlxaGZtdlhQZnpUNElNVlh2N0ZCZ09mNWY2RG9LRVRldVR1bi9Tb05E?= =?utf-8?B?a2YwM3ZNaEJUNEQwcEhNZ3ptYXd5YU82OFViM3NEeHZuN1dBeFhnYk1lZzd0?= =?utf-8?B?N25ZZWF3SGZCVzB1TUtES2ZWSno4OG1TTVVQU1hISmNnOTJGNVBIRXlscXpj?= =?utf-8?B?WGJMWEI2RktCVDdlQ0h5UE83b0M0QlQyQ1ZVYVlTcG85TFpCUDFRTWtlalpP?= =?utf-8?B?cWl5dlcwa2pkTHFNV05TYzlra20vNmpqQzNocmhNSFBaWm40dUhCeXArWTQ2?= =?utf-8?B?OGdPZHRoeVVVMEw4eENVT3ozNGh0TmE5Um01cXE1NjJrTkR1czI5SFVTUDVh?= =?utf-8?B?V2Fyb05BZ1lSNFdnamVWNWx5VHhtOWhqZDZWNU41a3d4MUVoeVJlbXZXazlI?= =?utf-8?B?VktmaFliNTVVczdyTlJRUGFOdG04YTR5bm0wc3c5MTVSMEx2cVFYV1dLcEVz?= =?utf-8?B?QzBBTDRGek56UDEyaGRnZ1BMQjJxa2tZYmNKM3R2RWR5ZFdsckdleTJoMkhl?= =?utf-8?B?OUlzZWora2hMdm1IY0Z3ZGtWekZZb01heDVIWE1aTHBXcDRFSzRQKzRxWmVt?= =?utf-8?B?Z0VsU2lka2wzNG9QZllSWXJuYWt2cFU0VWlWU0h4VHJpTTBTTUlBVU1jczdW?= =?utf-8?B?cko4TDFZekxzNWl0OTBLM0JzYlRaSzl0MHdreVNUMDd6blpWSldJUDRWSHBm?= =?utf-8?B?NzRkQ1o0THEyNXpOVE82RmlkVkhjbDMwb3ZXSmIyb2FNZlB6QlhsRUpaMWcz?= =?utf-8?B?Nm1Fa3UyOEw1S2tNa0NkT3RWbUUyYTBzWW9CNGNGNXIzdGxPWGZUNmJrYzl6?= =?utf-8?B?NFAyZGdXUlErSEhjdkQvWXhVQlJ4Tmt3dFpzWWQ5ZDNTc0FMRmlXdWNjbXZG?= =?utf-8?B?N09FRy9heW9vRUE4OXlkamlVajVoR2t6UjJKUEtxenZpVU45czNpVUhMT2Y2?= =?utf-8?B?SHVIVld6aG9JeHRqL1dIMDJoaWY2WGFLZ2pLNFFGYlRWRTJnbXVrWXF1TVhP?= =?utf-8?B?dmhIcGszay9iQ0l1ZkpibzBldk90RGxpZk5LWFloYnduV0xrVitGRGViTEZF?= =?utf-8?B?ZkJITUxOZTRqOEcwSFhaTnZZRU16dndyMVVKenhCNGRla004Zjd1V2ZLOVRm?= =?utf-8?B?K1FBVTJXMHhkNGJvRVNzKzM1Wmh0SU44R1VGZ0RkOUpUa0p4dGlrVjg2bEVD?= =?utf-8?B?aGNXd3R6RUlic1NLZllKbVgwSlZJZkxNbVlFaGxvelF4eGNpMitwcEpiZjFk?= =?utf-8?B?ZFB5L1NWZXFGL0xmeDZBS05MaW9sT3lLelJOU3JkUExyaUxralRUWUZOR3FF?= =?utf-8?B?aDJydzNaSmJESFY0VmVoWnNUMmwyTW9HZ0s0eXMzRVJmMzFyU0p2WDJLd0Jn?= =?utf-8?B?aEFDb282RWNER3hwSkNEUk5NTFhYZnY3dkFjbWtzS3pJRVM0S2dmVVRRZmt4?= =?utf-8?B?T3BPdlNaV3VTMk55YkNlZ09rcm1Cc09qYnZWRFpqejl4OGlCelNuMWNDNEpv?= =?utf-8?B?VTZRUTIwK1lDWDFodVY2cWRvMFRBUW1URW8veURZc25xTlFQOGhMcjIxRDZL?= =?utf-8?B?QVd1Vys0cU5wYmh0YmZ2YnpaR3dmM2dyVTQyYkM1d2Fsc0N1MVlsOVdpYndG?= =?utf-8?B?UzZ5a3V1Q0NHR1oxVzNGemw1aTFkSFAwaXZPU3ZWQmxFa1c0WThsY0lWY1JV?= =?utf-8?B?Slo3ZVBMRWhoVEpqSXFJSzBPRExsV2R2Q2FwNWJKS0R1R3AvQUlqWDlGL2Fq?= =?utf-8?B?YTFwOGxDa25QamY0Ulg2UmhmOUpVUkgrZ1hRbGNqY0dVT1JBb0tJL1hrS1ZF?= =?utf-8?B?N2JVUTdPdmZUbSt5Q2ZlaHBGK0FIc2FpKzdWVzlMVWZ5bUlRN016SWhuOXQ3?= =?utf-8?B?MDhsSi9YK3Z6dGlnekJIazQ5SGVXMEk3NCtTZDYvY0VOSGNxS1gwd2JmdzNq?= =?utf-8?Q?8AxOQwnoeH06UBuMxkEwGVS4Q+G9qdPtwXtLi?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f92c9d4-4f72-4e9a-de5d-08dea9deb8b7 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8179.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2026 13:11:58.1238 (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: g+o4TF6lWK5yK13VJTrBUrWTPLByigAuWiboo2piCnFLR/vZIx+oihsbWUbZDxVvgpBmnTqfEqSq/5oxRUmZi1y41nUlNNip4BuiQweVFsXY/Y7X2pqITk6zswcq+ty0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2PR04MB10160 From: Andrei Stefanescu Add basic GPIO functionality (request, free, get, set) for the existing pinctrl SIUL2 driver since the hardware for pinctrl&GPIO is tightly coupled. The updated SIUL2 block groups pinctrl, GPIO data access and interrupt control within the same hardware unit. The SIUL2 driver is therefore structured as a monolithic pinctrl/GPIO driver. This change came as a result of upstream review in the following series: https://lore.kernel.org/linux-gpio/20260120115923.3463866-4-khristineandree= a.barbulescu@oss.nxp.com/T/#m543c9edbdde74bdc68b6a2364e8b975356c33043 Support both SIUL2 DT layouts: - legacy pinctrl-only binding - extended pinctrl/GPIO/irqchip binding Also, remove pinmux_ops which are no longer needed. Signed-off-by: Andrei Stefanescu Signed-off-by: Khristine Andreea Barbulescu Tested-by: Enric Balletbo i Serra --- drivers/pinctrl/nxp/pinctrl-s32.h | 15 +- drivers/pinctrl/nxp/pinctrl-s32cc.c | 527 ++++++++++++++++++++++++---- drivers/pinctrl/nxp/pinctrl-s32g2.c | 25 +- 3 files changed, 499 insertions(+), 68 deletions(-) diff --git a/drivers/pinctrl/nxp/pinctrl-s32.h b/drivers/pinctrl/nxp/pinctr= l-s32.h index 8715befd5f05..d33f4d631dd6 100644 --- a/drivers/pinctrl/nxp/pinctrl-s32.h +++ b/drivers/pinctrl/nxp/pinctrl-s32.h @@ -2,7 +2,7 @@ * * S32 pinmux core definitions * - * Copyright 2016-2020, 2022 NXP + * Copyright 2016-2020, 2022, 2026 NXP * Copyright (C) 2022 SUSE LLC * Copyright 2015-2016 Freescale Semiconductor, Inc. * Copyright (C) 2012 Linaro Ltd. @@ -34,11 +34,23 @@ struct s32_pin_range { unsigned int end; }; =20 +/** + * struct s32_gpio_range - contiguous GPIO pin range within a SIUL2 module + * @gpio_base: first pinctrl pin number in the GPIO range + * @gpio_num: number of consecutive GPIO pins in the range + */ +struct s32_gpio_range { + unsigned int gpio_base; + unsigned int gpio_num; +}; + struct s32_pinctrl_soc_data { const struct pinctrl_pin_desc *pins; unsigned int npins; const struct s32_pin_range *mem_pin_ranges; unsigned int mem_regions; + const struct s32_gpio_range *gpio_ranges; + unsigned int num_gpio_ranges; }; =20 struct s32_pinctrl_soc_info { @@ -53,6 +65,7 @@ struct s32_pinctrl_soc_info { =20 #define S32_PINCTRL_PIN(pin) PINCTRL_PIN(pin, #pin) #define S32_PIN_RANGE(_start, _end) { .start =3D _start, .end =3D _end } +#define S32_GPIO_RANGE(_base, _num) { .gpio_base =3D _base, .gpio_num =3D = _num } =20 int s32_pinctrl_probe(struct platform_device *pdev, const struct s32_pinctrl_soc_data *soc_data); diff --git a/drivers/pinctrl/nxp/pinctrl-s32cc.c b/drivers/pinctrl/nxp/pinc= trl-s32cc.c index 27757f2c5570..2d9b14792cf4 100644 --- a/drivers/pinctrl/nxp/pinctrl-s32cc.c +++ b/drivers/pinctrl/nxp/pinctrl-s32cc.c @@ -2,7 +2,7 @@ /* * Core driver for the S32 CC (Common Chassis) pin controller * - * Copyright 2017-2022,2024-2025 NXP + * Copyright 2017-2022,2024-2026 NXP * Copyright (C) 2022 SUSE LLC * Copyright 2015-2016 Freescale Semiconductor, Inc. */ @@ -39,6 +39,14 @@ #define S32_MSCR_ODE BIT(20) #define S32_MSCR_OBE BIT(21) =20 +/* PGPDOs are 16bit registers that come in big endian + * order if they are grouped in pairs of two. + * + * For example, the order is PGPDO1, PGPDO0, PGPDO3, PGPDO2... + */ +#define S32_PGPD(N) (((N) ^ 1) * 2) +#define S32_PGPD_SIZE 16 + enum s32_write_type { S32_PINCONF_UPDATE_ONLY, S32_PINCONF_OVERWRITE, @@ -72,6 +80,18 @@ struct s32_pinctrl_mem_region { char name[8]; }; =20 +/** + * struct s32_gpio_regmaps - GPIO register maps for a SIUL2 instance + * @pgpdo: regmap for Parallel GPIO Pad Data Out registers + * @pgpdi: regmap for Parallel GPIO Pad Data In registers + * @range: GPIO range info + */ +struct s32_gpio_regmaps { + struct regmap *pgpdo; + struct regmap *pgpdi; + const struct s32_gpio_range *range; +}; + /** * struct gpio_pin_config - holds pin configuration for GPIO's * @pin_id: Pin ID for this GPIO @@ -96,8 +116,11 @@ struct s32_pinctrl_context { * struct s32_pinctrl - private driver data * @dev: a pointer back to containing device * @pctl: a pointer to the pinctrl device structure + * @gc: a pointer to the gpio_chip * @regions: reserved memory regions with start/end pin * @info: structure containing information about the pin + * @gpio_regmaps: PGPDO/PGPDI regmaps for each SIUL2 module + * @num_gpio_regmaps: number of GPIO regmap entries * @gpio_configs: saved configurations for GPIO pins * @gpio_configs_lock: lock for the `gpio_configs` list * @saved_context: configuration saved over system sleep @@ -105,8 +128,11 @@ struct s32_pinctrl_context { struct s32_pinctrl { struct device *dev; struct pinctrl_dev *pctl; + struct gpio_chip gc; struct s32_pinctrl_mem_region *regions; struct s32_pinctrl_soc_info *info; + struct s32_gpio_regmaps *gpio_regmaps; + unsigned int num_gpio_regmaps; struct list_head gpio_configs; spinlock_t gpio_configs_lock; #ifdef CONFIG_PM_SLEEP @@ -379,67 +405,6 @@ static int s32_pmx_get_groups(struct pinctrl_dev *pctl= dev, return 0; } =20 -static int s32_pmx_gpio_request_enable(struct pinctrl_dev *pctldev, - struct pinctrl_gpio_range *range, - unsigned int offset) -{ - struct s32_pinctrl *ipctl =3D pinctrl_dev_get_drvdata(pctldev); - struct gpio_pin_config *gpio_pin; - unsigned int config; - unsigned long flags; - int ret; - - ret =3D s32_regmap_read(pctldev, offset, &config); - if (ret) - return ret; - - /* Save current configuration */ - gpio_pin =3D kmalloc_obj(*gpio_pin); - if (!gpio_pin) - return -ENOMEM; - - gpio_pin->pin_id =3D offset; - gpio_pin->config =3D config; - INIT_LIST_HEAD(&gpio_pin->list); - - spin_lock_irqsave(&ipctl->gpio_configs_lock, flags); - list_add(&gpio_pin->list, &ipctl->gpio_configs); - spin_unlock_irqrestore(&ipctl->gpio_configs_lock, flags); - - /* GPIO pin means SSS =3D 0 */ - config &=3D ~S32_MSCR_SSS_MASK; - - return s32_regmap_write(pctldev, offset, config); -} - -static void s32_pmx_gpio_disable_free(struct pinctrl_dev *pctldev, - struct pinctrl_gpio_range *range, - unsigned int offset) -{ - struct s32_pinctrl *ipctl =3D pinctrl_dev_get_drvdata(pctldev); - struct gpio_pin_config *gpio_pin, *tmp; - unsigned long flags; - int ret; - - spin_lock_irqsave(&ipctl->gpio_configs_lock, flags); - - list_for_each_entry_safe(gpio_pin, tmp, &ipctl->gpio_configs, list) { - if (gpio_pin->pin_id =3D=3D offset) { - ret =3D s32_regmap_write(pctldev, gpio_pin->pin_id, - gpio_pin->config); - if (ret !=3D 0) - goto unlock; - - list_del(&gpio_pin->list); - kfree(gpio_pin); - break; - } - } - -unlock: - spin_unlock_irqrestore(&ipctl->gpio_configs_lock, flags); -} - static int s32_pmx_gpio_set_direction(struct pinctrl_dev *pctldev, struct pinctrl_gpio_range *range, unsigned int offset, @@ -463,8 +428,6 @@ static const struct pinmux_ops s32_pmx_ops =3D { .get_function_name =3D s32_pmx_get_func_name, .get_function_groups =3D s32_pmx_get_groups, .set_mux =3D s32_pmx_set, - .gpio_request_enable =3D s32_pmx_gpio_request_enable, - .gpio_disable_free =3D s32_pmx_gpio_disable_free, .gpio_set_direction =3D s32_pmx_gpio_set_direction, }; =20 @@ -683,6 +646,397 @@ static const struct pinconf_ops s32_pinconf_ops =3D { .pin_config_group_dbg_show =3D s32_pinconf_group_dbg_show, }; =20 +static struct s32_pinctrl *to_s32_pinctrl(struct gpio_chip *chip) +{ + return container_of(chip, struct s32_pinctrl, gc); +} + +static struct regmap *s32_gpio_get_pgpd_regmap(struct gpio_chip *chip, + unsigned int gpio, + bool output, + unsigned int *relative_pin) +{ + struct s32_pinctrl *ipctl =3D to_s32_pinctrl(chip); + const struct s32_gpio_range *range; + int i; + + for (i =3D 0; i < ipctl->num_gpio_regmaps; i++) { + range =3D ipctl->gpio_regmaps[i].range; + if (gpio >=3D range->gpio_base && + gpio < range->gpio_base + range->gpio_num) { + if (relative_pin) + *relative_pin =3D gpio - range->gpio_base; + return output ? ipctl->gpio_regmaps[i].pgpdo : + ipctl->gpio_regmaps[i].pgpdi; + } + } + + return NULL; +} + +static int s32_gpio_request(struct gpio_chip *gc, unsigned int gpio) +{ + struct s32_pinctrl *ipctl =3D to_s32_pinctrl(gc); + struct pinctrl_dev *pctldev =3D ipctl->pctl; + struct gpio_pin_config *gpio_pin; + unsigned int config; + int ret; + + ret =3D s32_regmap_read(pctldev, gpio, &config); + if (ret) + return ret; + + /* Save current configuration */ + gpio_pin =3D kmalloc(sizeof(*gpio_pin), GFP_KERNEL); + if (!gpio_pin) + return -ENOMEM; + + gpio_pin->pin_id =3D gpio; + gpio_pin->config =3D config; + INIT_LIST_HEAD(&gpio_pin->list); + + /* GPIO pin means SSS =3D 0 */ + config &=3D ~S32_MSCR_SSS_MASK; + + ret =3D s32_regmap_write(pctldev, gpio, config); + if (ret) { + kfree(gpio_pin); + return ret; + } + + scoped_guard(spinlock_irqsave, &ipctl->gpio_configs_lock) + list_add(&gpio_pin->list, &ipctl->gpio_configs); + + return 0; +} + +static void s32_gpio_free(struct gpio_chip *gc, unsigned int gpio) +{ + struct s32_pinctrl *ipctl =3D to_s32_pinctrl(gc); + struct pinctrl_dev *pctldev =3D ipctl->pctl; + struct gpio_pin_config *gpio_pin, *tmp; + int ret; + + guard(spinlock_irqsave)(&ipctl->gpio_configs_lock); + + list_for_each_entry_safe(gpio_pin, tmp, &ipctl->gpio_configs, list) { + if (gpio_pin->pin_id =3D=3D gpio) { + list_del(&gpio_pin->list); + ret =3D s32_regmap_write(pctldev, gpio_pin->pin_id, + gpio_pin->config); + if (ret) + dev_warn(gc->parent, "Failed to restore config for pin %u\n", gpio); + kfree(gpio_pin); + return; + } + } +} + +static int s32_gpio_get_dir(struct gpio_chip *chip, unsigned int gpio) +{ + struct s32_pinctrl *ipctl =3D to_s32_pinctrl(chip); + unsigned int reg_value; + int ret; + + ret =3D s32_regmap_read(ipctl->pctl, gpio, ®_value); + if (ret) + return ret; + + if (!(reg_value & S32_MSCR_IBE)) + return -EIO; + + return reg_value & S32_MSCR_OBE ? GPIO_LINE_DIRECTION_OUT : + GPIO_LINE_DIRECTION_IN; +} + +static unsigned int s32_pin2pad(unsigned int pin) +{ + return pin / S32_PGPD_SIZE; +} + +static u16 s32_pin2mask(unsigned int pin) +{ + /* + * From Reference manual : + * PGPDOx[PPDOy] =3D GPDO(x =C3=97 16) + (15 - y)[PDO_(x =C3=97 16) + (15= - y)] + */ + return BIT(S32_PGPD_SIZE - 1 - pin % S32_PGPD_SIZE); +} + +static struct regmap *s32_gpio_get_regmap_offset_mask(struct gpio_chip *ch= ip, + unsigned int gpio, + unsigned int *reg_offset, + u16 *mask, + bool output) +{ + struct regmap *regmap; + unsigned int pad, relative_pin; + + regmap =3D s32_gpio_get_pgpd_regmap(chip, gpio, output, &relative_pin); + if (!regmap) + return NULL; + + *mask =3D s32_pin2mask(relative_pin); + pad =3D s32_pin2pad(relative_pin); + + *reg_offset =3D S32_PGPD(pad); + + return regmap; +} + +static int s32_gpio_set_val(struct gpio_chip *chip, unsigned int gpio, + int value) +{ + unsigned int reg_offset; + struct regmap *regmap; + u16 mask; + + regmap =3D s32_gpio_get_regmap_offset_mask(chip, gpio, ®_offset, + &mask, true); + if (!regmap) + return -ENODEV; + + value =3D value ? mask : 0; + + return regmap_update_bits(regmap, reg_offset, mask, value); +} + +static int s32_gpio_set(struct gpio_chip *chip, unsigned int gpio, + int value) +{ + return s32_gpio_set_val(chip, gpio, value); +} + +static int s32_gpio_get(struct gpio_chip *chip, unsigned int gpio) +{ + unsigned int reg_offset, value; + struct regmap *regmap; + u16 mask; + int ret; + + regmap =3D s32_gpio_get_regmap_offset_mask(chip, gpio, ®_offset, + &mask, false); + if (!regmap) + return -EINVAL; + + ret =3D regmap_read(regmap, reg_offset, &value); + if (ret) + return ret; + + return !!(value & mask); +} + +static int s32_gpio_dir_out(struct gpio_chip *chip, unsigned int gpio, + int val) +{ + struct s32_pinctrl *ipctl =3D to_s32_pinctrl(chip); + int ret; + + ret =3D s32_gpio_set_val(chip, gpio, val); + if (ret) + return ret; + + return s32_pmx_gpio_set_direction(ipctl->pctl, NULL, gpio, false); +} + +static int s32_gpio_dir_in(struct gpio_chip *chip, unsigned int gpio) +{ + struct s32_pinctrl *ipctl =3D to_s32_pinctrl(chip); + + return s32_pmx_gpio_set_direction(ipctl->pctl, NULL, gpio, true); +} + +static bool s32_gpio_is_valid(struct gpio_chip *chip, unsigned int gpio) +{ + struct s32_pinctrl *ipctl =3D to_s32_pinctrl(chip); + const struct s32_pinctrl_soc_data *soc_data; + const struct pinctrl_pin_desc *pins; + int i; + + soc_data =3D ipctl->info->soc_data; + pins =3D ipctl->info->soc_data->pins; + for (i =3D 0; i < soc_data->npins && pins[i].number <=3D gpio; i++) + if (pins[i].number =3D=3D gpio) + return true; + + return false; +} + +static int s32_init_valid_mask(struct gpio_chip *chip, unsigned long *mask, + unsigned int ngpios) +{ + struct s32_pinctrl *ipctl =3D to_s32_pinctrl(chip); + const struct s32_pinctrl_soc_data *soc_data; + const struct pinctrl_pin_desc *pins; + int i; + + bitmap_zero(mask, ngpios); + + soc_data =3D ipctl->info->soc_data; + pins =3D soc_data->pins; + + for (i =3D 0; i < soc_data->npins; i++) + if (pins[i].number < ngpios) + bitmap_set(mask, pins[i].number, 1); + + return 0; +} + +static int s32_gpio_gen_names(struct device *dev, struct gpio_chip *gc, + unsigned int cnt, char **names, char *ch_index, + unsigned int *num_index) +{ + unsigned int gpio; + unsigned int i; + + /* + * GPIO names follow the format P_, for example: + * PA_00 .. PA_15, PB_00 .. PB_15, .. + * + * @num_index tracks the absolute GPIO index. The port letter is + * advanced whenever the index crosses a 16-pin boundary. + */ + for (i =3D 0; i < cnt; i++) { + gpio =3D *num_index; + if (i !=3D 0 && (gpio % 16) =3D=3D 0) + (*ch_index)++; + + if (s32_gpio_is_valid(gc, gpio)) { + names[i] =3D devm_kasprintf(dev, GFP_KERNEL, "P%c_%02d", + *ch_index, gpio & 0xF); + if (!names[i]) + return -ENOMEM; + } + + (*num_index)++; + } + + return 0; +} + +static int s32_gpio_populate_names(struct device *dev, + struct s32_pinctrl *ipctl) +{ + const struct s32_pinctrl_soc_data *soc_data =3D ipctl->info->soc_data; + const struct s32_gpio_range *range; + unsigned int num_index =3D 0; + char ch_index =3D 'A'; + char **names; + int i, ret; + + names =3D devm_kcalloc(dev, ipctl->gc.ngpio, sizeof(*names), + GFP_KERNEL); + if (!names) + return -ENOMEM; + + for (i =3D 0; i < soc_data->num_gpio_ranges; i++) { + range =3D &soc_data->gpio_ranges[i]; + + if (range->gpio_base % 16 =3D=3D 0) + num_index =3D 0; + + ret =3D s32_gpio_gen_names(dev, &ipctl->gc, range->gpio_num, + names + range->gpio_base, + &ch_index, &num_index); + if (ret) + return dev_err_probe(dev, ret, + "Error setting SIUL2_%d names\n", + i); + + ch_index++; + } + + ipctl->gc.names =3D (const char *const *)names; + + return 0; +} + +static int s32_pinctrl_init_gpio_regmaps(struct platform_device *pdev, + struct s32_pinctrl *ipctl) +{ + const struct s32_pinctrl_soc_data *soc_data =3D ipctl->info->soc_data; + static const struct regmap_config pgpd_config =3D { + .reg_bits =3D 32, + .val_bits =3D 16, + .reg_stride =3D 2, + }; + struct regmap_config cfg; + struct resource *res; + void __iomem *base; + unsigned int pgpdo_idx, pgpdi_idx; + unsigned int i; + + if (!soc_data->gpio_ranges || !soc_data->num_gpio_ranges) + return 0; + + ipctl->num_gpio_regmaps =3D soc_data->num_gpio_ranges; + ipctl->gpio_regmaps =3D devm_kcalloc(&pdev->dev, ipctl->num_gpio_regmaps, + sizeof(*ipctl->gpio_regmaps), + GFP_KERNEL); + if (!ipctl->gpio_regmaps) + return -ENOMEM; + + for (i =3D 0; i < ipctl->num_gpio_regmaps; i++) { + ipctl->gpio_regmaps[i].range =3D &soc_data->gpio_ranges[i]; + + /* + * GPIO resources are placed after the pinctrl regions + */ + pgpdo_idx =3D soc_data->mem_regions + i * 2; + pgpdi_idx =3D soc_data->mem_regions + i * 2 + 1; + + /* PGPDO */ + res =3D platform_get_resource(pdev, IORESOURCE_MEM, pgpdo_idx); + if (!res) + return dev_err_probe(&pdev->dev, -ENOENT, + "Missing PGPDO resource %u\n", i); + + base =3D devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(base)) + return PTR_ERR(base); + + cfg =3D pgpd_config; + cfg.name =3D devm_kasprintf(&pdev->dev, GFP_KERNEL, "pgpdo%u", i); + if (!cfg.name) + return -ENOMEM; + + cfg.max_register =3D resource_size(res) - cfg.reg_stride; + + ipctl->gpio_regmaps[i].pgpdo =3D + devm_regmap_init_mmio(&pdev->dev, base, &cfg); + if (IS_ERR(ipctl->gpio_regmaps[i].pgpdo)) + return dev_err_probe(&pdev->dev, + PTR_ERR(ipctl->gpio_regmaps[i].pgpdo), + "Failed to init PGPDO regmap %u\n", i); + + /* PGPDI */ + res =3D platform_get_resource(pdev, IORESOURCE_MEM, pgpdi_idx); + if (!res) + return dev_err_probe(&pdev->dev, -ENOENT, + "Missing PGPDI resource %u\n", i); + + base =3D devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(base)) + return PTR_ERR(base); + + cfg =3D pgpd_config; + cfg.name =3D devm_kasprintf(&pdev->dev, GFP_KERNEL, "pgpdi%u", i); + if (!cfg.name) + return -ENOMEM; + + cfg.max_register =3D resource_size(res) - cfg.reg_stride; + + ipctl->gpio_regmaps[i].pgpdi =3D + devm_regmap_init_mmio(&pdev->dev, base, &cfg); + if (IS_ERR(ipctl->gpio_regmaps[i].pgpdi)) + return dev_err_probe(&pdev->dev, + PTR_ERR(ipctl->gpio_regmaps[i].pgpdi), + "Failed to init PGPDI regmap %u\n", i); + } + + return 0; +} + #ifdef CONFIG_PM_SLEEP static bool s32_pinctrl_should_save(struct s32_pinctrl *ipctl, unsigned int pin) @@ -928,9 +1282,11 @@ int s32_pinctrl_probe(struct platform_device *pdev, #ifdef CONFIG_PM_SLEEP struct s32_pinctrl_context *saved_context; #endif + const struct s32_gpio_range *last_range; struct pinctrl_desc *s32_pinctrl_desc; struct s32_pinctrl_soc_info *info; struct s32_pinctrl *ipctl; + struct gpio_chip *gc; int ret; =20 if (!soc_data || !soc_data->pins || !soc_data->npins) @@ -974,6 +1330,11 @@ int s32_pinctrl_probe(struct platform_device *pdev, return dev_err_probe(&pdev->dev, ret, "Fail to probe dt properties\n"); =20 + ret =3D s32_pinctrl_init_gpio_regmaps(pdev, ipctl); + if (ret) + return dev_err_probe(&pdev->dev, ret, + "Failed to init GPIO regmaps\n"); + ret =3D devm_pinctrl_register_and_init(&pdev->dev, s32_pinctrl_desc, ipctl, &ipctl->pctl); if (ret) @@ -997,5 +1358,43 @@ int s32_pinctrl_probe(struct platform_device *pdev, =20 dev_info(&pdev->dev, "Initialized S32 pinctrl driver\n"); =20 + /* Setup GPIO if GPIO ranges are defined */ + if (!soc_data->gpio_ranges || !soc_data->num_gpio_ranges) + return 0; + + gc =3D &ipctl->gc; + gc->parent =3D &pdev->dev; + gc->label =3D dev_name(&pdev->dev); + gc->base =3D -1; + /* + * In some cases, there is a gap between the SIUL GPIOs. + * + * gpio_ranges[] is expected to be sorted by increasing gpio_base. + * ngpio is derived from the last range and must cover the highest + * GPIO offset, even when gaps exist in the numbering. + */ + last_range =3D &soc_data->gpio_ranges[soc_data->num_gpio_ranges - 1]; + gc->ngpio =3D last_range->gpio_base + last_range->gpio_num; + ret =3D s32_gpio_populate_names(&pdev->dev, ipctl); + if (ret) + return ret; + + gc->set =3D s32_gpio_set; + gc->get =3D s32_gpio_get; + gc->set_config =3D gpiochip_generic_config; + gc->request =3D s32_gpio_request; + gc->free =3D s32_gpio_free; + gc->direction_output =3D s32_gpio_dir_out; + gc->direction_input =3D s32_gpio_dir_in; + gc->get_direction =3D s32_gpio_get_dir; + gc->init_valid_mask =3D s32_init_valid_mask; + + ret =3D devm_gpiochip_add_data(&pdev->dev, gc, ipctl); + if (ret) + return dev_err_probe(&pdev->dev, ret, + "Unable to add gpiochip\n"); + + dev_info(&pdev->dev, "Initialized S32 GPIO functionality\n"); + return 0; } diff --git a/drivers/pinctrl/nxp/pinctrl-s32g2.c b/drivers/pinctrl/nxp/pinc= trl-s32g2.c index c49d28793b69..b1bf328371e2 100644 --- a/drivers/pinctrl/nxp/pinctrl-s32g2.c +++ b/drivers/pinctrl/nxp/pinctrl-s32g2.c @@ -3,7 +3,7 @@ * NXP S32G pinctrl driver * * Copyright 2015-2016 Freescale Semiconductor, Inc. - * Copyright 2017-2018, 2020-2022 NXP + * Copyright 2017-2018, 2020-2022, 2025-2026 NXP * Copyright (C) 2022 SUSE LLC */ =20 @@ -773,17 +773,36 @@ static const struct s32_pin_range s32_pin_ranges_siul= 2[] =3D { S32_PIN_RANGE(942, 1007), }; =20 -static const struct s32_pinctrl_soc_data s32_pinctrl_data =3D { +static const struct s32_gpio_range s32_gpio_ranges_siul2[] =3D { + S32_GPIO_RANGE(0, 102), + S32_GPIO_RANGE(112, 79), +}; + +/* Legacy data for old DT bindings without GPIO support */ +static const struct s32_pinctrl_soc_data legacy_s32g_pinctrl_data =3D { + .pins =3D s32_pinctrl_pads_siul2, + .npins =3D ARRAY_SIZE(s32_pinctrl_pads_siul2), + .mem_pin_ranges =3D s32_pin_ranges_siul2, + .mem_regions =3D ARRAY_SIZE(s32_pin_ranges_siul2), +}; + +static const struct s32_pinctrl_soc_data s32g_pinctrl_data =3D { .pins =3D s32_pinctrl_pads_siul2, .npins =3D ARRAY_SIZE(s32_pinctrl_pads_siul2), .mem_pin_ranges =3D s32_pin_ranges_siul2, .mem_regions =3D ARRAY_SIZE(s32_pin_ranges_siul2), + .gpio_ranges =3D s32_gpio_ranges_siul2, + .num_gpio_ranges =3D ARRAY_SIZE(s32_gpio_ranges_siul2), }; =20 static const struct of_device_id s32_pinctrl_of_match[] =3D { + { + .compatible =3D "nxp,s32g2-siul2-pinctrl-gpio", + .data =3D &s32g_pinctrl_data, + }, { .compatible =3D "nxp,s32g2-siul2-pinctrl", - .data =3D &s32_pinctrl_data, + .data =3D &legacy_s32g_pinctrl_data, }, { /* sentinel */ } }; --=20 2.34.1 From nobody Sun Jun 14 02:38:16 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011067.outbound.protection.outlook.com [40.107.130.67]) (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 43AA43DD537; Mon, 4 May 2026 13:12:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900328; cv=fail; b=qHeryOHYIZOKjNq1FhL9+4cuhPytJaYdgHZSZ221tyUtJ7nhSoO5kT3cfanSueZVXxBTBbz2x/GcYawLq4tJG74OwUS1VNb3BfZfMaheyHxAw4eZ67L6D8nm30hSThcQG0Niy3VMGOGaAV8fJKIZCUNK1MoeBBMCCc/rFiFweuU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777900328; c=relaxed/simple; bh=cFbFlplHesLR5wBOyODwsoIl1AkJzR4ar9j+NuYc4RA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=s7LptKh4la3RmqgBS4Af5WvEllm2rMFf60bwfJfXh4k66bGYUPQI5DAO7ZM2wmAe47FyLlIShpYiBNKuhpHFNbxi02BGCRtQPryOIGIj8hRUuywnuzQn3lSSoCY/k6KxHDYq4afJEbU+gQPHu9xL+s0NAbDkri84dIwm0ZgudkI= 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=GhphSivg; arc=fail smtp.client-ip=40.107.130.67 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="GhphSivg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=d2nFrL6dXlUBe8AeiHXN7YjkHoE+BkToMmfHNXaGr4ogA0j8IKMSQspVJMPTZQ94UOGGSO5eiGmha/DoUSXrxmjoxPksi5KXFwPiMfRWUPag3xQtBuenSPda5ZEJEGsdCinYB6dWV0uKiwAIZuQgpGaZOH/VFzn4O9Gjv4Kc+m9R/B9U2uyWAXgYKMN/KY62gn1jSge7J74Hb05FX6RHMFC+Ikwn8Z+pnFF3ESwZAvpQQ9HqxfAgXCxx2DN/UrWBxxhYYu4mHfFax/TPlamUxvblnFewt0v4ZkKY8Qcdbs9zl0oNUfuMqg+WT4bEBlL97atoS2rxezcEJH7TNkqNpQ== 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=/5UPQXBjaVJqxkbADk3hIiu2fwFER/itTPSLkusFe+U=; b=O39Sgwj1Y1P6JRkYhWF9bpEy7gmYiXkZUb2KOr2Z2CXZDecCV4YSeZrnG9ZJFKbQyxS5oUCyDdFmJ8bXYy5NrwyXtloSuIIY8MDN4293sryVK8tHFypHYh2rVxbD4kZ/VX7+ZsynACp6vMTL9BOFF0amSNeTXrbCJxK2UxzrOCM527D4PYxJeG21DWE0FTDQoNQiPBmcUNSdhePqJDBbot4Z8NUsvIFZWP0MM6JxywPRaft+VPi7H5dRzKW6uGoDxTBzr5zzBJF5I6eGldjqoBJSZu/NuERxXTNu/slbZjLkZozJjRPNpDQr7XYaaEboGE/MdV4hyY51EsGCaKbL/w== 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=/5UPQXBjaVJqxkbADk3hIiu2fwFER/itTPSLkusFe+U=; b=GhphSivgDGHX3ENYrOgN9bGR42RV0xmY1lyp5IZr/hvgRqZ6WO6FYA7DPI47WM5w24WqozjgQS+1Ivm9+TK+87eSlQkGUGrianATDgL/J2MnV6QZaaC7iH729DMXOFH2XyZbDZ2UzSb3jE9NYBuWZs76B/GNpxC68LXHowdgoIXF6m2g1MaCPGh3UQrPhYQvRwC127t8yxUE7bCUqprNFnwiEwnIWNzn1/CAFKc3e3Vy6/hOiVBed6Zl9NACPCBOlG14wC+gTh4lam41jBdtzT7X7Mic/hIKQsBRM+6hxZ1eTOc406G0ZEkQIJ/aRja3P1LI7rgwJqjpOh1LI6pFiQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) by PA2PR04MB10160.eurprd04.prod.outlook.com (2603:10a6:102:407::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 13:11:59 +0000 Received: from AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85]) by AM9PR04MB8179.eurprd04.prod.outlook.com ([fe80::a551:cde0:6730:1d85%6]) with mapi id 15.20.9870.023; Mon, 4 May 2026 13:11:59 +0000 From: Khristine Andreea Barbulescu To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chester Lin , Matthias Brugger , Ghennadi Procopciuc , Larisa Grigore , Lee Jones , Shawn Guo , Sascha Hauer , Fabio Estevam , Dong Aisheng , Jacky Bai , Greg Kroah-Hartman , "Rafael J. Wysocki" , Srinivas Kandagatla Cc: Alberto Ruiz , Christophe Lizzi , devicetree@vger.kernel.org, Enric Balletbo , Eric Chanudet , imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, NXP S32 Linux Team , Pengutronix Kernel Team , Vincent Guittot Subject: [PATCH v9 7/7] arm64: dts: s32g: describe GPIO and EIRQ resources in SIUL2 pinctrl node Date: Mon, 4 May 2026 15:11:48 +0200 Message-Id: <20260504131148.3622697-8-khristineandreea.barbulescu@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> References: <20260504131148.3622697-1-khristineandreea.barbulescu@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS4P190CA0014.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5de::18) To AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) Precedence: bulk X-Mailing-List: linux-kernel@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: AM9PR04MB8179:EE_|PA2PR04MB10160:EE_ X-MS-Office365-Filtering-Correlation-Id: 665e2f37-d5ed-4364-5ad3-08dea9deb981 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|19092799006|1800799024|921020|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: x4cFZjrnZnKdKnyb6anVcapoG14u2SfmUJtZMWPxbUzBjfLK4Xbt0cgPlsqRaN837hwKGrwsyoXxzWJQA4q6HyiF/rQ17Dk99sXu+JG5R0Svb/XaxfgQmGWNS3QqIQVUmpw1XYfO4/oiTFNaDSknGByuHFfOh08Rt4CG6+dgIEaCL3n7Hs9f7laDSUk/8j+C3OG50pawuh8EDd/JpdqwzM7R3iADKHoolbsHYQvM3BcCNLZZkDg4WfiOlWZy0M+D86VlG1sm7ICKLFANe4Zjd46OIsO7NCFLIlugMzx80QS5ga56lT8BCTww/0iApQmWYkOy8fwYHGgsqZovBwYiLPG2PZnQxnOKvmtSTD/m7M5lk1LxrUR9X/gNJKJsK8oQMuf9YXifhj/lGlIjSrz6cY37OJ6yQmots+fBxtzKfObx0T3oPRsRwLKv8luBn/AmQK1kzy2DsLvJ5mpYbtxTaUoItFJVhWb2QW5oPvM5K1NcEoatjtya/ETc2Kj8x3zq4FFdWFekh9q3hF0o6Mk3O0A00YnFwIkfhv9khCpDdwrrgYSd8tUn3ty90zlAUScVdxR0AkzrWgBkzfuAJpYz2yUg5FWHZV34CcUyNl5qKu5KBBt6EhqXXsenvOk9g9AMqylhLuCUyk624Zi7lt6yPn5ZlZgRzNJys15c3MtpMJmLSEk4fpZXCk9qIp6V0Vq7052vd+lvGptW8eDOQu+zjyda8t2Oaihps3hdnMKb0v0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8179.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(19092799006)(1800799024)(921020)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TEdWLzJZcmxDZjI3cnlTU2M3S2MzbU1Qa3VHWlg3ODdSZGp3dThmV25ZUHh1?= =?utf-8?B?VWlzQVVzd20wa09WZTl0cTlPZTVxa1R2Y1o0SXNVYjVvc2RXUVNvcDNJTFlt?= =?utf-8?B?L0EySC94bGQ5UHFhKzNUR3BZMTBTWXEzeHRNMS9DRTAzcjBxa01PTlljNHdN?= =?utf-8?B?N2V2alRzUDF3QmZiYk5aTFR1T082MktKU1ZpL3FaWmduNGExeno4UHp3Wm1E?= =?utf-8?B?UWZEZEMrSTBVUllMMDNUd0VYay8waHNjaDRzenk5OEJyQnVSYzljSkFFUEhp?= =?utf-8?B?d0RpRXRFb1ZxVlI1OEZlOUJqVzdkK0lIZ0JzNjdTUFZNeXBlMzFLWUtKc0l3?= =?utf-8?B?R0FEU283a3puUy9PbnFlR0hhZTMxWHgya3NDOEV1clluWGFqSUV1VU8vZjI3?= =?utf-8?B?SW50VGFTOTRBQzJqa1BlWnFkSEI2T2lnandxSkR4OW00RHpOeHh4emJzVXI5?= =?utf-8?B?U2plRkI1U3dSZzFzTkFWVmp4MXRFNTJuRkt2V2owcHFRQ2ZvTFNpSS9qUm8r?= =?utf-8?B?VGcxOHN6U25xMXpMK1o5VW15eGxXWG5LUWgwZ0FCcnlCVjFNY0YrY0dOV2Vs?= =?utf-8?B?dmo4VTNvekFIckt0SUd5Qzhqa3RKMDlYcmtOUXlKa0FCMnZkYml2V1pWSzZP?= =?utf-8?B?cTNkdnY1ZVFjcVpyNnNUbVZNQ2E0UGtZUTI3K3p6NjBRZ0lPNkRJSVBTVnNv?= =?utf-8?B?N0s0MUxxWDVFd2l6RHp4TzVWbm5QQWw4cHVCWGdDWjJwZ01qZDljci9IajVo?= =?utf-8?B?TWtnNkxJeHQraGo3aDFla2lISnA2YVJETXRpcTBBcDE0Z2haV0cwTCtlc045?= =?utf-8?B?dEhTSkdySlczRFY1Vld3SDJSVFdDaGFRRUFFK2JGUDg2WXgwNStHVk9vT0Zv?= =?utf-8?B?YlNONXhlZkkwN0lwOFJMdjkwTk54SnVqWGpkb1RYcnkzMWJnZjdrcDlPQnJh?= =?utf-8?B?L3NqMzEwTnhXS0k5ZkZ1TzlhM3pKejI1d0JlWmUrYzdoRWdpRnlOOW1zTXdm?= =?utf-8?B?bjV2WFVrRWFDK2o2a3Q1eEwxL015dW5yWGhOdTlpQzR0S09vN1FINHR2UmJp?= =?utf-8?B?cFJCRUEvbEYwWjBGSGZVZWdrYitjbER4UHlIQ1kwaGROSDBjdW04Tnlab1ZW?= =?utf-8?B?VVE5OGM5alFDOWlMWnVjOERtYWZZVjc2dHBxM2dZQkVtWDlUTDg3aTJSaU56?= =?utf-8?B?NDVjSWVGOVFVYWMrYmw0cFgvREZJUDBqTGZJdjJFQm1GUS9iMDROdmdoVmdW?= =?utf-8?B?Y2hGWlpCdmowNjJISXBnSEdFRDhic3VpZTZXR0U1eDNSQ1JtZGFtTWhpVUJW?= =?utf-8?B?L2lFWU1jaFAvTm5tVUpXeTFBcFhOUjhzYkc4TkU3Q0dka0lHK1Bkbkpuc0VL?= =?utf-8?B?MnRhbWZXSDUwYS8xQzlKdFpla1FicXFLSTRRM053LzVndml5bVJ4d3hlVFRI?= =?utf-8?B?ejM1MnlHVVNJemNJcGl4ODF0bHRCVEd5WmJsZkhFaDc5QzRtS0ZHUURpRmo4?= =?utf-8?B?dXp6cVp0UzRtYkVmMklHdmZuTU8vSDhUZk9zQ3pmWXBTdlVyOGJ5REFRbWdG?= =?utf-8?B?eXJiOEtQdWZXeVJhejBiTjNEbHBwMXcxMS9uYWh4UExGK0FhTndaZmI3Uzcv?= =?utf-8?B?VVN0UmdIQ1NhZmx3K3pLamZEQ2xhNXh4aVJ5ODZBS0xGS3lzWEczQlFBT3pB?= =?utf-8?B?d2V1b29NZjNKeGpRSk55UWRqWm44R05URmNLS3ptTkF3c2dYUzlUUXV0K2Y0?= =?utf-8?B?ZlVtcEYreHREMUk1SVdMUXNad3MyOG1EcGRXODd6cURoM3NiRVV4SlZiRnhR?= =?utf-8?B?SmZHTHVZaDZSR3dMdFNScHdaR1JhbkdYTDhoTkk0SzZRc1V0TEVONFl5Ni9S?= =?utf-8?B?L0htcHEzOXVDVVR3cVhhTDVSdjdTdk9DSVhMKzFjcDIrNktpUkFlOEJKc25D?= =?utf-8?B?bm1ReVBlL0VhVG5Nb0VlRmxwV3l0Z0JCbW4rUXZXUW5PMGNiOGdFOHk5ZGhX?= =?utf-8?B?U0VxKzRMczJ6QmxERldSRUkra21hbisxZGdBRU03dWVUN1ZZNkI2c3kxNGtl?= =?utf-8?B?L2JyM0tpUHZWeHpmNmUwbld2c1RVZ3VZODNVYi9SRmdMMkhva1pzbU5uNlBu?= =?utf-8?B?ZlE2VjU5NWhoSlMyKyszczc0MG5USmpaUVlsR1ljNloxUW1oUXQ1V2tvaVZS?= =?utf-8?B?YzQ1SnBlZjc3dHBleFIyM2U4MG0rRW5UN1FkYldqOUNkWk9QbVhZMG11TVZy?= =?utf-8?B?UG85WlRoaXFqdy8wWEkzZ0VSVlRPVjBxK3JCZ2IvUzQ2S3VVaEYrRDZJQmM1?= =?utf-8?B?SXBkNUtlSVNOSDlXR1BpdGVnTlBSMGRZUzd4bGRmdENDZU5SV1BMaFJyL05T?= =?utf-8?Q?yWeHh2G9+zcgh8UggXYmtJJWZh9c9m2S9XYdW?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 665e2f37-d5ed-4364-5ad3-08dea9deb981 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8179.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2026 13:11:59.4734 (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: krcim9jM1oUmcovHX/ZijklqhFp17S9IpDSrsEwlbGg7DRUhB7I2mpFMqWod9bYxrwtgTVMKaaIebZt1Qs9sb2QdfM5DFodG5zbZ8OTKCO+fbrLgb8J5fAEn+KUuv2tS X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2PR04MB10160 Content-Type: text/plain; charset="utf-8" Update the SIUL2 pinctrl node to describe the additional register ranges and DT properties used by the updated SIUL2 driver. Besides the MSCR and IMCR ranges used for pinmux and pin configuration, the SIUL2 block also provides PGPDO and PGPDI registers for GPIO output and input operations, as well as an EIRQ register window for external interrupt configuration. Add the new compatible string for SIUL2 pinctrl nodes that describe GPIO and EIRQ resources and keep the existing compatible to maintain compatibility with legacy bindings. Reflect these resources in the SIUL2 pinctrl node by adding: - "nxp,s32g2-siul2-pinctrl-gpio" compatible - the PGPDO and PGPDI register ranges - the EIRQ register range - gpio-controller, #gpio-cells and gpio-ranges - interrupt-controller, #interrupt-cells and interrupts Keep the hardware description aligned with the updated SIUL2 driver, where pinctrl, GPIO data access and the EIRQ register block are described under the same device node. Signed-off-by: Khristine Andreea Barbulescu Tested-by: Enric Balletbo i Serra --- arch/arm64/boot/dts/freescale/s32g2.dtsi | 26 +++++++++++++++++++++--- arch/arm64/boot/dts/freescale/s32g3.dtsi | 26 +++++++++++++++++++++--- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32g2.dtsi b/arch/arm64/boot/dts= /freescale/s32g2.dtsi index 51d00dac12de..b3bef4ee559d 100644 --- a/arch/arm64/boot/dts/freescale/s32g2.dtsi +++ b/arch/arm64/boot/dts/freescale/s32g2.dtsi @@ -3,7 +3,7 @@ * NXP S32G2 SoC family * * Copyright (c) 2021 SUSE LLC - * Copyright 2017-2021, 2024-2025 NXP + * Copyright 2017-2021, 2024-2026 NXP */ =20 #include @@ -123,7 +123,8 @@ rtc0: rtc@40060000 { }; =20 pinctrl: pinctrl@4009c240 { - compatible =3D "nxp,s32g2-siul2-pinctrl"; + compatible =3D "nxp,s32g2-siul2-pinctrl-gpio", + "nxp,s32g2-siul2-pinctrl"; /* MSCR0-MSCR101 registers on siul2_0 */ reg =3D <0x4009c240 0x198>, /* MSCR112-MSCR122 registers on siul2_1 */ @@ -135,7 +136,26 @@ pinctrl: pinctrl@4009c240 { /* IMCR119-IMCR397 registers on siul2_1 */ <0x44010c1c 0x45c>, /* IMCR430-IMCR495 registers on siul2_1 */ - <0x440110f8 0x108>; + <0x440110f8 0x108>, + /* PGPDO registers on siul2_0 */ + <0x4009d700 0x10>, + /* PGPDI registers on siul2_0 */ + <0x4009d740 0x10>, + /* PGPDO registers on siul2_1 */ + <0x44011700 0x18>, + /* PGPDI registers on siul2_1 */ + <0x44011740 0x18>, + /* EIRQ window: DISR0..IFEER0 */ + <0x44010010 0x34>; + + gpio-controller; + #gpio-cells =3D <2>; + gpio-ranges =3D <&pinctrl 0 0 102>, + <&pinctrl 102 112 79>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; =20 jtag_pins: jtag-pins { jtag-grp0 { diff --git a/arch/arm64/boot/dts/freescale/s32g3.dtsi b/arch/arm64/boot/dts= /freescale/s32g3.dtsi index e314f3c7d61d..3b38500d7d05 100644 --- a/arch/arm64/boot/dts/freescale/s32g3.dtsi +++ b/arch/arm64/boot/dts/freescale/s32g3.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) /* - * Copyright 2021-2025 NXP + * Copyright 2021-2026 NXP * * Authors: Ghennadi Procopciuc * Ciprian Costea @@ -181,7 +181,8 @@ rtc0: rtc@40060000 { }; =20 pinctrl: pinctrl@4009c240 { - compatible =3D "nxp,s32g2-siul2-pinctrl"; + compatible =3D "nxp,s32g2-siul2-pinctrl-gpio", + "nxp,s32g2-siul2-pinctrl"; /* MSCR0-MSCR101 registers on siul2_0 */ reg =3D <0x4009c240 0x198>, /* MSCR112-MSCR122 registers on siul2_1 */ @@ -193,7 +194,26 @@ pinctrl: pinctrl@4009c240 { /* IMCR119-IMCR397 registers on siul2_1 */ <0x44010c1c 0x45c>, /* IMCR430-IMCR495 registers on siul2_1 */ - <0x440110f8 0x108>; + <0x440110f8 0x108>, + /* PGPDO registers on siul2_0 */ + <0x4009d700 0x10>, + /* PGPDI registers on siul2_0 */ + <0x4009d740 0x10>, + /* PGPDO registers on siul2_1 */ + <0x44011700 0x18>, + /* PGPDI registers on siul2_1 */ + <0x44011740 0x18>, + /* EIRQ window: DISR0..IFEER0 */ + <0x44010010 0x34>; + + gpio-controller; + #gpio-cells =3D <2>; + gpio-ranges =3D <&pinctrl 0 0 102>, + <&pinctrl 102 112 79>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; =20 jtag_pins: jtag-pins { jtag-grp0 { --=20 2.34.1