2015-06-14 21:05:54

by Paul Gortmaker

[permalink] [raw]
Subject: [PATCH] cris: don't use module_init for non-modular core eeprom.c code

The eeprom.c code is compiled based on the Kconfig setting
ETRAX_I2C_EEPROM, which is bool. So the code 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.

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: Mikael Starvik <[email protected]>
Cc: Jesper Nilsson <[email protected]>
Cc: [email protected]
Signed-off-by: Paul Gortmaker <[email protected]>
---

[To be appended to the content originally sent as:
"Replace module_init with device_initcall in non modules"
https://lkml.kernel.org/r/[email protected]
]

arch/cris/arch-v10/drivers/eeprom.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/cris/arch-v10/drivers/eeprom.c b/arch/cris/arch-v10/drivers/eeprom.c
index 5047a33043bd..f679a19dfeb8 100644
--- a/arch/cris/arch-v10/drivers/eeprom.c
+++ b/arch/cris/arch-v10/drivers/eeprom.c
@@ -848,5 +848,4 @@ static void eeprom_disable_write_protect(void)
/* Write protect disabled */
}
}
-
-module_init(eeprom_init);
+device_initcall(eeprom_init);
--
2.2.1


2015-06-15 07:35:11

by Jesper Nilsson

[permalink] [raw]
Subject: Re: [PATCH] cris: don't use module_init for non-modular core eeprom.c code

On Sun, Jun 14, 2015 at 05:05:21PM -0400, Paul Gortmaker wrote:
> The eeprom.c code is compiled based on the Kconfig setting
> ETRAX_I2C_EEPROM, which is bool. So the code 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.
>
> 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: Mikael Starvik <[email protected]>

Looks good, I'll take it in the CRIS-tree.

> Cc: [email protected]
> Signed-off-by: Paul Gortmaker <[email protected]>

/^JN - Jesper Nilsson
--
Jesper Nilsson -- [email protected]

2015-06-15 13:47:21

by Paul Gortmaker

[permalink] [raw]
Subject: Re: [PATCH] cris: don't use module_init for non-modular core eeprom.c code

On 15-06-15 03:35 AM, Jesper Nilsson wrote:
> On Sun, Jun 14, 2015 at 05:05:21PM -0400, Paul Gortmaker wrote:
>> The eeprom.c code is compiled based on the Kconfig setting
>> ETRAX_I2C_EEPROM, which is bool. So the code 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.
>>
>> 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: Mikael Starvik <[email protected]>
>
> Looks good, I'll take it in the CRIS-tree.

That is fine if you want, but I need to keep a copy here in this
series (as per the part of the msg you snipped) ; otherwise I'll
introduce a bisect fail into the commit history if my tree gets
merged ahead of the cris tree.

Thanks,
Paul.
--

>
>> Cc: [email protected]
>> Signed-off-by: Paul Gortmaker <[email protected]>
>
> /^JN - Jesper Nilsson
>