Loading arch/arm/common/sa1111.c +47 −47 Original line number Diff line number Diff line Loading @@ -210,7 +210,7 @@ sa1111_irq_handler(unsigned int irq, struct irq_desc *desc) sa1111_writel(stat0, mapbase + SA1111_INTSTATCLR0); desc->chip->ack(irq); desc->irq_data.chip->irq_ack(&desc->irq_data); sa1111_writel(stat1, mapbase + SA1111_INTSTATCLR1); Loading @@ -228,35 +228,35 @@ sa1111_irq_handler(unsigned int irq, struct irq_desc *desc) generic_handle_irq(i + sachip->irq_base); /* For level-based interrupts */ desc->chip->unmask(irq); desc->irq_data.chip->irq_unmask(&desc->irq_data); } #define SA1111_IRQMASK_LO(x) (1 << (x - sachip->irq_base)) #define SA1111_IRQMASK_HI(x) (1 << (x - sachip->irq_base - 32)) static void sa1111_ack_irq(unsigned int irq) static void sa1111_ack_irq(struct irq_data *d) { } static void sa1111_mask_lowirq(unsigned int irq) static void sa1111_mask_lowirq(struct irq_data *d) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned long ie0; ie0 = sa1111_readl(mapbase + SA1111_INTEN0); ie0 &= ~SA1111_IRQMASK_LO(irq); ie0 &= ~SA1111_IRQMASK_LO(d->irq); writel(ie0, mapbase + SA1111_INTEN0); } static void sa1111_unmask_lowirq(unsigned int irq) static void sa1111_unmask_lowirq(struct irq_data *d) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned long ie0; ie0 = sa1111_readl(mapbase + SA1111_INTEN0); ie0 |= SA1111_IRQMASK_LO(irq); ie0 |= SA1111_IRQMASK_LO(d->irq); sa1111_writel(ie0, mapbase + SA1111_INTEN0); } Loading @@ -267,11 +267,11 @@ static void sa1111_unmask_lowirq(unsigned int irq) * be triggered. In fact, its very difficult, if not impossible to get * INTSET to re-trigger the interrupt. */ static int sa1111_retrigger_lowirq(unsigned int irq) static int sa1111_retrigger_lowirq(struct irq_data *d) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned int mask = SA1111_IRQMASK_LO(irq); unsigned int mask = SA1111_IRQMASK_LO(d->irq); unsigned long ip0; int i; Loading @@ -285,15 +285,15 @@ static int sa1111_retrigger_lowirq(unsigned int irq) if (i == 8) printk(KERN_ERR "Danger Will Robinson: failed to " "re-trigger IRQ%d\n", irq); "re-trigger IRQ%d\n", d->irq); return i == 8 ? -1 : 0; } static int sa1111_type_lowirq(unsigned int irq, unsigned int flags) static int sa1111_type_lowirq(struct irq_data *d, unsigned int flags) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned int mask = SA1111_IRQMASK_LO(irq); unsigned int mask = SA1111_IRQMASK_LO(d->irq); unsigned long ip0; if (flags == IRQ_TYPE_PROBE) Loading @@ -313,11 +313,11 @@ static int sa1111_type_lowirq(unsigned int irq, unsigned int flags) return 0; } static int sa1111_wake_lowirq(unsigned int irq, unsigned int on) static int sa1111_wake_lowirq(struct irq_data *d, unsigned int on) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned int mask = SA1111_IRQMASK_LO(irq); unsigned int mask = SA1111_IRQMASK_LO(d->irq); unsigned long we0; we0 = sa1111_readl(mapbase + SA1111_WAKEEN0); Loading @@ -332,33 +332,33 @@ static int sa1111_wake_lowirq(unsigned int irq, unsigned int on) static struct irq_chip sa1111_low_chip = { .name = "SA1111-l", .ack = sa1111_ack_irq, .mask = sa1111_mask_lowirq, .unmask = sa1111_unmask_lowirq, .retrigger = sa1111_retrigger_lowirq, .set_type = sa1111_type_lowirq, .set_wake = sa1111_wake_lowirq, .irq_ack = sa1111_ack_irq, .irq_mask = sa1111_mask_lowirq, .irq_unmask = sa1111_unmask_lowirq, .irq_retrigger = sa1111_retrigger_lowirq, .irq_set_type = sa1111_type_lowirq, .irq_set_wake = sa1111_wake_lowirq, }; static void sa1111_mask_highirq(unsigned int irq) static void sa1111_mask_highirq(struct irq_data *d) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned long ie1; ie1 = sa1111_readl(mapbase + SA1111_INTEN1); ie1 &= ~SA1111_IRQMASK_HI(irq); ie1 &= ~SA1111_IRQMASK_HI(d->irq); sa1111_writel(ie1, mapbase + SA1111_INTEN1); } static void sa1111_unmask_highirq(unsigned int irq) static void sa1111_unmask_highirq(struct irq_data *d) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned long ie1; ie1 = sa1111_readl(mapbase + SA1111_INTEN1); ie1 |= SA1111_IRQMASK_HI(irq); ie1 |= SA1111_IRQMASK_HI(d->irq); sa1111_writel(ie1, mapbase + SA1111_INTEN1); } Loading @@ -369,11 +369,11 @@ static void sa1111_unmask_highirq(unsigned int irq) * be triggered. In fact, its very difficult, if not impossible to get * INTSET to re-trigger the interrupt. */ static int sa1111_retrigger_highirq(unsigned int irq) static int sa1111_retrigger_highirq(struct irq_data *d) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned int mask = SA1111_IRQMASK_HI(irq); unsigned int mask = SA1111_IRQMASK_HI(d->irq); unsigned long ip1; int i; Loading @@ -387,15 +387,15 @@ static int sa1111_retrigger_highirq(unsigned int irq) if (i == 8) printk(KERN_ERR "Danger Will Robinson: failed to " "re-trigger IRQ%d\n", irq); "re-trigger IRQ%d\n", d->irq); return i == 8 ? -1 : 0; } static int sa1111_type_highirq(unsigned int irq, unsigned int flags) static int sa1111_type_highirq(struct irq_data *d, unsigned int flags) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned int mask = SA1111_IRQMASK_HI(irq); unsigned int mask = SA1111_IRQMASK_HI(d->irq); unsigned long ip1; if (flags == IRQ_TYPE_PROBE) Loading @@ -415,11 +415,11 @@ static int sa1111_type_highirq(unsigned int irq, unsigned int flags) return 0; } static int sa1111_wake_highirq(unsigned int irq, unsigned int on) static int sa1111_wake_highirq(struct irq_data *d, unsigned int on) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned int mask = SA1111_IRQMASK_HI(irq); unsigned int mask = SA1111_IRQMASK_HI(d->irq); unsigned long we1; we1 = sa1111_readl(mapbase + SA1111_WAKEEN1); Loading @@ -434,12 +434,12 @@ static int sa1111_wake_highirq(unsigned int irq, unsigned int on) static struct irq_chip sa1111_high_chip = { .name = "SA1111-h", .ack = sa1111_ack_irq, .mask = sa1111_mask_highirq, .unmask = sa1111_unmask_highirq, .retrigger = sa1111_retrigger_highirq, .set_type = sa1111_type_highirq, .set_wake = sa1111_wake_highirq, .irq_ack = sa1111_ack_irq, .irq_mask = sa1111_mask_highirq, .irq_unmask = sa1111_unmask_highirq, .irq_retrigger = sa1111_retrigger_highirq, .irq_set_type = sa1111_type_highirq, .irq_set_wake = sa1111_wake_highirq, }; static void sa1111_setup_irq(struct sa1111 *sachip) Loading Loading
arch/arm/common/sa1111.c +47 −47 Original line number Diff line number Diff line Loading @@ -210,7 +210,7 @@ sa1111_irq_handler(unsigned int irq, struct irq_desc *desc) sa1111_writel(stat0, mapbase + SA1111_INTSTATCLR0); desc->chip->ack(irq); desc->irq_data.chip->irq_ack(&desc->irq_data); sa1111_writel(stat1, mapbase + SA1111_INTSTATCLR1); Loading @@ -228,35 +228,35 @@ sa1111_irq_handler(unsigned int irq, struct irq_desc *desc) generic_handle_irq(i + sachip->irq_base); /* For level-based interrupts */ desc->chip->unmask(irq); desc->irq_data.chip->irq_unmask(&desc->irq_data); } #define SA1111_IRQMASK_LO(x) (1 << (x - sachip->irq_base)) #define SA1111_IRQMASK_HI(x) (1 << (x - sachip->irq_base - 32)) static void sa1111_ack_irq(unsigned int irq) static void sa1111_ack_irq(struct irq_data *d) { } static void sa1111_mask_lowirq(unsigned int irq) static void sa1111_mask_lowirq(struct irq_data *d) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned long ie0; ie0 = sa1111_readl(mapbase + SA1111_INTEN0); ie0 &= ~SA1111_IRQMASK_LO(irq); ie0 &= ~SA1111_IRQMASK_LO(d->irq); writel(ie0, mapbase + SA1111_INTEN0); } static void sa1111_unmask_lowirq(unsigned int irq) static void sa1111_unmask_lowirq(struct irq_data *d) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned long ie0; ie0 = sa1111_readl(mapbase + SA1111_INTEN0); ie0 |= SA1111_IRQMASK_LO(irq); ie0 |= SA1111_IRQMASK_LO(d->irq); sa1111_writel(ie0, mapbase + SA1111_INTEN0); } Loading @@ -267,11 +267,11 @@ static void sa1111_unmask_lowirq(unsigned int irq) * be triggered. In fact, its very difficult, if not impossible to get * INTSET to re-trigger the interrupt. */ static int sa1111_retrigger_lowirq(unsigned int irq) static int sa1111_retrigger_lowirq(struct irq_data *d) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned int mask = SA1111_IRQMASK_LO(irq); unsigned int mask = SA1111_IRQMASK_LO(d->irq); unsigned long ip0; int i; Loading @@ -285,15 +285,15 @@ static int sa1111_retrigger_lowirq(unsigned int irq) if (i == 8) printk(KERN_ERR "Danger Will Robinson: failed to " "re-trigger IRQ%d\n", irq); "re-trigger IRQ%d\n", d->irq); return i == 8 ? -1 : 0; } static int sa1111_type_lowirq(unsigned int irq, unsigned int flags) static int sa1111_type_lowirq(struct irq_data *d, unsigned int flags) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned int mask = SA1111_IRQMASK_LO(irq); unsigned int mask = SA1111_IRQMASK_LO(d->irq); unsigned long ip0; if (flags == IRQ_TYPE_PROBE) Loading @@ -313,11 +313,11 @@ static int sa1111_type_lowirq(unsigned int irq, unsigned int flags) return 0; } static int sa1111_wake_lowirq(unsigned int irq, unsigned int on) static int sa1111_wake_lowirq(struct irq_data *d, unsigned int on) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned int mask = SA1111_IRQMASK_LO(irq); unsigned int mask = SA1111_IRQMASK_LO(d->irq); unsigned long we0; we0 = sa1111_readl(mapbase + SA1111_WAKEEN0); Loading @@ -332,33 +332,33 @@ static int sa1111_wake_lowirq(unsigned int irq, unsigned int on) static struct irq_chip sa1111_low_chip = { .name = "SA1111-l", .ack = sa1111_ack_irq, .mask = sa1111_mask_lowirq, .unmask = sa1111_unmask_lowirq, .retrigger = sa1111_retrigger_lowirq, .set_type = sa1111_type_lowirq, .set_wake = sa1111_wake_lowirq, .irq_ack = sa1111_ack_irq, .irq_mask = sa1111_mask_lowirq, .irq_unmask = sa1111_unmask_lowirq, .irq_retrigger = sa1111_retrigger_lowirq, .irq_set_type = sa1111_type_lowirq, .irq_set_wake = sa1111_wake_lowirq, }; static void sa1111_mask_highirq(unsigned int irq) static void sa1111_mask_highirq(struct irq_data *d) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned long ie1; ie1 = sa1111_readl(mapbase + SA1111_INTEN1); ie1 &= ~SA1111_IRQMASK_HI(irq); ie1 &= ~SA1111_IRQMASK_HI(d->irq); sa1111_writel(ie1, mapbase + SA1111_INTEN1); } static void sa1111_unmask_highirq(unsigned int irq) static void sa1111_unmask_highirq(struct irq_data *d) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned long ie1; ie1 = sa1111_readl(mapbase + SA1111_INTEN1); ie1 |= SA1111_IRQMASK_HI(irq); ie1 |= SA1111_IRQMASK_HI(d->irq); sa1111_writel(ie1, mapbase + SA1111_INTEN1); } Loading @@ -369,11 +369,11 @@ static void sa1111_unmask_highirq(unsigned int irq) * be triggered. In fact, its very difficult, if not impossible to get * INTSET to re-trigger the interrupt. */ static int sa1111_retrigger_highirq(unsigned int irq) static int sa1111_retrigger_highirq(struct irq_data *d) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned int mask = SA1111_IRQMASK_HI(irq); unsigned int mask = SA1111_IRQMASK_HI(d->irq); unsigned long ip1; int i; Loading @@ -387,15 +387,15 @@ static int sa1111_retrigger_highirq(unsigned int irq) if (i == 8) printk(KERN_ERR "Danger Will Robinson: failed to " "re-trigger IRQ%d\n", irq); "re-trigger IRQ%d\n", d->irq); return i == 8 ? -1 : 0; } static int sa1111_type_highirq(unsigned int irq, unsigned int flags) static int sa1111_type_highirq(struct irq_data *d, unsigned int flags) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned int mask = SA1111_IRQMASK_HI(irq); unsigned int mask = SA1111_IRQMASK_HI(d->irq); unsigned long ip1; if (flags == IRQ_TYPE_PROBE) Loading @@ -415,11 +415,11 @@ static int sa1111_type_highirq(unsigned int irq, unsigned int flags) return 0; } static int sa1111_wake_highirq(unsigned int irq, unsigned int on) static int sa1111_wake_highirq(struct irq_data *d, unsigned int on) { struct sa1111 *sachip = get_irq_chip_data(irq); struct sa1111 *sachip = irq_data_get_irq_chip_data(d); void __iomem *mapbase = sachip->base + SA1111_INTC; unsigned int mask = SA1111_IRQMASK_HI(irq); unsigned int mask = SA1111_IRQMASK_HI(d->irq); unsigned long we1; we1 = sa1111_readl(mapbase + SA1111_WAKEEN1); Loading @@ -434,12 +434,12 @@ static int sa1111_wake_highirq(unsigned int irq, unsigned int on) static struct irq_chip sa1111_high_chip = { .name = "SA1111-h", .ack = sa1111_ack_irq, .mask = sa1111_mask_highirq, .unmask = sa1111_unmask_highirq, .retrigger = sa1111_retrigger_highirq, .set_type = sa1111_type_highirq, .set_wake = sa1111_wake_highirq, .irq_ack = sa1111_ack_irq, .irq_mask = sa1111_mask_highirq, .irq_unmask = sa1111_unmask_highirq, .irq_retrigger = sa1111_retrigger_highirq, .irq_set_type = sa1111_type_highirq, .irq_set_wake = sa1111_wake_highirq, }; static void sa1111_setup_irq(struct sa1111 *sachip) Loading