mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 07:44:21 +08:00
mfd: twl6030-irq: Add error check when IRQs are masked initially
Add a missed check for errors when TWL IRQs are masked initially on probe and report an error in case of failure. Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Acked-by: Graeme Gregory <gg@slimlogic.co.uk> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
87343e5341
commit
a820e5686f
@ -313,7 +313,7 @@ int twl6030_init_irq(struct device *dev, int irq_num)
|
||||
struct device_node *node = dev->of_node;
|
||||
int nr_irqs, irq_base, irq_end;
|
||||
static struct irq_chip twl6030_irq_chip;
|
||||
int status = 0;
|
||||
int status;
|
||||
int i;
|
||||
u8 mask[3];
|
||||
|
||||
@ -335,11 +335,16 @@ int twl6030_init_irq(struct device *dev, int irq_num)
|
||||
mask[2] = 0xFF;
|
||||
|
||||
/* mask all int lines */
|
||||
twl_i2c_write(TWL_MODULE_PIH, &mask[0], REG_INT_MSK_LINE_A, 3);
|
||||
status = twl_i2c_write(TWL_MODULE_PIH, &mask[0], REG_INT_MSK_LINE_A, 3);
|
||||
/* mask all int sts */
|
||||
twl_i2c_write(TWL_MODULE_PIH, &mask[0], REG_INT_MSK_STS_A, 3);
|
||||
status |= twl_i2c_write(TWL_MODULE_PIH, &mask[0], REG_INT_MSK_STS_A, 3);
|
||||
/* clear INT_STS_A,B,C */
|
||||
twl_i2c_write(TWL_MODULE_PIH, &mask[0], REG_INT_STS_A, 3);
|
||||
status |= twl_i2c_write(TWL_MODULE_PIH, &mask[0], REG_INT_STS_A, 3);
|
||||
|
||||
if (status < 0) {
|
||||
dev_err(dev, "I2C err writing TWL_MODULE_PIH: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
|
||||
twl6030_irq_base = irq_base;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user