[PATCH 3/4] extcon: max77693: Request only specific interrupts

From: Krzysztof Kozlowski
Date: Fri Oct 10 2014 - 04:24:27 EST


The driver was requesting all MUIC interrupts but then was masking most
of them manually at end of probe (with default_init_data). Since
default_init_data cannot be passed through DTS (no bindings for driver),
this was a conflicting behavior. First get everything, then mask what we
don't want.

This could change after adding DTS bindings for requesting specific
MUIC interrupts. Until then driver should request only these MUIC
interrupts which he is really interested in.

The commit does not introduce any functional change when the driver is
used with DTS (no platform data). However this changes the behavior with
platform data supplied. In such case the driver will request only 3
interrupts (ADC, ADC1K, ChgTyp). Platform data could still unmask other
interrupts but they won't be handled by the driver.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
---
drivers/extcon/extcon-max77693.c | 26 --------------------------
1 file changed, 26 deletions(-)

diff --git a/drivers/extcon/extcon-max77693.c b/drivers/extcon/extcon-max77693.c
index d4b2dfab1888..68d6c7cccc4f 100644
--- a/drivers/extcon/extcon-max77693.c
+++ b/drivers/extcon/extcon-max77693.c
@@ -44,19 +44,6 @@ static struct max77693_reg_data default_init_data[] = {
.addr = MAX77693_MUIC_REG_STATUS2,
.data = STATUS2_CHGDETRUN_MASK,
}, {
- /* INTMASK1 - Unmask [3]ADC1KM,[0]ADCM */
- .addr = MAX77693_MUIC_REG_INTMASK1,
- .data = INTMASK1_ADC1K_MASK
- | INTMASK1_ADC_MASK,
- }, {
- /* INTMASK2 - Unmask [0]ChgTypM */
- .addr = MAX77693_MUIC_REG_INTMASK2,
- .data = INTMASK2_CHGTYP_MASK,
- }, {
- /* INTMASK3 - Mask all of interrupts */
- .addr = MAX77693_MUIC_REG_INTMASK3,
- .data = 0x0,
- }, {
/* CDETCTRL2 */
.addr = MAX77693_MUIC_REG_CDETCTRL2,
.data = CDETCTRL2_VIDRMEN_MASK
@@ -135,21 +122,8 @@ struct max77693_muic_irq {

static struct max77693_muic_irq muic_irqs[] = {
{ MAX77693_MUIC_IRQ_INT1_ADC, "muic-ADC" },
- { MAX77693_MUIC_IRQ_INT1_ADC_LOW, "muic-ADCLOW" },
- { MAX77693_MUIC_IRQ_INT1_ADC_ERR, "muic-ADCError" },
{ MAX77693_MUIC_IRQ_INT1_ADC1K, "muic-ADC1K" },
{ MAX77693_MUIC_IRQ_INT2_CHGTYP, "muic-CHGTYP" },
- { MAX77693_MUIC_IRQ_INT2_CHGDETREUN, "muic-CHGDETREUN" },
- { MAX77693_MUIC_IRQ_INT2_DCDTMR, "muic-DCDTMR" },
- { MAX77693_MUIC_IRQ_INT2_DXOVP, "muic-DXOVP" },
- { MAX77693_MUIC_IRQ_INT2_VBVOLT, "muic-VBVOLT" },
- { MAX77693_MUIC_IRQ_INT2_VIDRM, "muic-VIDRM" },
- { MAX77693_MUIC_IRQ_INT3_EOC, "muic-EOC" },
- { MAX77693_MUIC_IRQ_INT3_CGMBC, "muic-CGMBC" },
- { MAX77693_MUIC_IRQ_INT3_OVP, "muic-OVP" },
- { MAX77693_MUIC_IRQ_INT3_MBCCHG_ERR, "muic-MBCCHG_ERR" },
- { MAX77693_MUIC_IRQ_INT3_CHG_ENABLED, "muic-CHG_ENABLED" },
- { MAX77693_MUIC_IRQ_INT3_BAT_DET, "muic-BAT_DET" },
};

/* Define supported accessory type */
--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/