[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] Convert __init into __devinit in wakeup path.
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Date 1184173067 -3600 # Node ID a9103c71565e69f79458cc19a920cc17fcba9de2 # Parent c3929e540632ec30c19d85a2884f1e49081b8410 Convert __init into __devinit in wakeup path. Need to ensure all the code slice in the wakeup path still existing. For this purpose, we have to use __devinit instead of __init, since the former is null for CONFIG_HOTPLUG while the latter always causes related code to be free-ed after first boot. Later when adding __init to some function, be sure to consider wakeup case and cpu hotplug! Signed-off-by <Kevin.Tian@xxxxxxxxx> --- xen/arch/x86/apic.c | 2 +- xen/arch/x86/i8259.c | 2 +- xen/arch/x86/nmi.c | 2 +- xen/arch/x86/x86_32/traps.c | 2 +- xen/arch/x86/x86_64/traps.c | 2 +- xen/drivers/char/ns16550.c | 4 ++-- xen/drivers/char/serial.c | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff -r c3929e540632 -r a9103c71565e xen/arch/x86/apic.c --- a/xen/arch/x86/apic.c Wed Jul 11 17:48:10 2007 +0100 +++ b/xen/arch/x86/apic.c Wed Jul 11 17:57:47 2007 +0100 @@ -957,7 +957,7 @@ void __setup_APIC_LVTT(unsigned int cloc apic_write_around(APIC_TMICT, clocks/APIC_DIVISOR); } -static void __init setup_APIC_timer(unsigned int clocks) +static void __devinit setup_APIC_timer(unsigned int clocks) { unsigned long flags; local_irq_save(flags); diff -r c3929e540632 -r a9103c71565e xen/arch/x86/i8259.c --- a/xen/arch/x86/i8259.c Wed Jul 11 17:48:10 2007 +0100 +++ b/xen/arch/x86/i8259.c Wed Jul 11 17:57:47 2007 +0100 @@ -336,7 +336,7 @@ int i8259A_suspend(void) return 0; } -void __init init_8259A(int auto_eoi) +void __devinit init_8259A(int auto_eoi) { unsigned long flags; diff -r c3929e540632 -r a9103c71565e xen/arch/x86/nmi.c --- a/xen/arch/x86/nmi.c Wed Jul 11 17:48:10 2007 +0100 +++ b/xen/arch/x86/nmi.c Wed Jul 11 17:57:47 2007 +0100 @@ -202,7 +202,7 @@ void release_lapic_nmi(void) enable_lapic_nmi_watchdog(); } -#define __pminit __init +#define __pminit __devinit /* * Activate the NMI watchdog via the local APIC. diff -r c3929e540632 -r a9103c71565e xen/arch/x86/x86_32/traps.c --- a/xen/arch/x86/x86_32/traps.c Wed Jul 11 17:48:10 2007 +0100 +++ b/xen/arch/x86/x86_32/traps.c Wed Jul 11 17:57:47 2007 +0100 @@ -232,7 +232,7 @@ unsigned long do_iret(void) return 0; } -void __init percpu_traps_init(void) +void __devinit percpu_traps_init(void) { struct tss_struct *tss = &doublefault_tss; asmlinkage int hypercall(void); diff -r c3929e540632 -r a9103c71565e xen/arch/x86/x86_64/traps.c --- a/xen/arch/x86/x86_64/traps.c Wed Jul 11 17:48:10 2007 +0100 +++ b/xen/arch/x86/x86_64/traps.c Wed Jul 11 17:57:47 2007 +0100 @@ -285,7 +285,7 @@ static int write_stack_trampoline( return 34; } -void __init percpu_traps_init(void) +void __devinit percpu_traps_init(void) { char *stack_bottom, *stack; int cpu = smp_processor_id(); diff -r c3929e540632 -r a9103c71565e xen/drivers/char/ns16550.c --- a/xen/drivers/char/ns16550.c Wed Jul 11 17:48:10 2007 +0100 +++ b/xen/drivers/char/ns16550.c Wed Jul 11 17:57:47 2007 +0100 @@ -170,7 +170,7 @@ static int ns16550_getc(struct serial_po return 1; } -static void __init ns16550_init_preirq(struct serial_port *port) +static void __devinit ns16550_init_preirq(struct serial_port *port) { struct ns16550 *uart = port->uart; unsigned char lcr; @@ -214,7 +214,7 @@ static void __init ns16550_init_preirq(s port->tx_fifo_size = 16; } -static void __init ns16550_init_postirq(struct serial_port *port) +static void __devinit ns16550_init_postirq(struct serial_port *port) { struct ns16550 *uart = port->uart; int rc, bits; diff -r c3929e540632 -r a9103c71565e xen/drivers/char/serial.c --- a/xen/drivers/char/serial.c Wed Jul 11 17:48:10 2007 +0100 +++ b/xen/drivers/char/serial.c Wed Jul 11 17:57:47 2007 +0100 @@ -348,7 +348,7 @@ int serial_tx_space(int handle) return SERIAL_TXBUFSZ - (port->txbufp - port->txbufc); } -void __init serial_init_preirq(void) +void __devinit serial_init_preirq(void) { int i; for ( i = 0; i < ARRAY_SIZE(com); i++ ) @@ -356,7 +356,7 @@ void __init serial_init_preirq(void) com[i].driver->init_preirq(&com[i]); } -void __init serial_init_postirq(void) +void __devinit serial_init_postirq(void) { int i; for ( i = 0; i < ARRAY_SIZE(com); i++ ) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |