greybus: tag core init and exit functions

The top-level functions gb_init() and gb_exit() are tagged with
__init and __exit, respectively.  These functions call a few
other functions that are similarly used only at initialization
and termination time.  So mark those functions accordingly.

Note that, because gb_ap_exit() and gb_debugfs_cleanup()
are called by gb_init() in error paths, these functions
cannot be declared with the __exit attribute.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Alex Elder 2015-06-09 17:42:50 -05:00 committed by Greg Kroah-Hartman
parent 190241a362
commit 47ed2c9240
5 changed files with 8 additions and 8 deletions

View File

@ -354,7 +354,7 @@ int greybus_svc_in(struct greybus_host_device *hd, u8 *data, int size)
} }
EXPORT_SYMBOL_GPL(greybus_svc_in); EXPORT_SYMBOL_GPL(greybus_svc_in);
int gb_ap_init(void) int __init gb_ap_init(void)
{ {
ap_workqueue = alloc_ordered_workqueue("greybus_ap", 0); ap_workqueue = alloc_ordered_workqueue("greybus_ap", 0);
if (!ap_workqueue) if (!ap_workqueue)

View File

@ -15,7 +15,7 @@
static struct dentry *gb_debug_root; static struct dentry *gb_debug_root;
void gb_debugfs_init(void) void __init gb_debugfs_init(void)
{ {
gb_debug_root = debugfs_create_dir("greybus", NULL); gb_debug_root = debugfs_create_dir("greybus", NULL);
} }

View File

@ -154,9 +154,9 @@ void greybus_deregister_driver(struct greybus_driver *driver);
int greybus_disabled(void); int greybus_disabled(void);
int greybus_svc_in(struct greybus_host_device *hd, u8 *data, int length); int greybus_svc_in(struct greybus_host_device *hd, u8 *data, int length);
int gb_ap_init(void); int gb_ap_init(void) __init;
void gb_ap_exit(void); void gb_ap_exit(void);
void gb_debugfs_init(void); void gb_debugfs_init(void) __init;
void gb_debugfs_cleanup(void); void gb_debugfs_cleanup(void);
struct dentry *gb_debugfs_get(void); struct dentry *gb_debugfs_get(void);

View File

@ -932,7 +932,7 @@ int gb_operation_sync(struct gb_connection *connection, int type,
} }
EXPORT_SYMBOL_GPL(gb_operation_sync); EXPORT_SYMBOL_GPL(gb_operation_sync);
int gb_operation_init(void) int __init gb_operation_init(void)
{ {
gb_message_cache = kmem_cache_create("gb_message_cache", gb_message_cache = kmem_cache_create("gb_message_cache",
sizeof(struct gb_message), 0, 0, NULL); sizeof(struct gb_message), 0, 0, NULL);
@ -959,7 +959,7 @@ int gb_operation_init(void)
return -ENOMEM; return -ENOMEM;
} }
void gb_operation_exit(void) void __exit gb_operation_exit(void)
{ {
destroy_workqueue(gb_operation_workqueue); destroy_workqueue(gb_operation_workqueue);
gb_operation_workqueue = NULL; gb_operation_workqueue = NULL;

View File

@ -158,7 +158,7 @@ int gb_operation_sync(struct gb_connection *connection, int type,
void *request, int request_size, void *request, int request_size,
void *response, int response_size); void *response, int response_size);
int gb_operation_init(void); int gb_operation_init(void) __init;
void gb_operation_exit(void); void gb_operation_exit(void) __exit;
#endif /* !__OPERATION_H */ #endif /* !__OPERATION_H */