diff options
Diffstat (limited to 'drivers/iio/adc/stm32-adc-core.c')
| -rw-r--r-- | drivers/iio/adc/stm32-adc-core.c | 23 | 
1 files changed, 13 insertions, 10 deletions
diff --git a/drivers/iio/adc/stm32-adc-core.c b/drivers/iio/adc/stm32-adc-core.c index 6537f4f776c5..2df88d2b880a 100644 --- a/drivers/iio/adc/stm32-adc-core.c +++ b/drivers/iio/adc/stm32-adc-core.c @@ -280,21 +280,21 @@ out:  static const struct stm32_adc_common_regs stm32f4_adc_common_regs = {  	.csr = STM32F4_ADC_CSR,  	.ccr = STM32F4_ADC_CCR, -	.eoc1_msk = STM32F4_EOC1, -	.eoc2_msk = STM32F4_EOC2, -	.eoc3_msk = STM32F4_EOC3, +	.eoc1_msk = STM32F4_EOC1 | STM32F4_OVR1, +	.eoc2_msk = STM32F4_EOC2 | STM32F4_OVR2, +	.eoc3_msk = STM32F4_EOC3 | STM32F4_OVR3,  	.ier = STM32F4_ADC_CR1, -	.eocie_msk = STM32F4_EOCIE, +	.eocie_msk = STM32F4_EOCIE | STM32F4_OVRIE,  };  /* STM32H7 common registers definitions */  static const struct stm32_adc_common_regs stm32h7_adc_common_regs = {  	.csr = STM32H7_ADC_CSR,  	.ccr = STM32H7_ADC_CCR, -	.eoc1_msk = STM32H7_EOC_MST, -	.eoc2_msk = STM32H7_EOC_SLV, +	.eoc1_msk = STM32H7_EOC_MST | STM32H7_OVR_MST, +	.eoc2_msk = STM32H7_EOC_SLV | STM32H7_OVR_SLV,  	.ier = STM32H7_ADC_IER, -	.eocie_msk = STM32H7_EOCIE, +	.eocie_msk = STM32H7_EOCIE | STM32H7_OVRIE,  };  static const unsigned int stm32_adc_offset[STM32_ADC_MAX_ADCS] = { @@ -688,7 +688,8 @@ static int stm32_adc_probe(struct platform_device *pdev)  	priv->vref = devm_regulator_get(&pdev->dev, "vref");  	if (IS_ERR(priv->vref)) {  		ret = PTR_ERR(priv->vref); -		dev_err(&pdev->dev, "vref get failed, %d\n", ret); +		if (ret != -EPROBE_DEFER) +			dev_err(&pdev->dev, "vref get failed, %d\n", ret);  		return ret;  	} @@ -696,7 +697,8 @@ static int stm32_adc_probe(struct platform_device *pdev)  	if (IS_ERR(priv->aclk)) {  		ret = PTR_ERR(priv->aclk);  		if (ret != -ENOENT) { -			dev_err(&pdev->dev, "Can't get 'adc' clock\n"); +			if (ret != -EPROBE_DEFER) +				dev_err(&pdev->dev, "Can't get 'adc' clock\n");  			return ret;  		}  		priv->aclk = NULL; @@ -706,7 +708,8 @@ static int stm32_adc_probe(struct platform_device *pdev)  	if (IS_ERR(priv->bclk)) {  		ret = PTR_ERR(priv->bclk);  		if (ret != -ENOENT) { -			dev_err(&pdev->dev, "Can't get 'bus' clock\n"); +			if (ret != -EPROBE_DEFER) +				dev_err(&pdev->dev, "Can't get 'bus' clock\n");  			return ret;  		}  		priv->bclk = NULL;  |