diff mbox series

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

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

Commit Message

Andy Shevchenko Feb. 2, 2022, 8:41 p.m. UTC
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(-)

Comments

Jonathan Cameron Feb. 5, 2022, 5:31 p.m. UTC | #1
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)
Fabrice Gasnier Feb. 9, 2022, 2:24 p.m. UTC | #2
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)
>
Jonathan Cameron Feb. 13, 2022, 6:22 p.m. UTC | #3
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 mbox series

Patch

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)