mirror of https://gitee.com/openkylin/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 <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
190241a362
commit
47ed2c9240
|
@ -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)
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
Loading…
Reference in New Issue