linux/drivers/iio/adc
Olivier Moysan 883f50ead3 iio: adc: stm32-adc: disable adc before calibration
The calibration is launched from prepare callback.
The ADC state when entering this function may be unknown as the
ADC may have been left enabled by boot stage.
One prerequisite for ADC calibration is to have ADC in disabled state.
If the calibration is started when ADC is still enabled, the behavior is
unpredictable, and the calibration may fail with a timeout error.

Force ADC to disabled state in stm32h7_adc_selfcalib().
ADC enabling is ensured by stm32h7_adc_enable() call,
before leaving prepare callback.

Signed-off-by: Olivier Moysan <olivier.moysan@foss.st.com>
Reviewed-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Link: https://lore.kernel.org/r/20220620154738.801706-3-olivier.moysan@foss.st.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2022-07-01 11:19:09 +01:00
..
ab8500-gpadc.c iio:adc:ab8500: Switch from CONFIG_PM guards to pm_ptr() etc 2022-02-21 19:33:03 +00:00
ad799x.c iio: adc: ad799x: Implement selecting external reference voltage input on AD7991, AD7995 and AD7999. 2021-10-19 08:30:43 +01:00
ad7091r5.c iio:adc:ad7091r: Move exports into IIO_AD7091R namespace. 2022-02-18 11:42:26 +00:00
ad7091r-base.c iio:adc:ad7091r: Move exports into IIO_AD7091R namespace. 2022-02-18 11:42:26 +00:00
ad7091r-base.h
ad7124.c iio: adc: ad7124: add sequencer support 2022-04-04 09:11:25 +01:00
ad7192.c iio: Replace strtobool() with kstrtobool() 2022-04-28 19:22:54 +01:00
ad7266.c iio: adc: ad7266: Fix alignment for DMA safety 2022-06-14 11:53:12 +01:00
ad7280a.c iio: adc: ad7280a: Fix alignment for DMA safety 2022-06-14 11:53:12 +01:00
ad7291.c iio: adc: ad7291: convert probe to device-managed only 2021-10-19 08:27:35 +01:00
ad7292.c iio: adc: ad7292: Fix alignment for DMA safety 2022-06-14 11:53:12 +01:00
ad7298.c iio: adc: ad7298: Fix alignment for DMA safety 2022-06-14 11:53:12 +01:00
ad7476.c iio: adc: ad7476: Fix alignment for DMA safety 2022-06-14 11:53:12 +01:00
ad7606_par.c iio: adc: ad7606_par: explicitly add proper header files 2022-06-14 11:53:19 +01:00
ad7606_spi.c iio:adc:ad76060: Move exports into IIO_AD7606 namespace. 2022-02-18 11:42:26 +00:00
ad7606.c iio: adc: ad7606: explicitly add proper header files 2022-06-14 11:53:19 +01:00
ad7606.h iio: adc: ad7606: Fix alignment for DMA safety 2022-06-14 11:53:12 +01:00
ad7766.c iio: adc: ad7766: Fix alignment for DMA safety 2022-06-14 11:53:12 +01:00
ad7768-1.c iio: adc: ad7768-1: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
ad7780.c iio:adc:ad_sigma_delta: Move exports into IIO_AD_SIGMA_DELTA namespace 2022-02-18 11:42:26 +00:00
ad7791.c iio:adc:ad_sigma_delta: Move exports into IIO_AD_SIGMA_DELTA namespace 2022-02-18 11:42:26 +00:00
ad7793.c iio:adc:ad_sigma_delta: Move exports into IIO_AD_SIGMA_DELTA namespace 2022-02-18 11:42:26 +00:00
ad7887.c iio: adc: ad7887: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
ad7923.c iio: adc: ad7923: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
ad7949.c iio: adc: ad7949: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
ad9467.c iio: adc: adi-axi: Move exported symbols into IIO_ADI_AXI namespace. 2022-06-14 11:53:10 +01:00
ad_sigma_delta.c iio: adc: ad_sigma_delta: Add sequencer support 2022-04-04 09:11:25 +01:00
adi-axi-adc.c iio: core: Fix IIO_ALIGN and rename as it was not sufficiently large 2022-06-14 11:53:11 +01:00
aspeed_adc.c iio: adc: aspeed: Add divider flag to fix incorrect voltage reading. 2022-03-02 13:38:29 +00:00
at91_adc.c iio:adc:at91-adc: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() etc 2022-02-18 11:43:11 +00:00
at91-sama5d2_adc.c iio: at91-sama5d2: Limit requested watermark value to hwfifo size 2022-06-15 22:07:10 +01:00
axp20x_adc.c 1st set of IIO new device support, features and cleanup for 5.17 2021-12-22 12:33:01 +01:00
axp288_adc.c
bcm_iproc_adc.c
berlin2-adc.c iio: adc: berlin2-adc: explicitly add proper header files 2022-06-14 11:53:20 +01:00
cc10001_adc.c
cpcap-adc.c iio: adc: cpcap-adc: remove redundant assignment to variable cal_data_diff 2022-02-07 20:40:39 +00:00
da9150-gpadc.c
dln2-adc.c iio: dln2: Check return value of devm_iio_trigger_register() 2021-11-17 17:52:35 +00:00
envelope-detector.c iio:adc:envelope-detector: Switch from of headers to mod_devicetable.h 2021-12-12 17:13:11 +00:00
ep93xx_adc.c
exynos_adc.c iio:adc:exynos_adc: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() 2022-02-18 11:43:11 +00:00
fsl-imx25-gcq.c
hi8435.c iio: adc: hi8435: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
hx711.c
imx7d_adc.c iio: adc: imx7d_adc: explicitly add proper header files 2022-06-14 11:53:20 +01:00
imx8qxp-adc.c iio: adc: imx8qxp-adc: explicitly add proper header files 2022-06-14 11:53:20 +01:00
ina2xx-adc.c iio:adc:ina2xx: Improve error reporting for problems during .remove() 2022-06-11 14:35:27 +01:00
ingenic-adc.c iio: adc: ingenic-adc: explicitly add proper header files 2022-06-14 11:53:20 +01:00
intel_mrfld_adc.c iio: adc: intel_mrfld_adc: explicitly add proper header files 2022-06-15 22:07:09 +01:00
Kconfig Merge branch 'immutable-qcom-spmi-rradc' into togreg 2022-06-18 14:15:52 +01:00
lp8788_adc.c
lpc18xx_adc.c iio: adc: lpc18xx_adc: Switch from of headers to mod_devicetable.h 2022-06-14 11:53:08 +01:00
lpc32xx_adc.c
ltc2471.c
ltc2485.c
ltc2496.c iio: adc: ltc2496: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
ltc2497-core.c
ltc2497.c iio: adc: ltc2497: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
ltc2497.h
Makefile iio: adc: qcom-spmi-rradc: introduce round robin adc 2022-06-18 14:14:29 +01:00
max1027.c iio: adc: max1027: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
max1118.c iio: adc: max1118: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
max1241.c iio: adc: max1241: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
max1363.c
max9611.c iio: max9611: Use sysfs_emit() 2022-01-23 18:03:36 +00:00
max11100.c iio: adc: max11100: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
mcp320x.c iio: adc: mcp320x: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
mcp3422.c
mcp3911.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
men_z188_adc.c iio: adc: men_z188_adc: Fix a resource leak in an error handling path 2022-01-30 13:51:24 +00:00
meson_saradc.c iio: adc: meson_saradc: Use regmap_read_poll_timeout() for busy wait 2022-06-15 22:07:10 +01:00
mp2629_adc.c iio: adc: mp2629_adc: explicitly add proper header files 2022-06-14 11:53:20 +01:00
mt6360-adc.c iio: adc: mt6360-adc: explicitly add proper header files 2022-06-14 11:53:20 +01:00
mt6577_auxadc.c iio: adc: mt8186: Add compatible node for mt8186 2022-01-23 18:03:35 +00:00
mxs-lradc-adc.c
nau7802.c iio: adc: nau7802: Make use of device properties 2022-06-14 11:53:09 +01:00
npcm_adc.c iio: adc: npcm_adc: explicitly add proper header files 2022-06-14 11:53:20 +01:00
palmas_gpadc.c iio: palmas: shut up warning about calibration mismatch (due to noise) 2022-04-04 09:11:25 +01:00
qcom-pm8xxx-xoadc.c iio: adc: qcom-vadc-common: Re-use generic struct u32_fract 2022-01-30 12:21:25 +00:00
qcom-spmi-adc5.c
qcom-spmi-iadc.c
qcom-spmi-rradc.c iio: adc: qcom-spmi-rradc: Fix spelling mistake "coherrency" -> "coherency" 2022-07-01 11:19:08 +01:00
qcom-spmi-vadc.c iio: adc: qcom-vadc-common: Re-use generic struct u32_fract 2022-01-30 12:21:25 +00:00
qcom-vadc-common.c iio: adc: qcom-vadc-common: add reverse scaling for PMIC5 Gen2 ADC_TM 2022-05-19 12:11:51 +02:00
rcar-gyroadc.c iio:adc:rcar: Switch from CONFIG_PM guards to pm_ptr() etc 2022-02-21 19:33:03 +00:00
rn5t618-adc.c iio: adc: rn5t618: Re-use generic struct u16_fract 2022-01-30 12:21:25 +00:00
rockchip_saradc.c iio:adc:rockchip: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() etc 2022-02-18 11:43:12 +00:00
rzg2l_adc.c iio: adc: rzg2l_adc: explicitly add proper header files 2022-06-14 11:53:20 +01:00
sc27xx_adc.c iio: adc: sc27xx_adc: Re-use generic struct u32_fract 2022-06-15 22:07:10 +01:00
sd_adc_modulator.c
spear_adc.c
stm32-adc-core.c iio: adc: stm32-adc: Use generic_handle_domain_irq() 2022-06-19 17:20:59 +01:00
stm32-adc-core.h iio: adc: stm32-adc: add support of internal channels 2021-10-20 14:43:54 +01:00
stm32-adc.c iio: adc: stm32-adc: disable adc before calibration 2022-07-01 11:19:09 +01:00
stm32-dfsdm-adc.c iio: adc: stm32-dfsdm: Avoid dereferencing ->currentmode 2022-04-10 16:15:02 +01:00
stm32-dfsdm-core.c iio:adc:stm32*: Use pm[_sleep]_ptr() etc to avoid need to make pm __maybe_unused 2022-02-21 19:33:04 +00:00
stm32-dfsdm.h
stmpe-adc.c iio: stmpe-adc: use of_device_id for OF matching 2022-05-01 19:01:13 +01:00
stx104.c iio: adc: stx104: Utilize iomap interface 2022-06-11 14:35:26 +01:00
sun4i-gpadc-iio.c
ti_am335x_adc.c iio: core: Simplify the registration of kfifo buffers 2022-04-10 16:25:46 +01:00
ti-adc081c.c iio: adc: ti-adc081c: Partial revert of removal of ACPI IDs 2021-12-21 15:13:29 +00:00
ti-adc084s021.c iio: adc: ti-adc084s021: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-adc108s102.c iio: adc: ti-adc108s102: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-adc128s052.c iio: adc: ti-adc128s052: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-adc161s626.c iio: adc: ti-adc161s626: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-adc0832.c iio: adc: ti-adc0832: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-adc12138.c iio: adc: ti-adc12138: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-ads124s08.c iio: adc: ti-ads124s08: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-ads131e08.c iio: adc: ti-ads131e08: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-ads1015.c iio:adc:ti-ads1015: Improve error reporting for problems during .remove() 2022-06-11 14:35:27 +01:00
ti-ads7950.c iio: adc: ti-ads7950: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-ads8344.c iio: adc: ti-ads8344: Fix alignment for DMA safety 2022-06-14 11:53:15 +01:00
ti-ads8688.c iio: adc: ti-ads8688: Fix alignment for DMA safety 2022-06-14 11:53:15 +01:00
ti-tlc4541.c iio: adc: ti-tlc4541: Fix alignment for DMA safety 2022-06-14 11:53:15 +01:00
ti-tsc2046.c First set of new device support, fixes, cleanups and features for IIO in 5.18 2022-03-18 12:41:32 +01:00
twl4030-madc.c iio: adc: twl4030-madc: Re-use generic struct s16_fract 2022-01-30 12:21:25 +00:00
twl6030-gpadc.c iio: adc: Add check for devm_request_threaded_irq 2022-02-26 18:43:59 +00:00
vf610_adc.c iio: adc: vf610_adc: Make use of device properties 2022-06-14 11:53:08 +01:00
viperboard_adc.c
xilinx-ams.c iio: adc: xilinx-ams: Fix single channel switching sequence 2022-03-02 13:39:08 +00:00
xilinx-xadc-core.c iio: xilinx-xadc-core: Use local variable in xadc_read_raw 2021-11-17 17:51:44 +00:00
xilinx-xadc-events.c
xilinx-xadc.h iio: xilinx-xadc: Remove irq field from state struct 2021-10-20 14:43:53 +01:00