Commit f35ab903 authored by Alex Elder's avatar Alex Elder Committed by Greg Kroah-Hartman
Browse files

greybus: endo: define endo_init() and endo_exit()



Define init and exit functions to do one-time setup and teardown
of endo-related functionality.  Currently they're place holders;
the next patch will populate them.

Note that we now call gb_operation_exit() from gb_init(), so
we can no longer mark that function with __exit.

Signed-off-by: default avatarAlex Elder <elder@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 47ed2c92
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -252,7 +252,7 @@ static int __init gb_init(void)

	retval = bus_register(&greybus_bus_type);
	if (retval) {
		pr_err("bus_register failed\n");
		pr_err("bus_register failed (%d)\n", retval);
		goto error_bus;
	}

@@ -260,18 +260,26 @@ static int __init gb_init(void)

	retval = gb_ap_init();
	if (retval) {
		pr_err("gb_ap_init failed\n");
		pr_err("gb_ap_init failed (%d)\n", retval);
		goto error_ap;
	}

	retval = gb_operation_init();
	if (retval) {
		pr_err("gb_operation_init failed\n");
		pr_err("gb_operation_init failed (%d)\n", retval);
		goto error_operation;
	}

	retval = gb_endo_init();
	if (retval) {
		pr_err("gb_endo_init failed (%d)\n", retval);
		goto error_endo;
	}

	return 0;	/* Success */

error_endo:
	gb_operation_exit();
error_operation:
	gb_ap_exit();
error_ap:
@@ -285,12 +293,12 @@ module_init(gb_init);

static void __exit gb_exit(void)
{
	gb_endo_exit();
	gb_operation_exit();
	gb_ap_exit();
	bus_unregister(&greybus_bus_type);
	gb_debugfs_cleanup();
}
module_exit(gb_exit);

MODULE_LICENSE("GPL v2");
MODULE_AUTHOR("Greg Kroah-Hartman <gregkh@linuxfoundation.org>");
+8 −0
Original line number Diff line number Diff line
@@ -551,3 +551,11 @@ void gb_endo_remove(struct gb_endo *endo)
	device_unregister(&endo->dev);
}

int __init gb_endo_init(void)
{
	return 0;
}

void __exit gb_endo_exit(void)
{
}
+3 −0
Original line number Diff line number Diff line
@@ -51,6 +51,9 @@ extern struct ida greybus_endo_id_map;
/* Greybus "private" definitions */
struct greybus_host_device;

int gb_endo_init(void) __init;
void gb_endo_exit(void) __exit;

struct gb_endo *gb_endo_create(struct greybus_host_device *hd,
				u16 endo_id, u8 ap_intf_id);
void gb_endo_remove(struct gb_endo *endo);
+1 −1
Original line number Diff line number Diff line
@@ -959,7 +959,7 @@ int __init gb_operation_init(void)
	return -ENOMEM;
}

void __exit gb_operation_exit(void)
void gb_operation_exit(void)
{
	destroy_workqueue(gb_operation_workqueue);
	gb_operation_workqueue = NULL;
+1 −1
Original line number Diff line number Diff line
@@ -159,6 +159,6 @@ int gb_operation_sync(struct gb_connection *connection, int type,
		      void *response, int response_size);

int gb_operation_init(void) __init;
void gb_operation_exit(void) __exit;
void gb_operation_exit(void);

#endif /* !__OPERATION_H */