mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-19 21:50:17 -05:00
iio: adc: sc27xx_adc: make use of regmap_clear_bits(), regmap_set_bits()
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>
This commit is contained in:
committed by
Jonathan Cameron
parent
cb3f8e0c63
commit
059fbfaa5d
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user