On Tue, May 08, 2012 at 11:42:42AM -0700, Rhyland Klein wrote: > + if (pdata->irq_base <= 0) > + pdata->irq_base = irq_alloc_descs(-1, 0, tps65910->irq_num, -1); > + > + if (pdata->irq_base <= 0) { > + dev_err(tps65910->dev, "Failed to allocate irq descs: %d\n", > + pdata->irq_base); > + return pdata->irq_base; > + } I'd expect the driver to always call irq_alloc_descs() but to use the value specified in platform data if there is any. This is the normal way of doing things, anyway.