gpio: mb86s7x: share with other SoCs as module
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 27 Oct 2017 20:21:47 +0000 (21:21 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 31 Oct 2017 12:11:38 +0000 (13:11 +0100)
In order to reuse this driver for the Socionext Synquacer SC2A11 SoC,
which inherited this IP from Fujitsu, remove the ARCH_MB86S7X Kconfig
dependency, and revert the changes that prevent it from being built as
a module.

This reverts commits d65aa4b67b4f47f303bdeaef1e4d42ef18e6b293 and
d5610e514e92144d19bd5e39e5cf3804bbf85f3e.

Cc: Geliang Tang <geliangtang@gmail.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
[Folded in module_platform_driver() fixup]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/Kconfig
drivers/gpio/gpio-mb86s7x.c

index f002edda555bf67441c0cfcbfccecd0a70a01b49..9feb8e1ff2ffd1bbc6aa86cd53252920c7988e88 100644 (file)
@@ -286,8 +286,7 @@ config GPIO_LYNXPOINT
          Requires ACPI device enumeration code to set up a platform device.
 
 config GPIO_MB86S7X
-       bool "GPIO support for Fujitsu MB86S7x Platforms"
-       depends on ARCH_MB86S7X || COMPILE_TEST
+       tristate "GPIO support for Fujitsu MB86S7x Platforms"
        help
          Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
 
index 94d772677ed69c0f4d27c98c105525b6a0f0aba1..b140806bded3fed47fff52bc99979abf7a7bbebc 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/io.h>
 #include <linux/init.h>
 #include <linux/clk.h>
+#include <linux/module.h>
 #include <linux/err.h>
 #include <linux/errno.h>
 #include <linux/ioport.h>
@@ -209,6 +210,7 @@ static const struct of_device_id mb86s70_gpio_dt_ids[] = {
        { .compatible = "fujitsu,mb86s70-gpio" },
        { /* sentinel */ }
 };
+MODULE_DEVICE_TABLE(of, mb86s70_gpio_dt_ids);
 
 static struct platform_driver mb86s70_gpio_driver = {
        .driver = {
@@ -218,5 +220,8 @@ static struct platform_driver mb86s70_gpio_driver = {
        .probe = mb86s70_gpio_probe,
        .remove = mb86s70_gpio_remove,
 };
+module_platform_driver(mb86s70_gpio_driver);
 
-builtin_platform_driver(mb86s70_gpio_driver);
+MODULE_DESCRIPTION("MB86S7x GPIO Driver");
+MODULE_ALIAS("platform:mb86s70-gpio");
+MODULE_LICENSE("GPL");