Skip to content

Commit c1a6013

Browse files
gautierg-stcarlescufi
authored andcommitted
drivers: adc: cleanup stm32 adc driver
Inverts the logic of some #ifdef, replacing lists of newer series by a list of NOT older series. This makes it shorter, and more future-proof as future series are more likely to work out of the box, without need to manually add a new define in each place. Signed-off-by: Guillaume Gautier <[email protected]>
1 parent bab52fb commit c1a6013

File tree

1 file changed

+45
-68
lines changed

1 file changed

+45
-68
lines changed

drivers/adc/adc_stm32.c

Lines changed: 45 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -307,19 +307,11 @@ static void adc_stm32_start_conversion(const struct device *dev)
307307

308308
LOG_DBG("Starting conversion");
309309

310-
#if defined(CONFIG_SOC_SERIES_STM32C0X) || \
311-
defined(CONFIG_SOC_SERIES_STM32F0X) || \
312-
defined(CONFIG_SOC_SERIES_STM32F3X) || \
313-
defined(CONFIG_SOC_SERIES_STM32L0X) || \
314-
defined(CONFIG_SOC_SERIES_STM32L4X) || \
315-
defined(CONFIG_SOC_SERIES_STM32L5X) || \
316-
defined(CONFIG_SOC_SERIES_STM32WBX) || \
317-
defined(CONFIG_SOC_SERIES_STM32G0X) || \
318-
defined(CONFIG_SOC_SERIES_STM32G4X) || \
319-
defined(CONFIG_SOC_SERIES_STM32H5X) || \
320-
defined(CONFIG_SOC_SERIES_STM32H7X) || \
321-
defined(CONFIG_SOC_SERIES_STM32U5X) || \
322-
defined(CONFIG_SOC_SERIES_STM32WLX)
310+
#if !defined(CONFIG_SOC_SERIES_STM32F1X) && \
311+
!defined(CONFIG_SOC_SERIES_STM32F2X) && \
312+
!defined(CONFIG_SOC_SERIES_STM32F4X) && \
313+
!defined(CONFIG_SOC_SERIES_STM32F7X) && \
314+
!defined(CONFIG_SOC_SERIES_STM32L1X)
323315
LL_ADC_REG_StartConversion(adc);
324316
#else
325317
LL_ADC_REG_StartConversionSWStart(adc);
@@ -429,13 +421,17 @@ static void adc_stm32_disable(ADC_TypeDef *adc)
429421
}
430422
#endif
431423

432-
#if defined(CONFIG_SOC_SERIES_STM32G4X) || \
433-
defined(CONFIG_SOC_SERIES_STM32F3X) || \
434-
defined(CONFIG_SOC_SERIES_STM32H7X) || \
435-
defined(CONFIG_SOC_SERIES_STM32L4X) || \
436-
defined(CONFIG_SOC_SERIES_STM32L5X) || \
437-
defined(CONFIG_SOC_SERIES_STM32U5X) || \
438-
defined(CONFIG_SOC_SERIES_STM32WBX)
424+
#if !defined(CONFIG_SOC_SERIES_STM32C0X) && \
425+
!defined(CONFIG_SOC_SERIES_STM32F0X) && \
426+
!defined(CONFIG_SOC_SERIES_STM32F1X) && \
427+
!defined(STM32F3X_ADC_V2_5) && \
428+
!defined(CONFIG_SOC_SERIES_STM32F2X) && \
429+
!defined(CONFIG_SOC_SERIES_STM32F4X) && \
430+
!defined(CONFIG_SOC_SERIES_STM32F7X) && \
431+
!defined(CONFIG_SOC_SERIES_STM32G0X) && \
432+
!defined(CONFIG_SOC_SERIES_STM32L0X) && \
433+
!defined(CONFIG_SOC_SERIES_STM32L1X) && \
434+
!defined(CONFIG_SOC_SERIES_STM32WLX)
439435
if (LL_ADC_INJ_IsConversionOngoing(adc)) {
440436
LL_ADC_INJ_StopConversion(adc);
441437
while (LL_ADC_INJ_IsConversionOngoing(adc)) {
@@ -452,16 +448,13 @@ static void adc_stm32_disable(ADC_TypeDef *adc)
452448
}
453449
}
454450

455-
#if defined(CONFIG_SOC_SERIES_STM32C0X) || \
456-
defined(CONFIG_SOC_SERIES_STM32G0X) || \
457-
defined(CONFIG_SOC_SERIES_STM32G4X) || \
458-
defined(CONFIG_SOC_SERIES_STM32H7X) || \
459-
defined(CONFIG_SOC_SERIES_STM32L0X) || \
460-
defined(CONFIG_SOC_SERIES_STM32L4X) || \
461-
defined(CONFIG_SOC_SERIES_STM32L5X) || \
462-
defined(CONFIG_SOC_SERIES_STM32U5X) || \
463-
defined(CONFIG_SOC_SERIES_STM32WBX) || \
464-
defined(CONFIG_SOC_SERIES_STM32WLX)
451+
#if !defined(CONFIG_SOC_SERIES_STM32F0X) && \
452+
!defined(CONFIG_SOC_SERIES_STM32F1X) && \
453+
!defined(CONFIG_SOC_SERIES_STM32F2X) && \
454+
!defined(CONFIG_SOC_SERIES_STM32F3X) && \
455+
!defined(CONFIG_SOC_SERIES_STM32F4X) && \
456+
!defined(CONFIG_SOC_SERIES_STM32F7X) && \
457+
!defined(CONFIG_SOC_SERIES_STM32L1X)
465458

466459
#ifdef LL_ADC_OVS_RATIO_2
467460
/* table for shifting oversampling mostly for ADC3 != ADC_VER_V5_V90 */
@@ -931,16 +924,13 @@ static int start_read(const struct device *dev,
931924
return err;
932925
}
933926

934-
#if defined(CONFIG_SOC_SERIES_STM32C0X) || \
935-
defined(CONFIG_SOC_SERIES_STM32G0X) || \
936-
defined(CONFIG_SOC_SERIES_STM32G4X) || \
937-
defined(CONFIG_SOC_SERIES_STM32H7X) || \
938-
defined(CONFIG_SOC_SERIES_STM32L0X) || \
939-
defined(CONFIG_SOC_SERIES_STM32L4X) || \
940-
defined(CONFIG_SOC_SERIES_STM32L5X) || \
941-
defined(CONFIG_SOC_SERIES_STM32U5X) || \
942-
defined(CONFIG_SOC_SERIES_STM32WBX) || \
943-
defined(CONFIG_SOC_SERIES_STM32WLX)
927+
#if !defined(CONFIG_SOC_SERIES_STM32F0X) && \
928+
!defined(CONFIG_SOC_SERIES_STM32F1X) && \
929+
!defined(CONFIG_SOC_SERIES_STM32F2X) && \
930+
!defined(CONFIG_SOC_SERIES_STM32F3X) && \
931+
!defined(CONFIG_SOC_SERIES_STM32F4X) && \
932+
!defined(CONFIG_SOC_SERIES_STM32F7X) && \
933+
!defined(CONFIG_SOC_SERIES_STM32L1X)
944934

945935
switch (sequence->oversampling) {
946936
case 0:
@@ -1020,25 +1010,16 @@ static int start_read(const struct device *dev,
10201010
#endif /* !defined(CONFIG_SOC_SERIES_STM32F1X) */
10211011

10221012
#if !defined(CONFIG_ADC_STM32_DMA)
1023-
#if defined(CONFIG_SOC_SERIES_STM32C0X) || \
1024-
defined(CONFIG_SOC_SERIES_STM32F0X) || \
1025-
defined(STM32F3X_ADC_V1_1) || \
1026-
defined(CONFIG_SOC_SERIES_STM32L0X) || \
1027-
defined(CONFIG_SOC_SERIES_STM32L4X) || \
1028-
defined(CONFIG_SOC_SERIES_STM32L5X) || \
1029-
defined(CONFIG_SOC_SERIES_STM32WBX) || \
1030-
defined(CONFIG_SOC_SERIES_STM32G0X) || \
1031-
defined(CONFIG_SOC_SERIES_STM32G4X) || \
1032-
defined(CONFIG_SOC_SERIES_STM32H5X) || \
1033-
defined(CONFIG_SOC_SERIES_STM32H7X) || \
1034-
defined(CONFIG_SOC_SERIES_STM32U5X) || \
1035-
defined(CONFIG_SOC_SERIES_STM32WLX)
1036-
LL_ADC_EnableIT_EOC(adc);
1013+
#if defined(CONFIG_SOC_SERIES_STM32F2X) || \
1014+
defined(CONFIG_SOC_SERIES_STM32F4X) || \
1015+
defined(CONFIG_SOC_SERIES_STM32F7X) || \
1016+
defined(CONFIG_SOC_SERIES_STM32L1X)
1017+
LL_ADC_EnableIT_EOCS(adc);
10371018
#elif defined(STM32F3X_ADC_V2_5) || \
10381019
defined(CONFIG_SOC_SERIES_STM32F1X)
10391020
LL_ADC_EnableIT_EOS(adc);
10401021
#else
1041-
LL_ADC_EnableIT_EOCS(adc);
1022+
LL_ADC_EnableIT_EOC(adc);
10421023
#endif
10431024
#endif /* CONFIG_ADC_STM32_DMA */
10441025

@@ -1336,20 +1317,16 @@ static int adc_stm32_init(const struct device *dev)
13361317
LL_APB2_GRP1_DisableClockSleep(LL_APB2_GRP1_PERIPH_ADC);
13371318
#endif
13381319
/*
1339-
* C0, F3, L4, WB, G0 and G4 ADC modules need some time
1340-
* to be stabilized before performing any enable or calibration actions.
1320+
* Many ADC modules need some time to be stabilized before performing
1321+
* any enable or calibration actions.
13411322
*/
1342-
#if defined(STM32F3X_ADC_V1_1) || \
1343-
defined(CONFIG_SOC_SERIES_STM32C0X) || \
1344-
defined(CONFIG_SOC_SERIES_STM32L4X) || \
1345-
defined(CONFIG_SOC_SERIES_STM32L5X) || \
1346-
defined(CONFIG_SOC_SERIES_STM32WBX) || \
1347-
defined(CONFIG_SOC_SERIES_STM32G0X) || \
1348-
defined(CONFIG_SOC_SERIES_STM32G4X) || \
1349-
defined(CONFIG_SOC_SERIES_STM32H5X) || \
1350-
defined(CONFIG_SOC_SERIES_STM32H7X) || \
1351-
defined(CONFIG_SOC_SERIES_STM32U5X) || \
1352-
defined(CONFIG_SOC_SERIES_STM32WLX)
1323+
#if !defined(CONFIG_SOC_SERIES_STM32F0X) && \
1324+
!defined(CONFIG_SOC_SERIES_STM32F1X) && \
1325+
!defined(CONFIG_SOC_SERIES_STM32F2X) && \
1326+
!defined(CONFIG_SOC_SERIES_STM32F4X) && \
1327+
!defined(CONFIG_SOC_SERIES_STM32F7X) && \
1328+
!defined(STM32F3X_ADC_V2_5) && \
1329+
!defined(CONFIG_SOC_SERIES_STM32L1X)
13531330
LL_ADC_EnableInternalRegulator(adc);
13541331
k_busy_wait(LL_ADC_DELAY_INTERNAL_REGUL_STAB_US);
13551332
#endif

0 commit comments

Comments
 (0)