This patch fixes following compile warning:
--------- >8 --------
WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to
.init.text:mtrr_bp_init from .text between 'id entify_cpu' (at offset 0x6571)
and 'IRQ0x20_interrupt'
--------- 8< --------
It's because identify_cpu() which is __cpuinit calls mtrr_bp_init() which is
__init(). __cpuinit() expands to nothing if CONFIG_HOTPLUG_CPU=y and so the
call is illegal.
Signed-off-by: Bernhard Walle <[email protected]>
---
arch/i386/kernel/cpu/mtrr/generic.c | 2 +-
arch/i386/kernel/cpu/mtrr/main.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- a/arch/i386/kernel/cpu/mtrr/generic.c
+++ b/arch/i386/kernel/cpu/mtrr/generic.c
@@ -78,7 +78,7 @@ static void __cpuinit print_fixed(unsign
}
/* Grab all of the MTRR state for this CPU into *state */
-void __init get_mtrr_state(void)
+void get_mtrr_state(void)
{
unsigned int i;
struct mtrr_var_range *vrs;
--- a/arch/i386/kernel/cpu/mtrr/main.c
+++ b/arch/i386/kernel/cpu/mtrr/main.c
@@ -639,7 +639,7 @@ static struct sysdev_driver mtrr_sysdev_
* initialized (i.e. before smp_init()).
*
*/
-void __init mtrr_bp_init(void)
+void mtrr_bp_init(void)
{
init_ifs();
On Fri, May 11, 2007 at 05:32:48PM +0200, Bernhard Walle wrote:
> This patch fixes following compile warning:
>
> --------- >8 --------
> WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to
> .init.text:mtrr_bp_init from .text between 'id entify_cpu' (at offset 0x6571)
> and 'IRQ0x20_interrupt'
> --------- 8< --------
>
> It's because identify_cpu() which is __cpuinit calls mtrr_bp_init() which is
> __init(). __cpuinit() expands to nothing if CONFIG_HOTPLUG_CPU=y and so the
> call is illegal.
>
>
> Signed-off-by: Bernhard Walle <[email protected]>
>
I cannot see what goes wrong here and how your patch fixes this.
Can you please send me a copy of your .config.
[I have submitted a patch to add both __init tags today and
needs to find out if that one is bogus].
Sam
> ---
> arch/i386/kernel/cpu/mtrr/generic.c | 2 +-
> arch/i386/kernel/cpu/mtrr/main.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> --- a/arch/i386/kernel/cpu/mtrr/generic.c
> +++ b/arch/i386/kernel/cpu/mtrr/generic.c
> @@ -78,7 +78,7 @@ static void __cpuinit print_fixed(unsign
> }
>
> /* Grab all of the MTRR state for this CPU into *state */
> -void __init get_mtrr_state(void)
> +void get_mtrr_state(void)
> {
> unsigned int i;
> struct mtrr_var_range *vrs;
> --- a/arch/i386/kernel/cpu/mtrr/main.c
> +++ b/arch/i386/kernel/cpu/mtrr/main.c
> @@ -639,7 +639,7 @@ static struct sysdev_driver mtrr_sysdev_
> * initialized (i.e. before smp_init()).
> *
> */
> -void __init mtrr_bp_init(void)
> +void mtrr_bp_init(void)
> {
> init_ifs();
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/