diff options
author | Axel Lin <axel.lin@ingics.com> | 2012-10-04 02:55:23 +0200 |
---|---|---|
committer | MyungJoo Ham <myungjoo.ham@samsung.com> | 2012-10-23 09:32:15 +0200 |
commit | bf2627d66d416ff438f37643d32866aa93947be6 (patch) | |
tree | b60f88d2fd158bf2f1bde5bc217dbcb7cb185099 /drivers/extcon/extcon-max77693.c | |
parent | extcon: Fix kerneldoc for extcon_set_cable_state and extcon_set_cable_state_ (diff) | |
download | linux-bf2627d66d416ff438f37643d32866aa93947be6.tar.xz linux-bf2627d66d416ff438f37643d32866aa93947be6.zip |
extcon: max77693: Use max77693_update_reg for rmw operations
This simplifies the code.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Diffstat (limited to 'drivers/extcon/extcon-max77693.c')
-rw-r--r-- | drivers/extcon/extcon-max77693.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/extcon/extcon-max77693.c b/drivers/extcon/extcon-max77693.c index e21387e2da5c..e0ed622a0df0 100644 --- a/drivers/extcon/extcon-max77693.c +++ b/drivers/extcon/extcon-max77693.c @@ -239,25 +239,19 @@ const char *max77693_extcon_cable[] = { static int max77693_muic_set_debounce_time(struct max77693_muic_info *info, enum max77693_muic_adc_debounce_time time) { - int ret = 0; - u8 ctrl3; + int ret; switch (time) { case ADC_DEBOUNCE_TIME_5MS: case ADC_DEBOUNCE_TIME_10MS: case ADC_DEBOUNCE_TIME_25MS: case ADC_DEBOUNCE_TIME_38_62MS: - ret = max77693_read_reg(info->max77693->regmap_muic, - MAX77693_MUIC_REG_CTRL3, &ctrl3); - ctrl3 &= ~CONTROL3_ADCDBSET_MASK; - ctrl3 |= (time << CONTROL3_ADCDBSET_SHIFT); - - ret = max77693_write_reg(info->max77693->regmap_muic, - MAX77693_MUIC_REG_CTRL3, ctrl3); - if (ret) { + ret = max77693_update_reg(info->max77693->regmap_muic, + MAX77693_MUIC_REG_CTRL3, + time << CONTROL3_ADCDBSET_SHIFT, + CONTROL3_ADCDBSET_MASK); + if (ret) dev_err(info->dev, "failed to set ADC debounce time\n"); - ret = -EINVAL; - } break; default: dev_err(info->dev, "invalid ADC debounce time\n"); |