1
0
Fork 0

greybus: i2c-gb: move i2c protocol into the gpbridge driver

The i2c protocol belongs in the gpbridge driver, so move it
there.

Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
Reviewed-by: Alex Elder <elder@linaro.org>
hifive-unleashed-5.1
Greg Kroah-Hartman 2014-12-24 13:01:44 -08:00
parent e1308c1fb6
commit 2c07817e72
4 changed files with 19 additions and 3 deletions

View File

@ -14,11 +14,11 @@ gpbridge-y := gpb.o \
uart-gb.o \
pwm-gb.o \
gpio-gb.o \
i2c-gb.o \
usb-gb.o
obj-m += greybus.o
obj-m += gpbridge.o
obj-m += i2c-gb.o
obj-m += vibrator-gb.o
obj-m += battery-gb.o
obj-m += es1-ap-usb.o

View File

@ -41,8 +41,14 @@ static int __init gpbridge_init(void)
pr_err("error initializing usb protocol\n");
goto error_usb;
}
if (gb_i2c_protocol_init()) {
pr_err("error initializing usb protocol\n");
goto error_i2c;
}
return 0;
error_i2c:
gb_usb_protocol_exit();
error_usb:
gb_sdio_protocol_exit();
error_sdio:
@ -57,6 +63,7 @@ error_gpio:
static void __exit gpbridge_exit(void)
{
gb_i2c_protocol_exit();
gb_usb_protocol_exit();
gb_sdio_protocol_exit();
gb_uart_protocol_exit();

View File

@ -438,6 +438,12 @@ static struct gb_protocol i2c_protocol = {
.request_recv = NULL, /* no incoming requests */
};
gb_protocol_driver(&i2c_protocol);
int gb_i2c_protocol_init(void)
{
return gb_protocol_register(&i2c_protocol);
}
MODULE_LICENSE("GPL v2");
void gb_i2c_protocol_exit(void)
{
gb_protocol_deregister(&i2c_protocol);
}

View File

@ -66,6 +66,9 @@ extern void gb_sdio_protocol_exit(void);
extern int gb_usb_protocol_init(void);
extern void gb_usb_protocol_exit(void);
extern int gb_i2c_protocol_init(void);
extern void gb_i2c_protocol_exit(void);
#define gb_protocol_driver(__protocol) \
static int __init protocol_init(void) \
{ \