iio: gyro: mpu3050: Make use of device properties
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 13 Apr 2022 16:30:04 +0000 (19:30 +0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Thu, 28 Apr 2022 18:22:55 +0000 (19:22 +0100)
Convert the module to be property provider agnostic and allow
it to be used on non-OF platforms.

While at it, reuse temporary device pointer in the same function.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20220413163004.84789-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/gyro/mpu3050-core.c

index ea387ef..a2dafdb 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/interrupt.h>
 #include <linux/module.h>
 #include <linux/pm_runtime.h>
+#include <linux/property.h>
 #include <linux/random.h>
 #include <linux/slab.h>
 
@@ -1050,6 +1051,7 @@ static const struct iio_trigger_ops mpu3050_trigger_ops = {
 static int mpu3050_trigger_probe(struct iio_dev *indio_dev, int irq)
 {
        struct mpu3050 *mpu3050 = iio_priv(indio_dev);
+       struct device *dev = mpu3050->dev;
        unsigned long irq_trig;
        int ret;
 
@@ -1061,8 +1063,7 @@ static int mpu3050_trigger_probe(struct iio_dev *indio_dev, int irq)
                return -ENOMEM;
 
        /* Check if IRQ is open drain */
-       if (of_property_read_bool(mpu3050->dev->of_node, "drive-open-drain"))
-               mpu3050->irq_opendrain = true;
+       mpu3050->irq_opendrain = device_property_read_bool(dev, "drive-open-drain");
 
        irq_trig = irqd_get_trigger_type(irq_get_irq_data(irq));
        /*
@@ -1118,13 +1119,12 @@ static int mpu3050_trigger_probe(struct iio_dev *indio_dev, int irq)
                                   mpu3050->trig->name,
                                   mpu3050->trig);
        if (ret) {
-               dev_err(mpu3050->dev,
-                       "can't get IRQ %d, error %d\n", irq, ret);
+               dev_err(dev, "can't get IRQ %d, error %d\n", irq, ret);
                return ret;
        }
 
        mpu3050->irq = irq;
-       mpu3050->trig->dev.parent = mpu3050->dev;
+       mpu3050->trig->dev.parent = dev;
        mpu3050->trig->ops = &mpu3050_trigger_ops;
        iio_trigger_set_drvdata(mpu3050->trig, indio_dev);