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

Krzysztof Kozlowski
2014-10-22T08:46:41Z

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@samsung.com>
---
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 863d088c9bdd..9d21e75a7032 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