Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6
[linux-drm-fsl-dcu.git] / arch / powerpc / platforms / powermac / pic.c
index 39f7ddb554eaf084f079067f9180eeb69f4fe98c..87cd6805171a6bb4b4e3c7775a22d6c175098516 100644 (file)
@@ -42,7 +42,7 @@
  * has to include <linux/interrupt.h> (to get irqreturn_t), which
  * causes all sorts of problems.  -- paulus
  */
-extern irqreturn_t xmon_irq(int, void *, struct pt_regs *);
+extern irqreturn_t xmon_irq(int, void *);
 
 #ifdef CONFIG_PPC32
 struct pmac_irq_hw {
@@ -210,7 +210,7 @@ static struct irq_chip pmac_pic = {
        .retrigger      = pmac_retrigger,
 };
 
-static irqreturn_t gatwick_action(int cpl, void *dev_id, struct pt_regs *regs)
+static irqreturn_t gatwick_action(int cpl, void *dev_id)
 {
        unsigned long flags;
        int irq, bits;
@@ -227,7 +227,7 @@ static irqreturn_t gatwick_action(int cpl, void *dev_id, struct pt_regs *regs)
                        continue;
                irq += __ilog2(bits);
                spin_unlock_irqrestore(&pmac_pic_lock, flags);
-               __do_IRQ(irq, regs);
+               __do_IRQ(irq);
                spin_lock_irqsave(&pmac_pic_lock, flags);
                rc = IRQ_HANDLED;
        }
@@ -235,18 +235,18 @@ static irqreturn_t gatwick_action(int cpl, void *dev_id, struct pt_regs *regs)
        return rc;
 }
 
-static unsigned int pmac_pic_get_irq(struct pt_regs *regs)
+static unsigned int pmac_pic_get_irq(void)
 {
        int irq;
        unsigned long bits = 0;
        unsigned long flags;
 
 #ifdef CONFIG_SMP
-       void psurge_smp_message_recv(struct pt_regs *);
+       void psurge_smp_message_recv(void);
 
                /* IPI's are a hack on the powersurge -- Cort */
                if ( smp_processor_id() != 0 ) {
-               psurge_smp_message_recv(regs);
+               psurge_smp_message_recv();
                return NO_IRQ_IGNORE;   /* ignore, already handled */
         }
 #endif /* CONFIG_SMP */
@@ -305,8 +305,6 @@ static int pmac_pic_host_map(struct irq_host *h, unsigned int virq,
        level = !!(level_mask[hw >> 5] & (1UL << (hw & 0x1f)));
        if (level)
                desc->status |= IRQ_LEVEL;
-       else
-               desc->status |= IRQ_DELAYED_DISABLE;
        set_irq_chip_and_handler(virq, &pmac_pic, level ?
                                 handle_level_irq : handle_edge_irq);
        return 0;
@@ -366,7 +364,7 @@ static void __init pmac_pic_probe_oldstyle(void)
                slave = of_find_node_by_name(master, "mac-io");
 
                /* Check ordering of master & slave */
-               if (device_is_compatible(master, "gatwick")) {
+               if (of_device_is_compatible(master, "gatwick")) {
                        struct device_node *tmp;
                        BUG_ON(slave == NULL);
                        tmp = master;
@@ -440,14 +438,13 @@ static void __init pmac_pic_probe_oldstyle(void)
 }
 #endif /* CONFIG_PPC32 */
 
-static void pmac_u3_cascade(unsigned int irq, struct irq_desc *desc,
-                           struct pt_regs *regs)
+static void pmac_u3_cascade(unsigned int irq, struct irq_desc *desc)
 {
        struct mpic *mpic = desc->handler_data;
 
-       unsigned int cascade_irq = mpic_get_one_irq(mpic, regs);
+       unsigned int cascade_irq = mpic_get_one_irq(mpic);
        if (cascade_irq != NO_IRQ)
-               generic_handle_irq(cascade_irq, regs);
+               generic_handle_irq(cascade_irq);
        desc->chip->eoi(irq);
 }
 
@@ -485,14 +482,14 @@ static struct mpic * __init pmac_setup_one_mpic(struct device_node *np,
        pmac_call_feature(PMAC_FTR_ENABLE_MPIC, np, 0, 0);
 
        flags |= MPIC_WANTS_RESET;
-       if (get_property(np, "big-endian", NULL))
+       if (of_get_property(np, "big-endian", NULL))
                flags |= MPIC_BIG_ENDIAN;
 
        /* Primary Big Endian means HT interrupts. This is quite dodgy
         * but works until I find a better way
         */
        if (master && (flags & MPIC_BIG_ENDIAN))
-               flags |= MPIC_BROKEN_U3;
+               flags |= MPIC_U3_HT_IRQS;
 
        mpic = mpic_alloc(np, r.start, flags, 0, 0, name);
        if (mpic == NULL)
@@ -513,7 +510,7 @@ static int __init pmac_pic_probe_mpic(void)
        for (np = NULL; (np = of_find_node_by_type(np, "open-pic"))
                     != NULL;) {
                if (master == NULL &&
-                   get_property(np, "interrupts", NULL) == NULL)
+                   of_get_property(np, "interrupts", NULL) == NULL)
                        master = of_node_get(np);
                else if (slave == NULL)
                        slave = of_node_get(np);
@@ -578,7 +575,7 @@ void __init pmac_pic_init(void)
 #ifdef CONFIG_PPC32
        if (!pmac_newworld)
                flags |= OF_IMAP_OLDWORLD_MAC;
-       if (get_property(of_chosen, "linux,bootx", NULL) != NULL)
+       if (of_get_property(of_chosen, "linux,bootx", NULL) != NULL)
                flags |= OF_IMAP_NO_PHANDLE;
 #endif /* CONFIG_PPC_32 */