mfd: Remove unneeded and dangerous clearing of clientdata
[pandora-kernel.git] / drivers / mfd / max8925-core.c
index 85d63c0..f621bce 100644 (file)
@@ -508,7 +508,7 @@ static int max8925_irq_init(struct max8925_chip *chip, int irq,
        max8925_reg_read(chip->i2c, MAX8925_ON_OFF_IRQ2);
        max8925_reg_read(chip->rtc, MAX8925_RTC_IRQ);
        max8925_reg_read(chip->adc, MAX8925_TSC_IRQ);
-       /* mask all interrupts */
+       /* mask all interrupts except for TSC */
        max8925_reg_write(chip->rtc, MAX8925_ALARM0_CNTL, 0);
        max8925_reg_write(chip->rtc, MAX8925_ALARM1_CNTL, 0);
        max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ1_MASK, 0xff);
@@ -516,7 +516,6 @@ static int max8925_irq_init(struct max8925_chip *chip, int irq,
        max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ1_MASK, 0xff);
        max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ2_MASK, 0xff);
        max8925_reg_write(chip->rtc, MAX8925_RTC_IRQ_MASK, 0xff);
-       max8925_reg_write(chip->adc, MAX8925_TSC_IRQ_MASK, 0xff);
 
        mutex_init(&chip->irq_lock);
        chip->core_irq = irq;
@@ -547,7 +546,11 @@ static int max8925_irq_init(struct max8925_chip *chip, int irq,
                dev_err(chip->dev, "Failed to request core IRQ: %d\n", ret);
                chip->core_irq = 0;
        }
+
 tsc_irq:
+       /* mask TSC interrupt */
+       max8925_reg_write(chip->adc, MAX8925_TSC_IRQ_MASK, 0x0f);
+
        if (!pdata->tsc_irq) {
                dev_warn(chip->dev, "No interrupt support on TSC IRQ\n");
                return 0;