The core irq_set_type() function updates the flow type when the chip callback returns 0. So setting the type is bogus. The core also updates the LEVEL flag.
Signed-off-by: Thomas Gleixner <t...@linutronix.de> --- arch/powerpc/sysdev/xilinx_intc.c | 6 ------ 1 file changed, 6 deletions(-) Index: linux-2.6-tip/arch/powerpc/sysdev/xilinx_intc.c =================================================================== --- linux-2.6-tip.orig/arch/powerpc/sysdev/xilinx_intc.c +++ linux-2.6-tip/arch/powerpc/sysdev/xilinx_intc.c @@ -79,12 +79,6 @@ static void xilinx_intc_mask(struct irq_ static int xilinx_intc_set_type(struct irq_data *d, unsigned int flow_type) { - struct irq_desc *desc = irq_to_desc(d->irq); - - desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL); - desc->status |= flow_type & IRQ_TYPE_SENSE_MASK; - if (flow_type & (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) - desc->status |= IRQ_LEVEL; return 0; } _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev