From 9517b18c0a9abef18bb4a959c59743720e1e5892 Mon Sep 17 00:00:00 2001 From: Laxman Dewangan Date: Tue, 8 Mar 2011 20:14:01 +0530 Subject: regulator: tps6591x: Masking all interrupts Masking all interrupts from tps6591x by default and configuring the PMU interrupt to active low. Original-Change-Id: I2a40bb5f50d7f749debe1a8a478680acf69767a4 Reviewed-on: http://git-master/r/22066 Reviewed-by: Laxman Dewangan Tested-by: Laxman Dewangan Reviewed-by: Bitan Biswas Reviewed-by: Hanumanth Venkateswa Moganty Change-Id: I676785668026e4ef02a076f70bdb9d292263b346 --- drivers/mfd/tps6591x.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'drivers/mfd') diff --git a/drivers/mfd/tps6591x.c b/drivers/mfd/tps6591x.c index 99c7aab4f168..d19e94f0809e 100755 --- a/drivers/mfd/tps6591x.c +++ b/drivers/mfd/tps6591x.c @@ -419,7 +419,6 @@ static irqreturn_t tps6591x_irq(int irq, void *data) handle_nested_irq(tps6591x->irq_base + i); acks &= ~(1 << i); } - return IRQ_HANDLED; } @@ -434,10 +433,13 @@ static int __devinit tps6591x_irq_init(struct tps6591x *tps6591x, int irq, } mutex_init(&tps6591x->irq_lock); + + tps6591x->mask_reg[0] = 0xFF; + tps6591x->mask_reg[1] = 0xFF; + tps6591x->mask_reg[2] = 0xFF; for (i = 0; i < 3; i++) { - tps6591x->mask_cache[i] = 0x00; - tps6591x->mask_reg[i] = 0x00; - tps6591x_write(tps6591x->dev, TPS6591X_INT_MSK + 2*i, 0x00); + tps6591x->mask_cache[i] = tps6591x->mask_reg[i]; + tps6591x_write(tps6591x->dev, TPS6591X_INT_MSK + 2*i, tps6591x->mask_cache[i]); } for (i = 0; i < 3; i++) @@ -464,7 +466,6 @@ static int __devinit tps6591x_irq_init(struct tps6591x *tps6591x, int irq, ret = request_threaded_irq(irq, NULL, tps6591x_irq, IRQF_ONESHOT, "tps6591x", tps6591x); - if (!ret) { device_init_wakeup(tps6591x->dev, 1); enable_irq_wake(irq); -- cgit v1.2.3