Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

staging: don't use module_init in non-modular ion_dummy_driver.c

The ION_DUMMY option is bool, and hence this code is either
present or absent. It will never be modular, so using
module_init as an alias for __initcall is rather misleading.

Fix this up now, so that we can relocate module_init from
init.h into module.h in the future. If we don't do this, we'd
have to add module.h to obviously non-modular code, and that
would be a worse thing.

Note that direct use of __initcall is discouraged, vs. one
of the priority categorized subgroups. As __initcall gets
mapped onto device_initcall, our use of device_initcall
directly in this change means that the runtime impact is
zero -- it will remain at level 6 in initcall ordering.

Cc: Colin Cross <ccross@android.com>
Cc: Jesse Barker <jesse.barker@arm.com>
Cc: Android Kernel Team <kernel-team@android.com>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Paul Gortmaker and committed by
Greg Kroah-Hartman
102f1a2a 18691f53

+3 -4
+3 -4
drivers/staging/android/ion/ion_dummy_driver.c
··· 17 17 #include <linux/err.h> 18 18 #include <linux/platform_device.h> 19 19 #include <linux/slab.h> 20 + #include <linux/init.h> 20 21 #include <linux/bootmem.h> 21 22 #include <linux/memblock.h> 22 23 #include <linux/sizes.h> ··· 130 129 } 131 130 return err; 132 131 } 132 + device_initcall(ion_dummy_init); 133 133 134 134 static void __exit ion_dummy_exit(void) 135 135 { ··· 155 153 156 154 return; 157 155 } 158 - 159 - module_init(ion_dummy_init); 160 - module_exit(ion_dummy_exit); 161 - 156 + __exitcall(ion_dummy_exit);