[PATCH v15 mfd 3/9] pinctrl: ocelot: allow pinctrl-ocelot to be loaded as a module

Andy Shevchenko andy.shevchenko at gmail.com
Wed Aug 3 04:32:01 PDT 2022


On Wed, Aug 3, 2022 at 7:47 AM Colin Foster
<colin.foster at in-advantage.com> wrote:
>
> Work is being done to allow external control of Ocelot chips. When pinctrl
> drivers are used internally, it wouldn't make much sense to allow them to
> be loaded as modules. In the case where the Ocelot chip is controlled
> externally, this scenario becomes practical.

FWIW,
Reviewed-by: Andy Shevchenko <andy.shevchenko at gmail.com>

> Signed-off-by: Colin Foster <colin.foster at in-advantage.com>
> Reviewed-by: Linus Walleij <linus.walleij at linaro.org>
> Reviewed-by: Florian Fainelli <f.fainelli at gmail.com>
> Reviewed-by: Vladimir Oltean <vladimir.oltean at nxp.com>
> ---
>
> (No changes since before v14)
>
> v14
>     * No changes
>
> ---
>  drivers/pinctrl/Kconfig          | 7 ++++++-
>  drivers/pinctrl/pinctrl-ocelot.c | 6 +++++-
>  2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
> index f52960d2dfbe..ba48ff8be6e2 100644
> --- a/drivers/pinctrl/Kconfig
> +++ b/drivers/pinctrl/Kconfig
> @@ -311,7 +311,7 @@ config PINCTRL_MICROCHIP_SGPIO
>           LED controller.
>
>  config PINCTRL_OCELOT
> -       bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
> +       tristate "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
>         depends on OF
>         depends on HAS_IOMEM
>         select GPIOLIB
> @@ -321,6 +321,11 @@ config PINCTRL_OCELOT
>         select GENERIC_PINMUX_FUNCTIONS
>         select OF_GPIO
>         select REGMAP_MMIO
> +       help
> +         Support for the internal GPIO interfaces on Microsemi Ocelot and
> +         Jaguar2 SoCs.
> +
> +         If conpiled as a module, the module name will be pinctrl-ocelot.
>
>  config PINCTRL_OXNAS
>         bool
> diff --git a/drivers/pinctrl/pinctrl-ocelot.c b/drivers/pinctrl/pinctrl-ocelot.c
> index 5f4a8c5c6650..d18047d2306d 100644
> --- a/drivers/pinctrl/pinctrl-ocelot.c
> +++ b/drivers/pinctrl/pinctrl-ocelot.c
> @@ -1889,6 +1889,7 @@ static const struct of_device_id ocelot_pinctrl_of_match[] = {
>         { .compatible = "microchip,lan966x-pinctrl", .data = &lan966x_desc },
>         {},
>  };
> +MODULE_DEVICE_TABLE(of, ocelot_pinctrl_of_match);
>
>  static struct regmap *ocelot_pinctrl_create_pincfg(struct platform_device *pdev)
>  {
> @@ -1984,4 +1985,7 @@ static struct platform_driver ocelot_pinctrl_driver = {
>         },
>         .probe = ocelot_pinctrl_probe,
>  };
> -builtin_platform_driver(ocelot_pinctrl_driver);
> +module_platform_driver(ocelot_pinctrl_driver);
> +
> +MODULE_DESCRIPTION("Ocelot Chip Pinctrl Driver");
> +MODULE_LICENSE("Dual MIT/GPL");
> --
> 2.25.1
>


-- 
With Best Regards,
Andy Shevchenko



More information about the linux-arm-kernel mailing list