iio: gyro: mpu3050: Make use of device properties
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>
This commit is contained in:
parent
813665564b
commit
720ce8b568
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user