From 2a91d65ac1280cb85418bad3d368bb03eed5c871 Mon Sep 17 00:00:00 2001 From: Graeme Gregory Date: Fri, 22 Jun 2012 13:36:19 +0100 Subject: [PATCH] --- yaml --- r: 311863 b: refs/heads/master c: b330f85d3d42cbe091736a0abd8f005b448d133a h: refs/heads/master i: 311861: f766ac987b1259158c605832a4cb0f4b4baaf4eb 311859: a8a306c2cb8cca2954c2e15e755a256d8b044677 311855: 044b23cdb7423e1b4e3cfe7ab1b50be6399446de v: v3 --- [refs] | 2 +- trunk/drivers/mfd/palmas.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 822fb48d0512..3106498e4a3f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: adc20e02aefa83d95829cdeb1152ff641adcc779 +refs/heads/master: b330f85d3d42cbe091736a0abd8f005b448d133a diff --git a/trunk/drivers/mfd/palmas.c b/trunk/drivers/mfd/palmas.c index 98fdcdbbd610..c4a69f193a1d 100644 --- a/trunk/drivers/mfd/palmas.c +++ b/trunk/drivers/mfd/palmas.c @@ -356,7 +356,14 @@ static int __devinit palmas_i2c_probe(struct i2c_client *i2c, } } - ret = regmap_add_irq_chip(palmas->regmap[1], palmas->irq, + /* Change IRQ into clear on read mode for efficiency */ + slave = PALMAS_BASE_TO_SLAVE(PALMAS_INTERRUPT_BASE); + addr = PALMAS_BASE_TO_REG(PALMAS_INTERRUPT_BASE, PALMAS_INT_CTRL); + reg = PALMAS_INT_CTRL_INT_CLEAR; + + regmap_write(palmas->regmap[slave], addr, reg); + + ret = regmap_add_irq_chip(palmas->regmap[slave], palmas->irq, IRQF_ONESHOT | IRQF_TRIGGER_LOW, -1, &palmas_irq_chip, &palmas->irq_data); if (ret < 0)