samples: mark {static|__init|__exit} for {init|exit} functions
None of these (init|exit) functions is called from other functions which is outside the kernel module mechanism or kernel itself, so mark them as {static|__init|__exit}. Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com> Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
此提交包含在:
@@ -101,7 +101,7 @@ static struct attribute_group attr_group = {
|
||||
|
||||
static struct kobject *example_kobj;
|
||||
|
||||
static int example_init(void)
|
||||
static int __init example_init(void)
|
||||
{
|
||||
int retval;
|
||||
|
||||
@@ -126,7 +126,7 @@ static int example_init(void)
|
||||
return retval;
|
||||
}
|
||||
|
||||
static void example_exit(void)
|
||||
static void __exit example_exit(void)
|
||||
{
|
||||
kobject_put(example_kobj);
|
||||
}
|
||||
|
@@ -229,7 +229,7 @@ static void destroy_foo_obj(struct foo_obj *foo)
|
||||
kobject_put(&foo->kobj);
|
||||
}
|
||||
|
||||
static int example_init(void)
|
||||
static int __init example_init(void)
|
||||
{
|
||||
/*
|
||||
* Create a kset with the name of "kset_example",
|
||||
@@ -264,7 +264,7 @@ foo_error:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static void example_exit(void)
|
||||
static void __exit example_exit(void)
|
||||
{
|
||||
destroy_foo_obj(baz_obj);
|
||||
destroy_foo_obj(bar_obj);
|
||||
|
新增問題並參考
封鎖使用者