On Wed, 2 Feb 2022 22:41:12 +0200 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > Convert the module to be property provider agnostic and allow > it to be used on non-OF platforms. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Looks fine to me. The stm32 drivers are well maintained so I'll leave this one on list a little longer for feedback. +Cc: Fabrice > --- > v2: dropped depends on OF > drivers/iio/trigger/Kconfig | 2 +- > drivers/iio/trigger/stm32-timer-trigger.c | 11 ++++++----- > 2 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/drivers/iio/trigger/Kconfig b/drivers/iio/trigger/Kconfig > index 8cef2f7452e8..7ecb69725b1d 100644 > --- a/drivers/iio/trigger/Kconfig > +++ b/drivers/iio/trigger/Kconfig > @@ -38,7 +38,7 @@ config IIO_STM32_LPTIMER_TRIGGER > > config IIO_STM32_TIMER_TRIGGER > tristate "STM32 Timer Trigger" > - depends on (ARCH_STM32 && OF && MFD_STM32_TIMERS) || COMPILE_TEST > + depends on (ARCH_STM32 && MFD_STM32_TIMERS) || COMPILE_TEST > help > Select this option to enable STM32 Timer Trigger > > diff --git a/drivers/iio/trigger/stm32-timer-trigger.c b/drivers/iio/trigger/stm32-timer-trigger.c > index 4f9461e1412c..5049d9ecfc1a 100644 > --- a/drivers/iio/trigger/stm32-timer-trigger.c > +++ b/drivers/iio/trigger/stm32-timer-trigger.c > @@ -11,9 +11,10 @@ > #include <linux/iio/timer/stm32-timer-trigger.h> > #include <linux/iio/trigger.h> > #include <linux/mfd/stm32-timers.h> > +#include <linux/mod_devicetable.h> > #include <linux/module.h> > #include <linux/platform_device.h> > -#include <linux/of_device.h> > +#include <linux/property.h> > > #define MAX_TRIGGERS 7 > #define MAX_VALIDS 5 > @@ -771,11 +772,11 @@ static int stm32_timer_trigger_probe(struct platform_device *pdev) > unsigned int index; > int ret; > > - if (of_property_read_u32(dev->of_node, "reg", &index)) > - return -EINVAL; > + ret = device_property_read_u32(dev, "reg", &index); > + if (ret) > + return ret; > > - cfg = (const struct stm32_timer_trigger_cfg *) > - of_match_device(dev->driver->of_match_table, dev)->data; > + cfg = device_get_match_data(dev); > > if (index >= ARRAY_SIZE(triggers_table) || > index >= cfg->num_valids_table)