Create separate module for i2c 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>
sdio.o \
uart.o \
pwm.o \
- i2c.o \
spi.o \
usb.o
gb-camera-y := camera.o
gb-firmware-y := fw-core.o fw-download.o
gb-gpio-y := gpio.o
+gb-i2c-y := i2c.o
obj-m += greybus.o
obj-m += gb-phy.o
obj-m += gb-audio-manager.o
obj-m += gb-firmware.o
obj-m += gb-gpio.o
+obj-m += gb-i2c.o
KERNELVER ?= $(shell uname -r)
KERNELDIR ?= /lib/modules/$(KERNELVER)/build
pr_err("error initializing usb driver\n");
goto error_usb;
}
- if (gb_i2c_driver_init()) {
- pr_err("error initializing i2c driver\n");
- goto error_i2c;
- }
if (gb_spi_driver_init()) {
pr_err("error initializing spi driver\n");
goto error_spi;
return 0;
error_spi:
- gb_i2c_driver_exit();
-error_i2c:
gb_usb_driver_exit();
error_usb:
gb_sdio_driver_exit();
static void __exit gpbridge_exit(void)
{
gb_spi_driver_exit();
- gb_i2c_driver_exit();
gb_usb_driver_exit();
gb_sdio_driver_exit();
gb_uart_driver_exit();
extern int gb_usb_driver_init(void);
extern void gb_usb_driver_exit(void);
-extern int gb_i2c_driver_init(void);
-extern void gb_i2c_driver_exit(void);
-
extern int gb_spi_driver_init(void);
extern void gb_spi_driver_exit(void);
{ GPBRIDGE_PROTOCOL(GREYBUS_PROTOCOL_I2C) },
{ },
};
+MODULE_DEVICE_TABLE(gpbridge, gb_i2c_id_table);
static struct gpbridge_driver i2c_driver = {
.name = "i2c",
.remove = gb_i2c_remove,
.id_table = gb_i2c_id_table,
};
-gb_gpbridge_builtin_driver(i2c_driver);
+
+module_gpbridge_driver(i2c_driver);
+MODULE_LICENSE("GPL v2");