pinctrl: rockchip: make driver be tristate module
authorJianqun Xu <jay.xu@rock-chips.com>
Fri, 5 Mar 2021 00:39:07 +0000 (08:39 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 15 Mar 2021 15:36:44 +0000 (16:36 +0100)
Make pinctrl-rockchip driver to be tristate module, support to build as
a module, this is useful for GKI.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Link: https://lore.kernel.org/r/20210305003907.1692515-3-jay.xu@rock-chips.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/Kconfig
drivers/pinctrl/pinctrl-rockchip.c

index 439a028..ef0ae9b 100644 (file)
@@ -208,7 +208,7 @@ config PINCTRL_OXNAS
        select MFD_SYSCON
 
 config PINCTRL_ROCKCHIP
-       bool
+       tristate "Rockchip gpio and pinctrl driver"
        depends on OF
        select GPIOLIB
        select PINMUX
index ec4cb88..65aa874 100644 (file)
  */
 
 #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>
@@ -4257,3 +4259,14 @@ static int __init rockchip_pinctrl_drv_register(void)
        return platform_driver_register(&rockchip_pinctrl_driver);
 }
 postcore_initcall(rockchip_pinctrl_drv_register);
+
+static void __exit rockchip_pinctrl_drv_unregister(void)
+{
+       platform_driver_unregister(&rockchip_pinctrl_driver);
+}
+module_exit(rockchip_pinctrl_drv_unregister);
+
+MODULE_DESCRIPTION("ROCKCHIP Pin Controller Driver");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:pinctrl-rockchip");
+MODULE_DEVICE_TABLE(of, rockchip_pinctrl_dt_match);