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

From: Andy Shevchenko
Date: Wed Aug 03 2022 - 07:32:44 EST


On Wed, Aug 3, 2022 at 7:47 AM Colin Foster
<colin.foster@xxxxxxxxxxxxxxxx> 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@xxxxxxxxx>

> Signed-off-by: Colin Foster <colin.foster@xxxxxxxxxxxxxxxx>
> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
> Reviewed-by: Vladimir Oltean <vladimir.oltean@xxxxxxx>
> ---
>
> (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