Lines Matching refs:adis
16 #include <linux/iio/imu/adis.h>
20 struct adis *adis = iio_trigger_get_drvdata(trig);
22 return adis_enable_irq(adis, state);
29 static void adis_trigger_setup(struct adis *adis)
31 adis->trig->dev.parent = &adis->spi->dev;
32 adis->trig->ops = &adis_trigger_ops;
33 iio_trigger_set_drvdata(adis->trig, adis);
36 static int adis_validate_irq_flag(struct adis *adis)
38 unsigned long direction = adis->irq_flag & IRQF_TRIGGER_MASK;
41 if (adis->data->unmasked_drdy)
42 adis->irq_flag |= IRQF_NO_AUTOEN;
51 adis->irq_flag |= IRQF_TRIGGER_RISING;
55 dev_err(&adis->spi->dev, "Invalid IRQ mask: %08lx\n",
56 adis->irq_flag);
64 * devm_adis_probe_trigger() - Sets up trigger for a managed adis device
65 * @adis: The adis device
70 int devm_adis_probe_trigger(struct adis *adis, struct iio_dev *indio_dev)
74 adis->trig = devm_iio_trigger_alloc(&adis->spi->dev, "%s-dev%d",
76 if (!adis->trig)
79 adis_trigger_setup(adis);
81 ret = adis_validate_irq_flag(adis);
85 ret = devm_request_irq(&adis->spi->dev, adis->spi->irq,
87 adis->irq_flag,
89 adis->trig);
93 return devm_iio_trigger_register(&adis->spi->dev, adis->trig);