desc->handle(irq, desc, regs); 
desc_handle_irq(irq, desc, regs); 
static void pxa_gpio_demux_handler(unsigned int irq, struct irqdesc *desc,				   struct pt_regs *regs){	unsigned int mask;	int loop;	do {		loop = 0;		mask = GEDR0 & ~3;		if (mask) {			GEDR0 = mask;			irq = IRQ_GPIO(2);			desc = irq_desc + irq;			mask >>= 2;			do {				if (mask & 1)					desc->handle(irq, desc, regs);				irq++;				desc++;				mask >>= 1;			} while (mask);			loop = 1;		}		mask = GEDR1;		if (mask) {			GEDR1 = mask;			irq = IRQ_GPIO(32);			desc = irq_desc + irq;			do {				if (mask & 1)					desc->handle(irq, desc, regs);				irq++;				desc++;				mask >>= 1;			} while (mask);			loop = 1;		}		mask = GEDR2;		if (mask) {			GEDR2 = mask;			irq = IRQ_GPIO(64);			desc = irq_desc + irq;			do {				if (mask & 1)					desc->handle(irq, desc, regs);				irq++;				desc++;				mask >>= 1;			} while (mask);			loop = 1;		}#if PXA_LAST_GPIO >= 96		mask = GEDR3;		if (mask) {			GEDR3 = mask;			irq = IRQ_GPIO(96);			desc = irq_desc + irq;			do {				if (mask & 1)					desc->handle(irq, desc, regs);				irq++;				desc++;				mask >>= 1;			} while (mask);			loop = 1;		}#endif	} while (loop);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/664399e1fbdceb18da9c9c5534dedd62327c63e8/irq.c/buggy/arch/arm/mach-pxa/irq.c