On Mon, Dec 05, 2011 at 12:16:24PM +0530, ashishj3 wrote:
--- a/drivers/base/regmap/regmap-irq.c +++ b/drivers/base/regmap/regmap-irq.c @@ -164,7 +164,6 @@ static irqreturn_t regmap_irq_thread(int irq, void *d)
- irq: The IRQ the device uses to signal interrupts
- irq_flags: The IRQF_ flags to use for the primary interrupt.
- chip: Configuration for the interrupt controller.
- data: Runtime data structure for the controller, allocated on success
Uh, that's not good...
- irq_base = irq_alloc_descs(irq_base, 0, chip->num_irqs, 0);
- if (irq_base < 0) {
- *irq_base = irq_alloc_descs(*irq_base, 0, chip->num_irqs, 0);
- if (*irq_base < 0) {
This isn't adding an accessory, this is passing irq_base by reference. Seems like a lot of pointers, really. I'll send a patch.