Re: [PATCH 3/6] pinctrl: tegra: Add Tegra238 pinmux driver
From: Krzysztof Kozlowski
Date: Fri Apr 10 2026 - 06:05:58 EST
On 09/04/2026 15:13, pshete@xxxxxxxxxx wrote:
> From: Prathamesh Shete <pshete@xxxxxxxxxx>
>
> This change adds support for the two pin controllers
Please do not use "This commit/patch/change", but imperative mood. See
longer explanation here:
https://elixir.bootlin.com/linux/v6.16/source/Documentation/process/submitting-patches.rst#L94
> (MAIN and AON) found on Tegra238.
>
> Signed-off-by: Prathamesh Shete <pshete@xxxxxxxxxx>
> ---
> drivers/pinctrl/tegra/Kconfig | 9 +
> drivers/pinctrl/tegra/Makefile | 1 +
> drivers/pinctrl/tegra/pinctrl-tegra238.c | 2056 ++++++++++++++++++++++
> 3 files changed, 2066 insertions(+)
> create mode 100644 drivers/pinctrl/tegra/pinctrl-tegra238.c
>
> diff --git a/drivers/pinctrl/tegra/Kconfig b/drivers/pinctrl/tegra/Kconfig
> index 660d101ea367..ccb8c337b4ee 100644
> --- a/drivers/pinctrl/tegra/Kconfig
> +++ b/drivers/pinctrl/tegra/Kconfig
> @@ -36,6 +36,15 @@ config PINCTRL_TEGRA234
> bool
> select PINCTRL_TEGRA
>
> +config PINCTRL_TEGRA238
> + tristate "NVIDIA Tegra238 pinctrl driver"
> + select PINCTRL_TEGRA
> + help
> + Say Y or M here to enable support for the pinctrl driver for
> + NVIDIA Tegra238 SoC. This driver controls the pin multiplexing
> + and configuration for the MAIN and AON pin controllers found
> + on Tegra238.
All other Tegra drivers are non-selectable, so you are introducing
completely different style. This needs explanation WHY in the commit msg.
Also, since you are changing things around, then I suggest to finally
enable proper COMPILE_TEST for all tegra pinctrl. Unless I mistaken,
it's impossible to compile test currently anything from Tegra pinctrl...
Actually let me take a look, maybe I will do it for several platforms.
...
> +static struct platform_driver tegra238_pinctrl_driver = {
> + .driver = {
> + .name = "tegra238-pinctrl",
> + .of_match_table = tegra238_pinctrl_of_match,
> + },
> + .probe = tegra238_pinctrl_probe,
> +};
> +
> +static int __init tegra238_pinctrl_init(void)
> +{
> + return platform_driver_register(&tegra238_pinctrl_driver);
> +}
> +module_init(tegra238_pinctrl_init);
> +
> +static void __exit tegra238_pinctrl_exit(void)
> +{
> + platform_driver_unregister(&tegra238_pinctrl_driver);
> +}
> +module_exit(tegra238_pinctrl_exit);
Why this cannot be module_platform_driver()?
Best regards,
Krzysztof