This fixes a build issue when CONFIG_IIO_STM32_TIMER_TRIGGER isn't set but
used in stm32-dfsdm-adc driver (e.g. CONFIG_STM32_DFSDM_ADC is set):
ERROR: "is_stm32_timer_trigger" [drivers/iio/adc/stm32-dfsdm-adc.ko]
undefined!
There are two possible options to fix this issue:
- select IIO_STM32_TIMER_TRIGGER along with CONFIG_STM32_DFSDM_ADC.
This is what's being done currently for CONFIG_STM32_ADC.
- stub "is_stm32_timer_trigger" function
Choice is made to stub this function as suggested in [1]. This is also
inspired by similar "is_stm32_lptim_trigger" function (see [2]) in
include/linux/iio/timer/stm32-lptim-trigger.h
[1]
https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1977377.html
[2] https://lkml.org/lkml/2017/9/10/124
Fixes: 11646e81d775 ("iio: adc: stm32-dfsdm: add support for buffer modes")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Fix-suggested-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
#define TIM17_OC1 "tim17_oc1"
+#if IS_REACHABLE(CONFIG_IIO_STM32_TIMER_TRIGGER)
bool is_stm32_timer_trigger(struct iio_trigger *trig);
-
+#else
+static inline bool is_stm32_timer_trigger(struct iio_trigger *trig)
+{
+#if IS_ENABLED(CONFIG_IIO_STM32_TIMER_TRIGGER)
+ pr_warn_once("stm32-timer-trigger not linked in\n");
+#endif
+ return false;
+}
+#endif
#endif