greybus: i2c : Create separate module

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>
This commit is contained in:
Viresh Kumar 2016-05-09 18:15:07 +05:30 коммит произвёл Greg Kroah-Hartman
Родитель 7c0925eb57
Коммит d6046b44a5
4 изменённых файлов: 6 добавлений и 12 удалений

Просмотреть файл

@ -18,7 +18,6 @@ gb-phy-y := gpbridge.o \
sdio.o \ sdio.o \
uart.o \ uart.o \
pwm.o \ pwm.o \
i2c.o \
spi.o \ spi.o \
usb.o usb.o
@ -40,6 +39,7 @@ gb-audio-manager-y += audio_manager_module.o
gb-camera-y := camera.o gb-camera-y := camera.o
gb-firmware-y := fw-core.o fw-download.o gb-firmware-y := fw-core.o fw-download.o
gb-gpio-y := gpio.o gb-gpio-y := gpio.o
gb-i2c-y := i2c.o
obj-m += greybus.o obj-m += greybus.o
obj-m += gb-phy.o obj-m += gb-phy.o
@ -63,6 +63,7 @@ obj-m += gb-audio-apbridgea.o
obj-m += gb-audio-manager.o obj-m += gb-audio-manager.o
obj-m += gb-firmware.o obj-m += gb-firmware.o
obj-m += gb-gpio.o obj-m += gb-gpio.o
obj-m += gb-i2c.o
KERNELVER ?= $(shell uname -r) KERNELVER ?= $(shell uname -r)
KERNELDIR ?= /lib/modules/$(KERNELVER)/build KERNELDIR ?= /lib/modules/$(KERNELVER)/build

Просмотреть файл

@ -333,10 +333,6 @@ static int __init gpbridge_init(void)
pr_err("error initializing usb driver\n"); pr_err("error initializing usb driver\n");
goto error_usb; goto error_usb;
} }
if (gb_i2c_driver_init()) {
pr_err("error initializing i2c driver\n");
goto error_i2c;
}
if (gb_spi_driver_init()) { if (gb_spi_driver_init()) {
pr_err("error initializing spi driver\n"); pr_err("error initializing spi driver\n");
goto error_spi; goto error_spi;
@ -345,8 +341,6 @@ static int __init gpbridge_init(void)
return 0; return 0;
error_spi: error_spi:
gb_i2c_driver_exit();
error_i2c:
gb_usb_driver_exit(); gb_usb_driver_exit();
error_usb: error_usb:
gb_sdio_driver_exit(); gb_sdio_driver_exit();
@ -366,7 +360,6 @@ module_init(gpbridge_init);
static void __exit gpbridge_exit(void) static void __exit gpbridge_exit(void)
{ {
gb_spi_driver_exit(); gb_spi_driver_exit();
gb_i2c_driver_exit();
gb_usb_driver_exit(); gb_usb_driver_exit();
gb_sdio_driver_exit(); gb_sdio_driver_exit();
gb_uart_driver_exit(); gb_uart_driver_exit();

Просмотреть файл

@ -78,9 +78,6 @@ extern void gb_sdio_driver_exit(void);
extern int gb_usb_driver_init(void); extern int gb_usb_driver_init(void);
extern void gb_usb_driver_exit(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 int gb_spi_driver_init(void);
extern void gb_spi_driver_exit(void); extern void gb_spi_driver_exit(void);

Просмотреть файл

@ -321,6 +321,7 @@ static const struct gpbridge_device_id gb_i2c_id_table[] = {
{ GPBRIDGE_PROTOCOL(GREYBUS_PROTOCOL_I2C) }, { GPBRIDGE_PROTOCOL(GREYBUS_PROTOCOL_I2C) },
{ }, { },
}; };
MODULE_DEVICE_TABLE(gpbridge, gb_i2c_id_table);
static struct gpbridge_driver i2c_driver = { static struct gpbridge_driver i2c_driver = {
.name = "i2c", .name = "i2c",
@ -328,4 +329,6 @@ static struct gpbridge_driver i2c_driver = {
.remove = gb_i2c_remove, .remove = gb_i2c_remove,
.id_table = gb_i2c_id_table, .id_table = gb_i2c_id_table,
}; };
gb_gpbridge_builtin_driver(i2c_driver);
module_gpbridge_driver(i2c_driver);
MODULE_LICENSE("GPL v2");