Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / arch / powerpc / platforms / cell / pmu.c
index 1ed3036..59c1a16 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <linux/interrupt.h>
 #include <linux/types.h>
+#include <linux/export.h>
 #include <asm/io.h>
 #include <asm/irq_regs.h>
 #include <asm/machdep.h>
@@ -213,7 +214,7 @@ u32 cbe_read_pm(u32 cpu, enum pm_reg_name reg)
                break;
 
        case pm_interval:
-               READ_SHADOW_REG(val, pm_interval);
+               READ_MMIO_UPPER32(val, pm_interval);
                break;
 
        case pm_start_stop:
@@ -381,9 +382,6 @@ static int __init cbe_init_pm_irq(void)
        unsigned int irq;
        int rc, node;
 
-       if (!machine_is(cell))
-               return 0;
-
        for_each_node(node) {
                irq = irq_create_mapping(NULL, IIC_IRQ_IOEX_PMI |
                                               (node << IIC_IRQ_NODE_SHIFT));
@@ -394,7 +392,7 @@ static int __init cbe_init_pm_irq(void)
                }
 
                rc = request_irq(irq, cbe_pm_irq,
-                                IRQF_DISABLED, "cbe-pmu-0", NULL);
+                                0, "cbe-pmu-0", NULL);
                if (rc) {
                        printk("ERROR: Request for irq on node %d failed\n",
                               node);
@@ -404,7 +402,7 @@ static int __init cbe_init_pm_irq(void)
 
        return 0;
 }
-arch_initcall(cbe_init_pm_irq);
+machine_arch_initcall(cell, cbe_init_pm_irq);
 
 void cbe_sync_irq(int node)
 {