]> git.karo-electronics.de Git - linux-beck.git/commitdiff
greybus: gpio: Create separate module
authorViresh Kumar <viresh.kumar@linaro.org>
Mon, 9 May 2016 12:45:06 +0000 (18:15 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Sat, 14 May 2016 17:13:57 +0000 (19:13 +0200)
Create separate module for gpio gpbridge driver.

Tested on EVT 1.5 by inserting GP test module, all the devices were
enumerated correctly.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/Makefile
drivers/staging/greybus/gpbridge.c
drivers/staging/greybus/gpbridge.h
drivers/staging/greybus/gpio.c

index 43c0c9910de1b2ecfce6730497be9e903e39989e..e5c784db35b4bf2fd45a41cfbde6aa653b3dddfc 100644 (file)
@@ -18,7 +18,6 @@ gb-phy-y :=   gpbridge.o      \
                sdio.o  \
                uart.o  \
                pwm.o   \
-               gpio.o  \
                i2c.o   \
                spi.o   \
                usb.o
@@ -40,6 +39,7 @@ gb-audio-manager-y += audio_manager.o
 gb-audio-manager-y += audio_manager_module.o
 gb-camera-y := camera.o
 gb-firmware-y := fw-core.o fw-download.o
+gb-gpio-y := gpio.o
 
 obj-m += greybus.o
 obj-m += gb-phy.o
@@ -62,6 +62,7 @@ obj-m += gb-audio-gb.o
 obj-m += gb-audio-apbridgea.o
 obj-m += gb-audio-manager.o
 obj-m += gb-firmware.o
+obj-m += gb-gpio.o
 
 KERNELVER              ?= $(shell uname -r)
 KERNELDIR              ?= /lib/modules/$(KERNELVER)/build
index 4cb587fcf4bc968c2e17870f4b2046c41e0ea2c1..86226775c5a1000038cac9bc4a3e08e86ee735c1 100644 (file)
@@ -317,10 +317,6 @@ static int __init gpbridge_init(void)
                goto error_gpbridge;
        }
 
-       if (gb_gpio_driver_init()) {
-               pr_err("error initializing gpio driver\n");
-               goto error_gpio;
-       }
        if (gb_pwm_driver_init()) {
                pr_err("error initializing pwm driver\n");
                goto error_pwm;
@@ -359,8 +355,6 @@ error_sdio:
 error_uart:
        gb_pwm_driver_exit();
 error_pwm:
-       gb_gpio_driver_exit();
-error_gpio:
        greybus_deregister(&gb_gpbridge_driver);
 error_gpbridge:
        bus_unregister(&gpbridge_bus_type);
@@ -377,7 +371,6 @@ static void __exit gpbridge_exit(void)
        gb_sdio_driver_exit();
        gb_uart_driver_exit();
        gb_pwm_driver_exit();
-       gb_gpio_driver_exit();
 
        greybus_deregister(&gb_gpbridge_driver);
        bus_unregister(&gpbridge_bus_type);
index cd5ba9820cb057e0c417381bab0ce4c6e21d9a68..a346fa20ffd96d1076beb7a1880f715da3de3e8b 100644 (file)
@@ -66,9 +66,6 @@ void gb_##__driver##_exit(void)                               \
        gb_gpbridge_deregister(&__driver);                      \
 }
 
-extern int gb_gpio_driver_init(void);
-extern void gb_gpio_driver_exit(void);
-
 extern int gb_pwm_driver_init(void);
 extern void gb_pwm_driver_exit(void);
 
index 4f0695b2b20e4528ca148b9cedec675ce549e89d..adb213fd81b646d7fa0af06ea2d160a47c43b9e7 100644 (file)
@@ -747,6 +747,7 @@ static const struct gpbridge_device_id gb_gpio_id_table[] = {
        { GPBRIDGE_PROTOCOL(GREYBUS_PROTOCOL_GPIO) },
        { },
 };
+MODULE_DEVICE_TABLE(gpbridge, gb_gpio_id_table);
 
 static struct gpbridge_driver gpio_driver = {
        .name           = "gpio",
@@ -754,4 +755,6 @@ static struct gpbridge_driver gpio_driver = {
        .remove         = gb_gpio_remove,
        .id_table       = gb_gpio_id_table,
 };
-gb_gpbridge_builtin_driver(gpio_driver);
+
+module_gpbridge_driver(gpio_driver);
+MODULE_LICENSE("GPL v2");