iio: adc: sc27xx_adc: make use of regmap_clear_bits(), regmap_set_bits()
authorTrevor Gamblin <tgamblin@baylibre.com>
Mon, 17 Jun 2024 13:49:57 +0000 (09:49 -0400)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 25 Jun 2024 20:04:45 +0000 (21:04 +0100)
Instead of using regmap_update_bits() and passing the mask twice, use
regmap_set_bits().

Instead of using regmap_update_bits() and passing val = 0, use
regmap_clear_bits().

Suggested-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://patch.msgid.link/20240617-review-v3-17-88d1338c4cca@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/sc27xx_adc.c

index b4a2e057d80f2690d02ef76480862c18a98e7031..2535c2c3e60bf3eb32c8877a1edff078f3e934e9 100644 (file)
@@ -508,13 +508,13 @@ static int sc27xx_adc_read(struct sc27xx_adc_data *data, int channel,
                }
        }
 
-       ret = regmap_update_bits(data->regmap, data->base + SC27XX_ADC_CTL,
-                                SC27XX_ADC_EN, SC27XX_ADC_EN);
+       ret = regmap_set_bits(data->regmap, data->base + SC27XX_ADC_CTL,
+                             SC27XX_ADC_EN);
        if (ret)
                goto regulator_restore;
 
-       ret = regmap_update_bits(data->regmap, data->base + SC27XX_ADC_INT_CLR,
-                                SC27XX_ADC_IRQ_CLR, SC27XX_ADC_IRQ_CLR);
+       ret = regmap_set_bits(data->regmap, data->base + SC27XX_ADC_INT_CLR,
+                             SC27XX_ADC_IRQ_CLR);
        if (ret)
                goto disable_adc;
 
@@ -537,8 +537,8 @@ static int sc27xx_adc_read(struct sc27xx_adc_data *data, int channel,
        if (ret)
                goto disable_adc;
 
-       ret = regmap_update_bits(data->regmap, data->base + SC27XX_ADC_CTL,
-                                SC27XX_ADC_CHN_RUN, SC27XX_ADC_CHN_RUN);
+       ret = regmap_set_bits(data->regmap, data->base + SC27XX_ADC_CTL,
+                             SC27XX_ADC_CHN_RUN);
        if (ret)
                goto disable_adc;
 
@@ -559,8 +559,8 @@ static int sc27xx_adc_read(struct sc27xx_adc_data *data, int channel,
        value &= SC27XX_ADC_DATA_MASK;
 
 disable_adc:
-       regmap_update_bits(data->regmap, data->base + SC27XX_ADC_CTL,
-                          SC27XX_ADC_EN, 0);
+       regmap_clear_bits(data->regmap, data->base + SC27XX_ADC_CTL,
+                         SC27XX_ADC_EN);
 regulator_restore:
        if ((data->var_data->set_volref) && (channel == 30 || channel == 31)) {
                ret_volref = regulator_set_voltage(data->volref,
@@ -765,15 +765,14 @@ static int sc27xx_adc_enable(struct sc27xx_adc_data *data)
 {
        int ret;
 
-       ret = regmap_update_bits(data->regmap, data->var_data->module_en,
-                                SC27XX_MODULE_ADC_EN, SC27XX_MODULE_ADC_EN);
+       ret = regmap_set_bits(data->regmap, data->var_data->module_en,
+                             SC27XX_MODULE_ADC_EN);
        if (ret)
                return ret;
 
        /* Enable ADC work clock and controller clock */
-       ret = regmap_update_bits(data->regmap, data->var_data->clk_en,
-                                SC27XX_CLK_ADC_EN | SC27XX_CLK_ADC_CLK_EN,
-                                SC27XX_CLK_ADC_EN | SC27XX_CLK_ADC_CLK_EN);
+       ret = regmap_set_bits(data->regmap, data->var_data->clk_en,
+                             SC27XX_CLK_ADC_EN | SC27XX_CLK_ADC_CLK_EN);
        if (ret)
                goto disable_adc;
 
@@ -789,11 +788,11 @@ static int sc27xx_adc_enable(struct sc27xx_adc_data *data)
        return 0;
 
 disable_clk:
-       regmap_update_bits(data->regmap, data->var_data->clk_en,
-                          SC27XX_CLK_ADC_EN | SC27XX_CLK_ADC_CLK_EN, 0);
+       regmap_clear_bits(data->regmap, data->var_data->clk_en,
+                         SC27XX_CLK_ADC_EN | SC27XX_CLK_ADC_CLK_EN);
 disable_adc:
-       regmap_update_bits(data->regmap, data->var_data->module_en,
-                          SC27XX_MODULE_ADC_EN, 0);
+       regmap_clear_bits(data->regmap, data->var_data->module_en,
+                         SC27XX_MODULE_ADC_EN);
 
        return ret;
 }
@@ -803,11 +802,11 @@ static void sc27xx_adc_disable(void *_data)
        struct sc27xx_adc_data *data = _data;
 
        /* Disable ADC work clock and controller clock */
-       regmap_update_bits(data->regmap, data->var_data->clk_en,
-                          SC27XX_CLK_ADC_EN | SC27XX_CLK_ADC_CLK_EN, 0);
+       regmap_clear_bits(data->regmap, data->var_data->clk_en,
+                         SC27XX_CLK_ADC_EN | SC27XX_CLK_ADC_CLK_EN);
 
-       regmap_update_bits(data->regmap, data->var_data->module_en,
-                          SC27XX_MODULE_ADC_EN, 0);
+       regmap_clear_bits(data->regmap, data->var_data->module_en,
+                         SC27XX_MODULE_ADC_EN);
 }
 
 static const struct sc27xx_adc_variant_data sc2731_data = {