From: Alex Elder Date: Tue, 9 Jun 2015 22:42:50 +0000 (-0500) Subject: greybus: tag core init and exit functions X-Git-Tag: v4.9-rc1~119^2~378^2~21^2~1482 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=47ed2c92406f94ac0f122ebf0e05fc63d3f0c02a;p=karo-tx-linux.git 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/greybus/ap.c b/drivers/staging/greybus/ap.c index 843ddc24f41c..07375cc96bfb 100644 --- a/drivers/staging/greybus/ap.c +++ b/drivers/staging/greybus/ap.c @@ -354,7 +354,7 @@ int greybus_svc_in(struct greybus_host_device *hd, u8 *data, int size) } 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); if (!ap_workqueue) diff --git a/drivers/staging/greybus/debugfs.c b/drivers/staging/greybus/debugfs.c index 59c570964b01..725565de5d43 100644 --- a/drivers/staging/greybus/debugfs.c +++ b/drivers/staging/greybus/debugfs.c @@ -15,7 +15,7 @@ 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); } diff --git a/drivers/staging/greybus/greybus.h b/drivers/staging/greybus/greybus.h index 05eab4c5f9a0..cf7c4419aad7 100644 --- a/drivers/staging/greybus/greybus.h +++ b/drivers/staging/greybus/greybus.h @@ -154,9 +154,9 @@ void greybus_deregister_driver(struct greybus_driver *driver); int greybus_disabled(void); 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_debugfs_init(void); +void gb_debugfs_init(void) __init; void gb_debugfs_cleanup(void); struct dentry *gb_debugfs_get(void); diff --git a/drivers/staging/greybus/operation.c b/drivers/staging/greybus/operation.c index 88b9f6a40c79..49bc628e621b 100644 --- a/drivers/staging/greybus/operation.c +++ b/drivers/staging/greybus/operation.c @@ -932,7 +932,7 @@ int gb_operation_sync(struct gb_connection *connection, int type, } 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", sizeof(struct gb_message), 0, 0, NULL); @@ -959,7 +959,7 @@ err_destroy_message_cache: return -ENOMEM; } -void gb_operation_exit(void) +void __exit gb_operation_exit(void) { destroy_workqueue(gb_operation_workqueue); gb_operation_workqueue = NULL; diff --git a/drivers/staging/greybus/operation.h b/drivers/staging/greybus/operation.h index 0199976c9b5f..fcd6566f4bc8 100644 --- a/drivers/staging/greybus/operation.h +++ b/drivers/staging/greybus/operation.h @@ -158,7 +158,7 @@ int gb_operation_sync(struct gb_connection *connection, int type, void *request, int request_size, void *response, int response_size); -int gb_operation_init(void); -void gb_operation_exit(void); +int gb_operation_init(void) __init; +void gb_operation_exit(void) __exit; #endif /* !__OPERATION_H */