new sharable twl4030 SIH irq_chip
Subsystems (2)
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.
Signed-off-by David Brownell <[email protected]>
--- 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.