浏览代码

gpio: mb86s7x: share with other SoCs as module

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>
Ard Biesheuvel 7 年之前
父节点
当前提交
e1289dba18
共有 2 个文件被更改,包括 7 次插入3 次删除
  1. 1 2
      drivers/gpio/Kconfig
  2. 6 1
      drivers/gpio/gpio-mb86s7x.c

+ 1 - 2
drivers/gpio/Kconfig

@@ -286,8 +286,7 @@ config GPIO_LYNXPOINT
 	  Requires ACPI device enumeration code to set up a platform device.
 	  Requires ACPI device enumeration code to set up a platform device.
 
 
 config GPIO_MB86S7X
 config GPIO_MB86S7X
-	bool "GPIO support for Fujitsu MB86S7x Platforms"
-	depends on ARCH_MB86S7X || COMPILE_TEST
+	tristate "GPIO support for Fujitsu MB86S7x Platforms"
 	help
 	help
 	  Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
 	  Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
 
 

+ 6 - 1
drivers/gpio/gpio-mb86s7x.c

@@ -17,6 +17,7 @@
 #include <linux/io.h>
 #include <linux/io.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/clk.h>
 #include <linux/clk.h>
+#include <linux/module.h>
 #include <linux/err.h>
 #include <linux/err.h>
 #include <linux/errno.h>
 #include <linux/errno.h>
 #include <linux/ioport.h>
 #include <linux/ioport.h>
@@ -209,6 +210,7 @@ static const struct of_device_id mb86s70_gpio_dt_ids[] = {
 	{ .compatible = "fujitsu,mb86s70-gpio" },
 	{ .compatible = "fujitsu,mb86s70-gpio" },
 	{ /* sentinel */ }
 	{ /* sentinel */ }
 };
 };
+MODULE_DEVICE_TABLE(of, mb86s70_gpio_dt_ids);
 
 
 static struct platform_driver mb86s70_gpio_driver = {
 static struct platform_driver mb86s70_gpio_driver = {
 	.driver = {
 	.driver = {
@@ -218,5 +220,8 @@ static struct platform_driver mb86s70_gpio_driver = {
 	.probe = mb86s70_gpio_probe,
 	.probe = mb86s70_gpio_probe,
 	.remove = mb86s70_gpio_remove,
 	.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");