]> git.baikalelectronics.ru Git - kernel.git/commit
parisc64: don't use module_init for non-modular core perf code
authorPaul Gortmaker <paul.gortmaker@windriver.com>
Sat, 2 May 2015 00:05:50 +0000 (20:05 -0400)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Tue, 16 Jun 2015 18:12:30 +0000 (14:12 -0400)
commit6db32ad9d56dd2c856bb8ea65444dbab8769d4c7
tree0db0d3d0b3cdfdf07cf33010bc91bc3fafe2f446
parent0e5598b05675afe79e3ef46f466f4e0289128315
parisc64: don't use module_init for non-modular core perf code

The perf.c code depends on CONFIG_64BIT, so it is either built-in
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.  Aside from it not making sense, it also
causes a ~10% increase in CPP overhead due to module.h having a
large list of headers itself -- for example compare line counts:

 device_initcall() and <linux/init.h>
20238 arch/parisc/kernel/perf.i

 module_init() and <linux/module.h>
22194 arch/parisc/kernel/perf.i

Direct use of __initcall is discouraged, vs prioritized ones.
Use of device_initcall is consistent with what __initcall
maps onto, and hence does not change the init order, making the
impact of this change zero.   Should someone with real hardware
for boot testing want to change it later to arch_initcall or
something different, they can do that at a later date.

Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
Cc: Helge Deller <deller@gmx.de>
Cc: linux-parisc@vger.kernel.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
arch/parisc/kernel/perf.c