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

From: Jonathan Cameron
Date: Sat Feb 05 2022 - 12:24:49 EST


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)