diff mbox series

gpio: pl061: Support building as module

Message ID 20200409014110.27254-1-robh@kernel.org
State New
Headers show
Series gpio: pl061: Support building as module | expand

Commit Message

Rob Herring April 9, 2020, 1:41 a.m. UTC
Enable building the PL061 GPIO driver as a module.

This does change the initcall level when built-in. This shouldn't be a
problem as any user should support deferred probe by now. A scan of DT
based platforms at least didn't reveal any users that would be a
problem.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Cc: linux-gpio@vger.kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
---
 drivers/gpio/Kconfig      | 2 +-
 drivers/gpio/gpio-pl061.c | 9 ++++-----
 2 files changed, 5 insertions(+), 6 deletions(-)

Comments

Bartosz Golaszewski April 14, 2020, 2:24 p.m. UTC | #1
czw., 9 kwi 2020 o 03:41 Rob Herring <robh@kernel.org> napisaƂ(a):
>
> Enable building the PL061 GPIO driver as a module.
>
> This does change the initcall level when built-in. This shouldn't be a
> problem as any user should support deferred probe by now. A scan of DT
> based platforms at least didn't reveal any users that would be a
> problem.
>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> Cc: linux-gpio@vger.kernel.org
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  drivers/gpio/Kconfig      | 2 +-
>  drivers/gpio/gpio-pl061.c | 9 ++++-----
>  2 files changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
> index b8013cf90064..f1ef878f615b 100644
> --- a/drivers/gpio/Kconfig
> +++ b/drivers/gpio/Kconfig
> @@ -422,7 +422,7 @@ config GPIO_OMAP
>           Say yes here to enable GPIO support for TI OMAP SoCs.
>
>  config GPIO_PL061
> -       bool "PrimeCell PL061 GPIO support"
> +       tristate "PrimeCell PL061 GPIO support"
>         depends on ARM_AMBA
>         select IRQ_DOMAIN
>         select GPIOLIB_IRQCHIP
> diff --git a/drivers/gpio/gpio-pl061.c b/drivers/gpio/gpio-pl061.c
> index 5df7782e348f..cf0d5e9b6f2c 100644
> --- a/drivers/gpio/gpio-pl061.c
> +++ b/drivers/gpio/gpio-pl061.c
> @@ -16,6 +16,7 @@
>  #include <linux/interrupt.h>
>  #include <linux/irq.h>
>  #include <linux/irqchip/chained_irq.h>
> +#include <linux/module.h>
>  #include <linux/bitops.h>
>  #include <linux/gpio/driver.h>
>  #include <linux/device.h>
> @@ -413,6 +414,7 @@ static const struct amba_id pl061_ids[] = {
>         },
>         { 0, 0 },
>  };
> +MODULE_DEVICE_TABLE(amba, pl061_ids);
>
>  static struct amba_driver pl061_gpio_driver = {
>         .drv = {
> @@ -424,9 +426,6 @@ static struct amba_driver pl061_gpio_driver = {
>         .id_table       = pl061_ids,
>         .probe          = pl061_probe,
>  };
> +module_amba_driver(pl061_gpio_driver);
>
> -static int __init pl061_gpio_init(void)
> -{
> -       return amba_driver_register(&pl061_gpio_driver);
> -}
> -device_initcall(pl061_gpio_init);
> +MODULE_LICENSE("GPL v2");
> --
> 2.20.1
>

Patch applied, thanks!

Bart
diff mbox series

Patch

diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index b8013cf90064..f1ef878f615b 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -422,7 +422,7 @@  config GPIO_OMAP
 	  Say yes here to enable GPIO support for TI OMAP SoCs.
 
 config GPIO_PL061
-	bool "PrimeCell PL061 GPIO support"
+	tristate "PrimeCell PL061 GPIO support"
 	depends on ARM_AMBA
 	select IRQ_DOMAIN
 	select GPIOLIB_IRQCHIP
diff --git a/drivers/gpio/gpio-pl061.c b/drivers/gpio/gpio-pl061.c
index 5df7782e348f..cf0d5e9b6f2c 100644
--- a/drivers/gpio/gpio-pl061.c
+++ b/drivers/gpio/gpio-pl061.c
@@ -16,6 +16,7 @@ 
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/irqchip/chained_irq.h>
+#include <linux/module.h>
 #include <linux/bitops.h>
 #include <linux/gpio/driver.h>
 #include <linux/device.h>
@@ -413,6 +414,7 @@  static const struct amba_id pl061_ids[] = {
 	},
 	{ 0, 0 },
 };
+MODULE_DEVICE_TABLE(amba, pl061_ids);
 
 static struct amba_driver pl061_gpio_driver = {
 	.drv = {
@@ -424,9 +426,6 @@  static struct amba_driver pl061_gpio_driver = {
 	.id_table	= pl061_ids,
 	.probe		= pl061_probe,
 };
+module_amba_driver(pl061_gpio_driver);
 
-static int __init pl061_gpio_init(void)
-{
-	return amba_driver_register(&pl061_gpio_driver);
-}
-device_initcall(pl061_gpio_init);
+MODULE_LICENSE("GPL v2");