Commit 66b676fd authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

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: default avatarGreg Kroah-Hartman <greg@kroah.com>
Reviewed-by: default avatarAlex Elder <elder@linaro.org>
parent 12a5dfc9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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)
+0 −5
Original line number Diff line number Diff line
@@ -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();
+0 −3
Original line number Diff line number Diff line
@@ -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);

+7 −2
Original line number Diff line number Diff line
@@ -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");