lkml.org 
[lkml]   [2008]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH x86] [15/16] Force __cpuinit on for CONFIG_PM without HOTPLUG_CPU
    Date
    On Thursday, 3 of January 2008, Andi Kleen wrote:
    >
    > This avoids the requirement to mark a lot of initialization functions not
    > __cpuinit just for resume from RAM.
    >
    > More functions could be converted now, didn't do all.
    >
    > Cc: rjw@sisk.pl
    > Cc: pavel@suse.cz
    >
    > Signed-off-by: Andi Kleen <ak@suse.de>
    >
    > ---
    > arch/x86/Kconfig | 5 +++++
    > arch/x86/kernel/cpu/mtrr/main.c | 2 +-
    > arch/x86/kernel/trampoline_64.S | 2 +-
    > include/linux/init.h | 2 +-
    > 4 files changed, 8 insertions(+), 3 deletions(-)
    >
    > Index: linux/arch/x86/kernel/trampoline_64.S
    > ===================================================================
    > --- linux.orig/arch/x86/kernel/trampoline_64.S
    > +++ linux/arch/x86/kernel/trampoline_64.S
    > @@ -34,7 +34,7 @@
    > #include <asm/segment.h>
    >
    > /* We can free up trampoline after bootup if cpu hotplug is not supported. */
    > -#ifndef CONFIG_HOTPLUG_CPU
    > +#if !defined(CONFIG_HOTPLUG_CPU) && !defined(CONFIG_PM_CPUINIT)
    > .section .init.data, "aw", @progbits
    > #else
    > .section .rodata, "a", @progbits
    > Index: linux/include/linux/init.h
    > ===================================================================
    > --- linux.orig/include/linux/init.h
    > +++ linux/include/linux/init.h
    > @@ -266,7 +266,7 @@ void __init parse_early_param(void);
    > #define __devexitdata __exitdata
    > #endif
    >
    > -#ifdef CONFIG_HOTPLUG_CPU
    > +#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_PM_CPUINIT)
    > #define __cpuinit
    > #define __cpuinitdata
    > #define __cpuexit
    > Index: linux/arch/x86/Kconfig
    > ===================================================================
    > --- linux.orig/arch/x86/Kconfig
    > +++ linux/arch/x86/Kconfig
    > @@ -130,6 +130,11 @@ config GENERIC_PENDING_IRQ
    > depends on GENERIC_HARDIRQS && SMP
    > default y
    >
    > +config PM_CPUINIT
    > + bool
    > + depends on PM

    Please make it PM_SLEEP (PM is more than suspend/hibernation).

    > + default y
    > +
    > config X86_SMP
    > bool
    > depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64)
    > Index: linux/arch/x86/kernel/cpu/mtrr/main.c
    > ===================================================================
    > --- linux.orig/arch/x86/kernel/cpu/mtrr/main.c
    > +++ linux/arch/x86/kernel/cpu/mtrr/main.c
    > @@ -712,7 +712,7 @@ void __init mtrr_bp_init(void)
    > }
    > }
    >
    > -void mtrr_ap_init(void)
    > +void __cpuinit mtrr_ap_init(void)
    > {
    > unsigned long flags;


    \
     
     \ /
      Last update: 2008-01-03 18:23    [W:0.023 / U:30.376 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site