diff -Nur linux-2.6.25.org/arch/ppc/kernel/pci.c linux-2.6.25/arch/ppc/kernel/pci.c --- linux-2.6.25.org/arch/ppc/kernel/pci.c 2008-04-17 11:49:44.000000000 +0900 +++ linux-2.6.25/arch/ppc/kernel/pci.c 2008-05-02 22:10:01.000000000 +0900 @@ -709,7 +709,7 @@ return start; } -void __init pcibios_fixup_bus(struct pci_bus *bus) +void __devinit pcibios_fixup_bus(struct pci_bus *bus) { struct pci_controller *hose = (struct pci_controller *) bus->sysdata; unsigned long io_offset; @@ -770,7 +770,7 @@ ppc_md.pcibios_fixup_bus(bus); } -char __init *pcibios_setup(char *str) +char __devinit *pcibios_setup(char *str) { return str; } diff -Nur linux-2.6.25.org/arch/ppc/kernel/head.S linux-2.6.25/arch/ppc/kernel/head.S --- linux-2.6.25.org/arch/ppc/kernel/head.S 2008-04-17 11:49:44.000000000 +0900 +++ linux-2.6.25/arch/ppc/kernel/head.S 2008-04-23 20:55:17.000000000 +0900 @@ -49,20 +49,17 @@ mtspr SPRN_DBAT##n##L,RB; \ 1: - .text + .section .text.head, "ax" .stabs "arch/ppc/kernel/",N_SO,0,0,0f .stabs "head.S",N_SO,0,0,0f 0: - .globl _stext -_stext: +_ENTRY(_stext); /* * _start is defined this way because the XCOFF loader in the OpenFirmware * on the powermac expects the entry point to be a procedure descriptor. */ - .text - .globl _start -_start: +_ENTRY(_start); /* * These are here for legacy reasons, the kernel used to * need to look like a coff function entry for the pmac @@ -779,7 +776,8 @@ * r3 = dest addr, r4 = source addr, r5 = copy limit, r6 = start offset * on exit, r3, r4, r5 are unchanged, r6 is updated to be >= r5. */ -copy_and_flush: +_ENTRY(copy_and_flush) +/* copy_and_flush: */ addi r5,r5,-4 addi r6,r6,-4 4: li r0,L1_CACHE_BYTES/4 @@ -872,9 +870,9 @@ * included in CONFIG_6xx */ #if !defined(CONFIG_6xx) -_GLOBAL(__save_cpu_setup) +_ENTRY(__save_cpu_setup) blr -_GLOBAL(__restore_cpu_setup) +_ENTRY(__restore_cpu_setup) blr #endif /* !defined(CONFIG_6xx) */ @@ -995,7 +993,7 @@ /* * Set up the segment registers for a new context. */ -_GLOBAL(set_context) +_ENTRY(set_context) mulli r3,r3,897 /* multiply context by skew factor */ rlwinm r3,r3,4,8,27 /* VSID = (context & 0xfffff) << 4 */ addis r3,r3,0x6000 /* Set Ks, Ku bits */ diff -Nur linux-2.6.25.org/arch/ppc/kernel/vmlinux.lds.S linux-2.6.25/arch/ppc/kernel/vmlinux.lds.S --- linux-2.6.25.org/arch/ppc/kernel/vmlinux.lds.S 2008-04-17 11:49:44.000000000 +0900 +++ linux-2.6.25/arch/ppc/kernel/vmlinux.lds.S 2008-04-23 00:41:17.000000000 +0900 @@ -31,6 +31,8 @@ .plt : { *(.plt) } .text : { + ALIGN_FUNCTION(); + *(.text.head) _text = .; TEXT_TEXT SCHED_TEXT diff -Nur linux-2.6.25.org/drivers/serial/8250_pci.c linux-2.6.25/drivers/serial/8250_pci.c --- linux-2.6.25.org/drivers/serial/8250_pci.c 2008-04-17 11:49:44.000000000 +0900 +++ linux-2.6.25/drivers/serial/8250_pci.c 2008-04-20 22:06:40.000000000 +0900 @@ -775,7 +775,7 @@ * This list is ordered alphabetically by vendor then device. * Specific entries must come before more generic entries. */ -static struct pci_serial_quirk pci_serial_quirks[] = { +static struct pci_serial_quirk pci_serial_quirks[] __refdata = { /* * ADDI-DATA GmbH communication cards */