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

From: Matt Ranostay
Date: Mon Mar 16 2020 - 04:08:33 EST


On Sun, Mar 15, 2020 at 5:50 AM Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
>
> 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
>

Highly doubt anyone is using this in an ACPI setting. Am I missing
something though?

- Matt

> > ---
> > 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 */
>