summaryrefslogtreecommitdiff
path: root/arch/parisc
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2015-05-01 20:05:50 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2015-06-16 14:12:30 -0400
commit15becabd89fa3fec6aa864fbd1b50b5b1871eee2 (patch)
tree0db0d3d0b3cdfdf07cf33010bc91bc3fafe2f446 /arch/parisc
parentaed6850a1390c2b208b91b2fae0199fc14b94a26 (diff)
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>
Diffstat (limited to 'arch/parisc')
-rw-r--r--arch/parisc/kernel/perf.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/parisc/kernel/perf.c b/arch/parisc/kernel/perf.c
index ba0c053e25ae..518f4f5f1f43 100644
--- a/arch/parisc/kernel/perf.c
+++ b/arch/parisc/kernel/perf.c
@@ -543,6 +543,7 @@ static int __init perf_init(void)
return 0;
}
+device_initcall(perf_init);
/*
* perf_start_counters(void)
@@ -847,5 +848,3 @@ printk("perf_rdr_write\n");
}
printk("perf_rdr_write done\n");
}
-
-module_init(perf_init);