From c9e9de26f912bc0e5bca6a5168e7d5d427d2b2ee Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 4 Nov 2015 20:46:14 -0800 Subject: [PATCH] greybus: hid: hid should not be part of the bridged-phy driver. HID is a stand-alone greybus protocol, not part of the bridged-phy protocols, so make it a stand-alone kernel module. Note, some hard-coded android init script might need to be changed to load the gb-hid.ko kernel module now. Signed-off-by: Greg Kroah-Hartman Reviewed-by: Viresh Kumar --- drivers/staging/greybus/Makefile | 3 ++- drivers/staging/greybus/gpbridge.c | 7 ------- drivers/staging/greybus/hid.c | 4 +++- drivers/staging/greybus/protocol.h | 3 --- 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/drivers/staging/greybus/Makefile b/drivers/staging/greybus/Makefile index cf4cf21..8b28b4b 100644 --- a/drivers/staging/greybus/Makefile +++ b/drivers/staging/greybus/Makefile @@ -18,7 +18,6 @@ gb-phy-y := gpbridge.o \ uart.o \ pwm.o \ gpio.o \ - hid.o \ i2c.o \ spi.o \ usb.o @@ -29,6 +28,7 @@ gb-battery-y := battery.o gb-loopback-y := loopback.o gb-light-y := light.o gb-raw-y := raw.o +gb-hid-y := hid.o gb-es1-y := es1.o gb-es2-y := es2.o gb-db3-y := db3-platform.o @@ -39,6 +39,7 @@ obj-m += gb-vibrator.o obj-m += gb-battery.o obj-m += gb-loopback.o obj-m += gb-light.o +obj-m += gb-hid.o obj-m += gb-raw.o obj-m += gb-es1.o obj-m += gb-es2.o diff --git a/drivers/staging/greybus/gpbridge.c b/drivers/staging/greybus/gpbridge.c index 404684a..29f0984 100644 --- a/drivers/staging/greybus/gpbridge.c +++ b/drivers/staging/greybus/gpbridge.c @@ -49,15 +49,9 @@ static int __init gpbridge_init(void) pr_err("error initializing spi protocol\n"); goto error_spi; } - if (gb_hid_protocol_init()) { - pr_err("error initializing hid protocol\n"); - goto error_hid; - } return 0; -error_hid: - gb_spi_protocol_exit(); error_spi: gb_i2c_protocol_exit(); error_i2c: @@ -77,7 +71,6 @@ module_init(gpbridge_init); static void __exit gpbridge_exit(void) { - gb_hid_protocol_exit(); gb_spi_protocol_exit(); gb_i2c_protocol_exit(); gb_usb_protocol_exit(); diff --git a/drivers/staging/greybus/hid.c b/drivers/staging/greybus/hid.c index 3ac9c10..2adcb1c 100644 --- a/drivers/staging/greybus/hid.c +++ b/drivers/staging/greybus/hid.c @@ -474,4 +474,6 @@ static struct gb_protocol hid_protocol = { .request_recv = gb_hid_irq_handler, }; -gb_builtin_protocol_driver(hid_protocol); +gb_protocol_driver(&hid_protocol); + +MODULE_LICENSE("GPL v2"); diff --git a/drivers/staging/greybus/protocol.h b/drivers/staging/greybus/protocol.h index ad9f543..b1d122c 100644 --- a/drivers/staging/greybus/protocol.h +++ b/drivers/staging/greybus/protocol.h @@ -82,9 +82,6 @@ extern void gb_i2c_protocol_exit(void); extern int gb_spi_protocol_init(void); extern void gb_spi_protocol_exit(void); -extern int gb_hid_protocol_init(void); -extern void gb_hid_protocol_exit(void); - /* __protocol: Pointer to struct gb_protocol */ #define gb_protocol_driver(__protocol) \ static int __init protocol_init(void) \ -- 2.7.4