greybus: vibrator-gb: move vibrator protocol to a stand-alone module.
We can't use the gb_protocol_driver() macro here as we need to do some init and exit logic when loading and removing, so "open code" the module init and exit functions. Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> Reviewed-by: Alex Elder <elder@linaro.org>
This commit is contained in:
parent
12a5dfc9ac
commit
66b676fd88
@ -13,11 +13,11 @@ greybus-y := core.o \
|
||||
sdio-gb.o \
|
||||
uart-gb.o \
|
||||
battery-gb.o \
|
||||
vibrator-gb.o \
|
||||
usb-gb.o
|
||||
|
||||
obj-m += greybus.o
|
||||
obj-m += i2c-gb.o
|
||||
obj-m += vibrator-gb.o
|
||||
obj-m += es1-ap-usb.o
|
||||
|
||||
KERNELVER ?= $(shell uname -r)
|
||||
|
@ -203,10 +203,6 @@ bool gb_protocol_init(void)
|
||||
pr_err("error initializing sdio protocol\n");
|
||||
ret = false;
|
||||
}
|
||||
if (gb_vibrator_protocol_init()) {
|
||||
pr_err("error initializing vibrator protocol\n");
|
||||
ret = false;
|
||||
}
|
||||
if (gb_usb_protocol_init()) {
|
||||
pr_err("error initializing usb protocol\n");
|
||||
ret = false;
|
||||
@ -217,7 +213,6 @@ bool gb_protocol_init(void)
|
||||
void gb_protocol_exit(void)
|
||||
{
|
||||
gb_usb_protocol_exit();
|
||||
gb_vibrator_protocol_exit();
|
||||
gb_sdio_protocol_exit();
|
||||
gb_uart_protocol_exit();
|
||||
gb_gpio_protocol_exit();
|
||||
|
@ -66,9 +66,6 @@ extern void gb_uart_protocol_exit(void);
|
||||
extern int gb_sdio_protocol_init(void);
|
||||
extern void gb_sdio_protocol_exit(void);
|
||||
|
||||
extern int gb_vibrator_protocol_init(void);
|
||||
extern void gb_vibrator_protocol_exit(void);
|
||||
|
||||
extern int gb_usb_protocol_init(void);
|
||||
extern void gb_usb_protocol_exit(void);
|
||||
|
||||
|
@ -205,7 +205,7 @@ static struct gb_protocol vibrator_protocol = {
|
||||
.request_recv = NULL, /* no incoming requests */
|
||||
};
|
||||
|
||||
int gb_vibrator_protocol_init(void)
|
||||
static __init int protocol_init(void)
|
||||
{
|
||||
int retval;
|
||||
|
||||
@ -216,8 +216,13 @@ int gb_vibrator_protocol_init(void)
|
||||
return gb_protocol_register(&vibrator_protocol);
|
||||
}
|
||||
|
||||
void gb_vibrator_protocol_exit(void)
|
||||
static __exit void protocol_exit(void)
|
||||
{
|
||||
gb_protocol_deregister(&vibrator_protocol);
|
||||
class_unregister(&vibrator_class);
|
||||
}
|
||||
|
||||
module_init(protocol_init);
|
||||
module_exit(protocol_exit);
|
||||
|
||||
MODULE_LICENSE("GPL v2");
|
||||
|
Loading…
x
Reference in New Issue
Block a user