gpio: pl061: Support building as module
PATCH 1/1 gpio: pl061: Support building as module
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 <[email protected]>
Cc Bartosz Golaszewski <[email protected]>
Signed-off-by Rob Herring <[email protected]>
--- drivers/gpio/Kconfig | 2 +- drivers/gpio/gpio-pl061.c | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-)
drivers/gpio/Kconfig +1 -1
@@ -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
drivers/gpio/gpio-pl061.c +4 -5
@@ -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" );
Signature · 1 line
2.20.1
czw., 9 kwi 2020 o 03:41 Rob Herring <[email protected]> napisał(a):
Quoted 63 lines
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 <[email protected]>Cc Bartosz Golaszewski <[email protected]>Signed-off-by Rob Herring <[email protected]>--- drivers/gpio/Kconfig | 2 +- drivers/gpio/gpio-pl061.c | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-)drivers/gpio/Kconfig +1
-1@@ -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_IRQCHIPdrivers/gpio/gpio-pl061.c +4
-6@@ -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" ); --
Quoted 2 lines
2.20.1
Patch applied, thanks!
Bart