summaryrefslogtreecommitdiff
path: root/drivers/mfd
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2011-03-08 20:14:01 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-04-26 15:53:17 -0700
commit9517b18c0a9abef18bb4a959c59743720e1e5892 (patch)
treebfde5e927ea6195355e28fa341664abc35209c1e /drivers/mfd
parent681ec5e716566ded431bf0c2abb8c97b62f80b0f (diff)
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 <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Change-Id: I676785668026e4ef02a076f70bdb9d292263b346
Diffstat (limited to 'drivers/mfd')
-rwxr-xr-xdrivers/mfd/tps6591x.c11
1 files changed, 6 insertions, 5 deletions
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);