Am Sonntag, 6. September 2020, 00:01:55 CEST schrieb Heiko Stübner: > Am Montag, 31. August 2020, 10:47:48 CEST schrieb Jianqun Xu: > > Make pinctrl-rockchip driver to be tristate module, support to build as > > a module, this is useful for GKI. > > > > Signed-off-by: Jianqun Xu <jay.xu@xxxxxxxxxxxxxx> > > Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> I take this back. What happens when you actually unload the module now? I checked and all the pinctrl stuff itself is using devm-functions so should be safe, but you're missing the platform_driver_unregister part that should happen as well. Heiko > > --- > > drivers/pinctrl/Kconfig | 2 +- > > drivers/pinctrl/pinctrl-rockchip.c | 7 +++++++ > > 2 files changed, 8 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig > > index 8828613c4e0e..dd4874e2ac67 100644 > > --- a/drivers/pinctrl/Kconfig > > +++ b/drivers/pinctrl/Kconfig > > @@ -207,7 +207,7 @@ config PINCTRL_OXNAS > > select MFD_SYSCON > > > > config PINCTRL_ROCKCHIP > > - bool > > + tristate "Rockchip gpio and pinctrl driver" > > select PINMUX > > select GENERIC_PINCONF > > select GENERIC_IRQ_CHIP > > diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c > > index c07324d1f265..24dfc814dee1 100644 > > --- a/drivers/pinctrl/pinctrl-rockchip.c > > +++ b/drivers/pinctrl/pinctrl-rockchip.c > > @@ -16,10 +16,12 @@ > > */ > > > > #include <linux/init.h> > > +#include <linux/module.h> > > #include <linux/platform_device.h> > > #include <linux/io.h> > > #include <linux/bitops.h> > > #include <linux/gpio/driver.h> > > +#include <linux/of_device.h> > > #include <linux/of_address.h> > > #include <linux/of_irq.h> > > #include <linux/pinctrl/machine.h> > > @@ -4256,3 +4258,8 @@ static int __init rockchip_pinctrl_drv_register(void) > > return platform_driver_register(&rockchip_pinctrl_driver); > > } > > postcore_initcall(rockchip_pinctrl_drv_register); > > + > > +MODULE_DESCRIPTION("ROCKCHIP Pin Controller Driver"); > > +MODULE_LICENSE("GPL"); > > +MODULE_ALIAS("platform:pinctrl-rockchip"); > > +MODULE_DEVICE_TABLE(of, rockchip_pinctrl_dt_match); > > > >