OSDN Git Service

iio:health:max30102: Drop of_match_ptr and use generic fw accessors
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Thu, 10 Sep 2020 17:32:42 +0000 (18:32 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 21 Sep 2020 17:41:35 +0000 (18:41 +0100)
This enables use of the driver with ACPI PRP0001 and also removes
an antipattern that I am trying to clear out of IIO to avoid
it being copied into new drivers.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Matt Ranostay <matt.ranostay@konsulko.com>
Link: https://lore.kernel.org/r/20200910173242.621168-39-jic23@kernel.org
drivers/iio/health/max30102.c

index bb504e9..543021d 100644 (file)
@@ -19,7 +19,7 @@
 #include <linux/irq.h>
 #include <linux/i2c.h>
 #include <linux/mutex.h>
-#include <linux/of.h>
+#include <linux/mod_devicetable.h>
 #include <linux/regmap.h>
 #include <linux/iio/iio.h>
 #include <linux/iio/buffer.h>
@@ -323,11 +323,10 @@ static int max30102_get_current_idx(unsigned int val, int *reg)
 static int max30102_led_init(struct max30102_data *data)
 {
        struct device *dev = &data->client->dev;
-       struct device_node *np = dev->of_node;
        unsigned int val;
        int reg, ret;
 
-       ret = of_property_read_u32(np, "maxim,red-led-current-microamp", &val);
+       ret = device_property_read_u32(dev, "maxim,red-led-current-microamp", &val);
        if (ret) {
                dev_info(dev, "no red-led-current-microamp set\n");
 
@@ -346,7 +345,7 @@ static int max30102_led_init(struct max30102_data *data)
                return ret;
 
        if (data->chip_id == max30105) {
-               ret = of_property_read_u32(np,
+               ret = device_property_read_u32(dev,
                        "maxim,green-led-current-microamp", &val);
                if (ret) {
                        dev_info(dev, "no green-led-current-microamp set\n");
@@ -368,7 +367,7 @@ static int max30102_led_init(struct max30102_data *data)
                        return ret;
        }
 
-       ret = of_property_read_u32(np, "maxim,ir-led-current-microamp", &val);
+       ret = device_property_read_u32(dev, "maxim,ir-led-current-microamp", &val);
        if (ret) {
                dev_info(dev, "no ir-led-current-microamp set\n");
 
@@ -624,7 +623,7 @@ MODULE_DEVICE_TABLE(of, max30102_dt_ids);
 static struct i2c_driver max30102_driver = {
        .driver = {
                .name   = MAX30102_DRV_NAME,
-               .of_match_table = of_match_ptr(max30102_dt_ids),
+               .of_match_table = max30102_dt_ids,
        },
        .probe          = max30102_probe,
        .remove         = max30102_remove,