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