[PATCH v8 07/10] pinctrl: s32cc: skip syscon child nodes when parsing funcs and groups
Bartosz Golaszewski
brgl at kernel.org
Tue Jan 20 04:16:28 PST 2026
On Tue, 20 Jan 2026 12:59:19 +0100, Khristine Andreea Barbulescu
<khristineandreea.barbulescu at oss.nxp.com> said:
> The SIUL2 node contains child nodes for syscon
> instances (SIUL2_0 and SIUL2_1) to expose register
> ranges for SoC information. These nodes are not
> part of the pinctrl configuration and should not
> be treated as pinctrl functions or groups.
>
> Signed-off-by: Khristine Andreea Barbulescu <khristineandreea.barbulescu at oss.nxp.com>
> ---
> drivers/pinctrl/nxp/pinctrl-s32cc.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/nxp/pinctrl-s32cc.c b/drivers/pinctrl/nxp/pinctrl-s32cc.c
> index cdd3a1cd4fe5..50d5a01107eb 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-2025-2026 NXP
> * Copyright (C) 2022 SUSE LLC
> * Copyright 2015-2016 Freescale Semiconductor, Inc.
> */
> @@ -832,6 +832,9 @@ static int s32_pinctrl_parse_functions(struct device_node *np,
>
> dev_dbg(info->dev, "parse function(%u): %pOFn\n", index, np);
>
> + if (of_device_is_compatible(np, "syscon"))
> + return 0;
> +
> func = &info->functions[index];
>
> /* Initialise function */
> @@ -941,7 +944,8 @@ static int s32_pinctrl_probe_dt(struct platform_device *pdev,
> return -ENODEV;
>
> for_each_child_of_node_scoped(np, child)
> - ++nfuncs;
> + if (!of_device_is_compatible(child, "syscon"))
> + ++nfuncs;
> if (nfuncs <= 0)
> return dev_err_probe(&pdev->dev, -EINVAL,
> "No functions defined\n");
> @@ -962,6 +966,9 @@ static int s32_pinctrl_probe_dt(struct platform_device *pdev,
> return -ENOMEM;
>
> for_each_child_of_node_scoped(np, child) {
> + if (of_device_is_compatible(child, "syscon"))
> + continue;
> +
> ret = s32_pinctrl_parse_functions(child, info, i++);
> if (ret)
> return ret;
> --
> 2.50.1
>
>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski at oss.qualcomm.com>
More information about the linux-arm-kernel
mailing list