Messages in this thread | | | Date | Mon, 22 Sep 2014 16:22:03 +0900 | From | Chanwoo Choi <> | Subject | Re: [PATCH v3] extcon: max77693: Fix a bug occured at changing ADC debounce time. |
| |
On 09/17/2014 12:58 PM, Jonghwa Lee wrote: > When it writes some value other than 0 to BTLDset and JIGset, muic device > will be reset automatically. And it happens during updating ADC debounce time, > because it shares same register. To update ADC debounce time without reset, > set value only to ADCDbset and 0 to BTLDset and JIGset. > > Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com> > --- > Changes: > v3: - Fix typo (regmap_write_bits -> regmap_write) > v2: - Fix comments. > > drivers/extcon/extcon-max77693.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/extcon/extcon-max77693.c b/drivers/extcon/extcon-max77693.c > index 77460f2..132540e 100644 > --- a/drivers/extcon/extcon-max77693.c > +++ b/drivers/extcon/extcon-max77693.c > @@ -255,10 +255,15 @@ static int max77693_muic_set_debounce_time(struct max77693_muic_info *info, > case ADC_DEBOUNCE_TIME_10MS: > case ADC_DEBOUNCE_TIME_25MS: > case ADC_DEBOUNCE_TIME_38_62MS: > - ret = regmap_update_bits(info->max77693->regmap_muic, > - MAX77693_MUIC_REG_CTRL3, > - CONTROL3_ADCDBSET_MASK, > - time << CONTROL3_ADCDBSET_SHIFT); > + /* > + * Don't touch BTLDset, JIGset when you want to change adc > + * debounce time. If it writes other than 0 to BTLDset, JIGset > + * muic device will be reset and loose current state. > + */ > + ret = regmap_write(info->max77693->regmap_muic, > + MAX77693_MUIC_REG_CTRL3, > + (CONTROL3_ADCDBSET_MASK & > + time << CONTROL3_ADCDBSET_SHIFT));
I think that masking operation is not necessary. I drop this operation and apply it.
> if (ret) { > dev_err(info->dev, "failed to set ADC debounce time\n"); > return ret; >
Applied.
Thanks, Chanwoo Choi
| |