Re: [PATCH] iio: health: max30100: use generic property handler

From: Jonathan Cameron
Date: Sun Mar 15 2020 - 08:51:08 EST


On Fri, 13 Mar 2020 08:59:13 +0530
Rohit Sarkar <rohitsarkar5398@xxxxxxxxx> wrote:

> Instead of of_property_read_xxx use device_property_read_xxx as it is
> compatible with ACPI too as opposed to only device tree.
>
> Signed-off-by: Rohit Sarkar <rohitsarkar5398@xxxxxxxxx>

Look at how this driver is probing from DT. There is another thing you need
to do to make it possible to use PRP001 ACPI based bindings.

(check what Andy Shevchenko did in a similar patch)

I'm being deliberately vague as useful for you to understand what is going
on here for yourself :)

Also, make sure to check you have cc'd everyone relevant. Here you are missing
the driver author. +cc Matt
Jonathan

> ---
> drivers/iio/health/max30100.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iio/health/max30100.c b/drivers/iio/health/max30100.c
> index 84010501762d..8249c6b36818 100644
> --- a/drivers/iio/health/max30100.c
> +++ b/drivers/iio/health/max30100.c
> @@ -16,7 +16,7 @@
> #include <linux/irq.h>
> #include <linux/i2c.h>
> #include <linux/mutex.h>
> -#include <linux/of.h>
> +#include <linux/property.h>
> #include <linux/regmap.h>
> #include <linux/iio/iio.h>
> #include <linux/iio/buffer.h>
> @@ -267,11 +267,10 @@ static int max30100_get_current_idx(unsigned int val, int *reg)
> static int max30100_led_init(struct max30100_data *data)
> {
> struct device *dev = &data->client->dev;
> - struct device_node *np = dev->of_node;
> unsigned int val[2];
> int reg, ret;
>
> - ret = of_property_read_u32_array(np, "maxim,led-current-microamp",
> + ret = device_property_read_u32_array(dev, "maxim,led-current-microamp",
> (unsigned int *) &val, 2);
> if (ret) {
> /* Default to 24 mA RED LED, 50 mA IR LED */