Message ID | 20220202204112.57095-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v2,1/1] iio: trigger: stm32-timer: Make use of device properties | expand |
On Wed, 2 Feb 2022 22:41:12 +0200 Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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@linux.intel.com> 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)
On 2/5/22 6:31 PM, Jonathan Cameron wrote: > On Wed, 2 Feb 2022 22:41:12 +0200 > Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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@linux.intel.com> > 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@foss.st.com> 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) >
On Wed, 9 Feb 2022 15:24:22 +0100 Fabrice Gasnier <fabrice.gasnier@foss.st.com> wrote: > On 2/5/22 6:31 PM, Jonathan Cameron wrote: > > On Wed, 2 Feb 2022 22:41:12 +0200 > > Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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@linux.intel.com> > > 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@foss.st.com> 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) > >
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)
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@linux.intel.com> --- 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(-)