ppc/powerpc: workarounds for old Open Firmware versions
[pandora-kernel.git] / arch / powerpc / platforms / chrp / setup.c
index 5145990..4099dda 100644 (file)
 #include <asm/rtas.h>
 #include <asm/xmon.h>
 
-void chrp_get_rtc_time(struct rtc_time *);
-int chrp_set_rtc_time(struct rtc_time *);
-void chrp_calibrate_decr(void);
-long chrp_time_init(void);
+#include "chrp.h"
 
-void chrp_find_bridges(void);
-void chrp_event_scan(void);
 void rtas_indicator_progress(char *, unsigned short);
 void btext_progress(char *, unsigned short);
 
@@ -366,7 +361,9 @@ static void __init chrp_find_openpic(void)
        printk(KERN_INFO "OpenPIC at %lx\n", opaddr);
 
        irq_count = NR_IRQS - NUM_ISA_INTERRUPTS - 4; /* leave room for IPIs */
-       prom_get_irq_senses(init_senses, NUM_8259_INTERRUPTS, NR_IRQS - 4);
+       prom_get_irq_senses(init_senses, NUM_ISA_INTERRUPTS, NR_IRQS - 4);
+       /* i8259 cascade is always positive level */
+       init_senses[0] = IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE;
 
        iranges = (unsigned int *) get_property(np, "interrupt-ranges", &len);
        if (iranges == NULL)
@@ -469,6 +466,10 @@ void __init chrp_init_IRQ(void)
 void __init
 chrp_init2(void)
 {
+#ifdef CONFIG_NVRAM
+       chrp_nvram_init();
+#endif
+
        request_region(0x20,0x20,"pic1");
        request_region(0xa0,0x20,"pic2");
        request_region(0x00,0x20,"dma1");