Merge of master.kernel.org:/home/rmk/linux-2.6-serial.git
authorLinus Torvalds <torvalds@ppc970.osdl.org>
Fri, 6 May 2005 22:41:11 +0000 (15:41 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Fri, 6 May 2005 22:41:11 +0000 (15:41 -0700)
arch/i386/kernel/acpi/boot.c
arch/ppc64/kernel/pSeries_smp.c
arch/ppc64/kernel/xics.c
include/asm-ppc64/xics.h
sound/pci/via82xx.c

index 53eb5cfd5b630b614952ba31a08e384abb8a2f1a..848bb97af7ca316755f6e47e612ecc75717fb197 100644 (file)
@@ -650,7 +650,7 @@ acpi_find_rsdp (void)
         */
        rsdp_phys = acpi_scan_rsdp (0, 0x400);
        if (!rsdp_phys)
-               rsdp_phys = acpi_scan_rsdp (0xE0000, 0xFFFFF);
+               rsdp_phys = acpi_scan_rsdp (0xE0000, 0x20000);
 
        return rsdp_phys;
 }
index c60d8cb2b84d21d57c46b6f07fed038c39da2d1c..fbad349ec58c2179fce3731d9ead5b8739cbc8c8 100644 (file)
@@ -326,13 +326,6 @@ static void __devinit smp_xics_setup_cpu(int cpu)
 
        cpu_clear(cpu, of_spin_map);
 
-       /*
-        * Put the calling processor into the GIQ.  This is really only
-        * necessary from a secondary thread as the OF start-cpu interface
-        * performs this function for us on primary threads.
-        */
-       rtas_set_indicator(GLOBAL_INTERRUPT_QUEUE,
-               (1UL << interrupt_server_size) - 1 - default_distrib_server, 1);
 }
 
 static DEFINE_SPINLOCK(timebase_lock);
index eedd1d3c2a10a30891278b1fd7b51faf1a5743d3..879f39b90a337df2b63a88d5399fcf4971da36e7 100644 (file)
@@ -432,6 +432,7 @@ void xics_cause_IPI(int cpu)
 {
        ops->qirr_info(cpu, IPI_PRIORITY);
 }
+#endif /* CONFIG_SMP */
 
 void xics_setup_cpu(void)
 {
@@ -439,9 +440,17 @@ void xics_setup_cpu(void)
 
        ops->cppr_info(cpu, 0xff);
        iosync();
-}
 
-#endif /* CONFIG_SMP */
+       /*
+        * Put the calling processor into the GIQ.  This is really only
+        * necessary from a secondary thread as the OF start-cpu interface
+        * performs this function for us on primary threads.
+        *
+        * XXX: undo of teardown on kexec needs this too, as may hotplug
+        */
+       rtas_set_indicator(GLOBAL_INTERRUPT_QUEUE,
+               (1UL << interrupt_server_size) - 1 - default_distrib_server, 1);
+}
 
 void xics_init_IRQ(void)
 {
@@ -563,8 +572,7 @@ nextnode:
        for (; i < NR_IRQS; ++i)
                get_irq_desc(i)->handler = &xics_pic;
 
-       ops->cppr_info(boot_cpuid, 0xff);
-       iosync();
+       xics_setup_cpu();
 
        ppc64_boot_msg(0x21, "XICS Done");
 }
index 0027da4364ac5c96a61e1ba86c9a9ea85d627b43..fdec5e7a7af6cd177e324648bbeeb29da3fb8c4a 100644 (file)
@@ -30,7 +30,4 @@ struct xics_ipi_struct {
 
 extern struct xics_ipi_struct xics_ipi_message[NR_CPUS] __cacheline_aligned;
 
-extern unsigned int default_distrib_server;
-extern unsigned int interrupt_server_size;
-
 #endif /* _PPC64_KERNEL_XICS_H */
index f1ce808501da54e60039fd5a9ab99af30d77a0c5..9b4d74d49f984c9d6a19bc9fd4ccd5c35df1d49b 100644 (file)
@@ -1836,7 +1836,7 @@ static void __devinit snd_via82xx_proc_init(via82xx_t *chip)
  *
  */
 
-static int __devinit snd_via82xx_chip_init(via82xx_t *chip)
+static int snd_via82xx_chip_init(via82xx_t *chip)
 {
        unsigned int val;
        int max_count;