diff mbox

[19/73] arm: mach-s3c64xx mach-crag6410-module.c is not modular

Message ID 1390339396-3479-20-git-send-email-paul.gortmaker@windriver.com
State New, archived
Headers show

Commit Message

Paul Gortmaker Jan. 21, 2014, 9:22 p.m. UTC
Despite the name mach-crag6410-module.c, the code is built for
MACH_WLF_CRAGG_6410 -- 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: Ben Dooks <ben-linux@fluff.org>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: patches@opensource.wolfsonmicro.com
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 arch/arm/mach-s3c64xx/mach-crag6410-module.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Charles Keepax Jan. 23, 2014, 1:16 p.m. UTC | #1
On Tue, Jan 21, 2014 at 04:22:22PM -0500, Paul Gortmaker wrote:
> Despite the name mach-crag6410-module.c, the code is built for
> MACH_WLF_CRAGG_6410 -- 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: Ben Dooks <ben-linux@fluff.org>
> Cc: Kukjin Kim <kgene.kim@samsung.com>
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: patches@opensource.wolfsonmicro.com
> Cc: linux-arm-kernel@lists.infradead.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> ---

Tested-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>

Thanks,
Charles
Kim Kukjin Feb. 15, 2014, 5:04 p.m. UTC | #2
On 01/23/14 22:16, Charles Keepax wrote:
> On Tue, Jan 21, 2014 at 04:22:22PM -0500, Paul Gortmaker wrote:
>> Despite the name mach-crag6410-module.c, the code is built for
>> MACH_WLF_CRAGG_6410 -- 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: Ben Dooks<ben-linux@fluff.org>
>> Cc: Kukjin Kim<kgene.kim@samsung.com>
>> Cc: Russell King<linux@arm.linux.org.uk>
>> Cc: patches@opensource.wolfsonmicro.com
>> Cc: linux-arm-kernel@lists.infradead.org
>> Signed-off-by: Paul Gortmaker<paul.gortmaker@windriver.com>
>> ---
>
> Tested-by: Charles Keepax<ckeepax@opensource.wolfsonmicro.com>
>
Thanks, applied.

- Kukjin
diff mbox

Patch

diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
index 7ccfef2..9c00d83 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
@@ -401,4 +401,4 @@  static int __init wlf_gf_module_register(void)
 {
 	return i2c_add_driver(&wlf_gf_module_driver);
 }
-module_init(wlf_gf_module_register);
+device_initcall(wlf_gf_module_register);