Re: [PATCH v2 1/1] iio: trigger: stm32-timer: Make use of device properties

From: Jonathan Cameron
Date: Sun Feb 13 2022 - 13:15:48 EST


On Wed, 9 Feb 2022 15:24:22 +0100
Fabrice Gasnier <fabrice.gasnier@xxxxxxxxxxx> wrote:

> On 2/5/22 6:31 PM, Jonathan Cameron wrote:
> > 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(-)
>
> Hi Andy, Jonathan,
>
> You can add my:
> Reviewed-by: Fabrice Gasnier <fabrice.gasnier@xxxxxxxxxxx>
Applied to the togreg branch of iio.git and pushed out as testing for
0-day to poke at it and see if we missed anything.

Thanks,

Jonathan

>
> Thanks,
> Best Regards,
> Fabrice
>
> >>
> >> 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)
> >