Skip to contentSkip to conversation

new sharable twl4030 SIH irq_chip

PATCH In review David Brownell 1 participant 1 message Oct 10, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 3/6 new sharable twl4030 SIH irq_chip

From: David Brownell <[email protected]>

Add TWL4030 infrastructure for shared SIH interrupts.

This is basically what the twl4030 GPIO IRQ code does, but switching to a workqueue to handle each irqchip's mask/unmask and set_type operations instead of a kthread that must figure out what to do each time it wakes up.

---
 drivers/mfd/twl4030-core.c  |    2 
 drivers/mfd/twl4030-irq.c   |  322 +++++++++++++++++++++++++++++++++++++++++-
 include/linux/i2c/twl4030.h |    2 
 3 files changed, 323 insertions(+), 3 deletions(-)
drivers/mfd/twl4030-core.c +0 -2
@@ -757,8 +757,6 @@ twl4030_probe(struct i2c_client *client,
 		status = twl_init_irq(client->irq, pdata->irq_base, pdata->irq_end);
 		if (status < 0)
 			goto fail;
-		dev_info(&client->dev, "IRQ %d chains IRQs %d..%d\n",
-				client->irq, pdata->irq_base, pdata->irq_end - 1);
 	}
 
 	status = add_children(pdata);
drivers/mfd/twl4030-irq.c +321 -1

356 lines not on this page · raw message

include/linux/i2c/twl4030.h +2 -0
@@ -277,6 +277,8 @@ struct twl4030_platform_data {
 
 /*----------------------------------------------------------------------*/
 
+int twl4030_sih_setup(int module);
+
 /*
  * FIXME completely stop using TWL4030_IRQ_BASE ... instead, pass the
  * IRQ data to subsidiary devices using platform device resources.