* [PATCH 00/15] Replace module_init with device_initcall in non modules
@ 2015-05-29 0:47 Paul Gortmaker
2015-05-29 0:48 ` [PATCH 03/15] powerpc: use device_initcall for registering rtc devices Paul Gortmaker
2015-05-29 0:48 ` [PATCH 04/15] powerpc: don't use module_init in non-modular 83xx suspend code Paul Gortmaker
0 siblings, 2 replies; 3+ messages in thread
From: Paul Gortmaker @ 2015-05-29 0:47 UTC (permalink / raw)
To: linux-kernel
Cc: Paul Gortmaker, Benjamin Herrenschmidt, Chris Zankel,
David Howells, Fenghua Yu, Geoff Levand, Helge Deller,
H. Peter Anvin, Ingo Molnar, Ivan Kokshaysky,
James E.J. Bottomley, Jesper Nilsson, Koichi Yasutake,
Matt Turner, Max Filippov, Mikael Starvik, Mike Turquette,
Paul Mackerras, Paul Mundt, Richard Henderson, Russell King,
Scott Wood, Thomas Gleixner, Thomas Meyer, Tony Luck, linux-alpha,
linux-am33-list, linux-arm-kernel, linux-cris-kernel, linux-ia64,
linux-parisc, linuxppc-dev, linux-sh, linux-xtensa, x86
This series of commits converts non-modular code that is using
the module_init() call to hook itself into the system to instead
use device_initcall().
The conversion is a runtime no-op, since module_init actually
becomes __initcall in the non-modular case, and that in turn gets
mapped onto device_initcall.
We fix this up now, so that we can relocate module_init from
init.h into module.h in a future series.
The files changed here are just limited to those that would
otherwise have to add module.h to obviously non-modular code, since
we don't want to do that.
This work is factored out from what was a previously larger series[1] so
that there is a common theme and lower patch count to ease review.
Paul.
[1] https://marc.info/?l=linux-kernel&m=139033951228828
---
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Chris Zankel <chris@zankel.net>
Cc: David Howells <dhowells@redhat.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Geoff Levand <geoff@infradead.org>
Cc: Helge Deller <deller@gmx.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Mikael Starvik <starvik@axis.com>
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Scott Wood <scottwood@freescale.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Thomas Meyer <thomas@m3y3r.de>
Cc: Tony Luck <tony.luck@intel.com>
Cc: linux-alpha@vger.kernel.org
Cc: linux-am33-list@redhat.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-cris-kernel@axis.com
Cc: linux-ia64@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-sh@vger.kernel.org
Cc: linux-xtensa@linux-xtensa.org
Cc: x86@kernel.org
Paul Gortmaker (15):
x86: don't use module_init in non-modular intel_mid_vrtc.c
x86: don't use module_init in non-modular devicetree.c code
powerpc: use device_initcall for registering rtc devices
powerpc: don't use module_init in non-modular 83xx suspend code
arm: don't use module_init in non-modular mach-vexpress/spc.c code
alpha: don't use module_init for non-modular core code
ia64: don't use module_init for non-modular core kernel/mca.c code
ia64: don't use module_init in non-modular sim/simscsi.c code
cris: don't use module_init for non-modular core intmem.c code
parisc: don't use module_init for non-modular core pdc_cons code
parisc64: don't use module_init for non-modular core perf code
mn10300: don't use module_init in non-modular flash.c code
sh: don't use module_init in non-modular psw.c code
xtensa: don't use module_init for non-modular core network.c code
drivers/clk: don't use module_init in clk-nomadik.c which is
non-modular
arch/alpha/kernel/srmcons.c | 3 +--
arch/arm/mach-vexpress/spc.c | 2 +-
arch/cris/arch-v32/mm/intmem.c | 3 +--
arch/ia64/hp/sim/simscsi.c | 11 +----------
arch/ia64/sn/kernel/mca.c | 3 +--
arch/mn10300/unit-asb2303/flash.c | 3 +--
arch/parisc/kernel/pdc_cons.c | 3 +--
arch/parisc/kernel/perf.c | 3 +--
arch/powerpc/kernel/time.c | 2 +-
arch/powerpc/platforms/83xx/suspend.c | 3 +--
arch/powerpc/platforms/ps3/time.c | 3 +--
arch/sh/boards/mach-landisk/psw.c | 2 +-
arch/x86/kernel/devicetree.c | 2 +-
arch/x86/platform/intel-mid/intel_mid_vrtc.c | 3 +--
arch/xtensa/platforms/iss/network.c | 4 +---
drivers/clk/clk-nomadik.c | 3 +--
16 files changed, 16 insertions(+), 37 deletions(-)
--
2.2.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 03/15] powerpc: use device_initcall for registering rtc devices
2015-05-29 0:47 [PATCH 00/15] Replace module_init with device_initcall in non modules Paul Gortmaker
@ 2015-05-29 0:48 ` Paul Gortmaker
2015-05-29 0:48 ` [PATCH 04/15] powerpc: don't use module_init in non-modular 83xx suspend code Paul Gortmaker
1 sibling, 0 replies; 3+ messages in thread
From: Paul Gortmaker @ 2015-05-29 0:48 UTC (permalink / raw)
To: linux-kernel
Cc: Paul Gortmaker, Benjamin Herrenschmidt, Paul Mackerras,
Geoff Levand, linuxppc-dev
Currently these two RTC devices are in core platform code
where it is not possible for them to be modular. It will
never be modular, so using module_init as an alias for
__initcall can be somewhat 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 -- they will remain at level 6 in initcall ordering.
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Geoff Levand <geoff@infradead.org>
Acked-by: Geoff Levand <geoff@infradead.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
arch/powerpc/kernel/time.c | 2 +-
arch/powerpc/platforms/ps3/time.c | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 56f44848b044..43922509a483 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -1124,4 +1124,4 @@ static int __init rtc_init(void)
return PTR_ERR_OR_ZERO(pdev);
}
-module_init(rtc_init);
+device_initcall(rtc_init);
diff --git a/arch/powerpc/platforms/ps3/time.c b/arch/powerpc/platforms/ps3/time.c
index ce73ce865613..791c6142c4a7 100644
--- a/arch/powerpc/platforms/ps3/time.c
+++ b/arch/powerpc/platforms/ps3/time.c
@@ -92,5 +92,4 @@ static int __init ps3_rtc_init(void)
return PTR_ERR_OR_ZERO(pdev);
}
-
-module_init(ps3_rtc_init);
+device_initcall(ps3_rtc_init);
--
2.2.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 04/15] powerpc: don't use module_init in non-modular 83xx suspend code
2015-05-29 0:47 [PATCH 00/15] Replace module_init with device_initcall in non modules Paul Gortmaker
2015-05-29 0:48 ` [PATCH 03/15] powerpc: use device_initcall for registering rtc devices Paul Gortmaker
@ 2015-05-29 0:48 ` Paul Gortmaker
1 sibling, 0 replies; 3+ messages in thread
From: Paul Gortmaker @ 2015-05-29 0:48 UTC (permalink / raw)
To: linux-kernel
Cc: Paul Gortmaker, Scott Wood, Benjamin Herrenschmidt,
Paul Mackerras, linuxppc-dev
The suspend.o is built for SUSPEND -- which 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 can be somewhat
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: Scott Wood <scottwood@freescale.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
arch/powerpc/platforms/83xx/suspend.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/powerpc/platforms/83xx/suspend.c b/arch/powerpc/platforms/83xx/suspend.c
index c9adbfb65006..fcbea4b51a78 100644
--- a/arch/powerpc/platforms/83xx/suspend.c
+++ b/arch/powerpc/platforms/83xx/suspend.c
@@ -445,5 +445,4 @@ static int pmc_init(void)
{
return platform_driver_register(&pmc_driver);
}
-
-module_init(pmc_init);
+device_initcall(pmc_init);
--
2.2.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-05-29 3:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-29 0:47 [PATCH 00/15] Replace module_init with device_initcall in non modules Paul Gortmaker
2015-05-29 0:48 ` [PATCH 03/15] powerpc: use device_initcall for registering rtc devices Paul Gortmaker
2015-05-29 0:48 ` [PATCH 04/15] powerpc: don't use module_init in non-modular 83xx suspend code Paul Gortmaker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).