d->handle(irq, d, regs); 
desc_handle_irq(irq, d, regs); 
static void locomo_handler(unsigned int irq, struct irqdesc *desc,			struct pt_regs *regs){	int req, i;	struct irqdesc *d;	void *mapbase = get_irq_chipdata(irq);	/* Acknowledge the parent IRQ */	desc->chip->ack(irq);	/* check why this interrupt was generated */	req = locomo_readl(mapbase + LOCOMO_ICR) & 0x0f00;	if (req) {		/* generate the next interrupt(s) */		irq = LOCOMO_IRQ_START;		d = irq_desc + irq;		for (i = 0; i <= 3; i++, d++, irq++) {			if (req & (0x0100 << i)) {				d->handle(irq, d, regs);			}		}	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/664399e1fbdceb18da9c9c5534dedd62327c63e8/locomo.c/buggy/arch/arm/common/locomo.c