Commit 8324e860 authored by Jonathan Cameron's avatar Jonathan Cameron Committed by Greg Kroah-Hartman

staging:iio: Make sure all triggers have a trigger_ops for the owner field.

The core needs the owner field to prevent module removal whilst in use and
uses it without confirming that the trigger_ops structure actually exists.
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
Acked-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 617156fb
...@@ -609,6 +609,10 @@ static irqreturn_t ad7192_data_rdy_trig_poll(int irq, void *private) ...@@ -609,6 +609,10 @@ static irqreturn_t ad7192_data_rdy_trig_poll(int irq, void *private)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
static struct iio_trigger_ops ad7192_trigger_ops = {
.owner = THIS_MODULE,
};
static int ad7192_probe_trigger(struct iio_dev *indio_dev) static int ad7192_probe_trigger(struct iio_dev *indio_dev)
{ {
struct ad7192_state *st = iio_priv(indio_dev); struct ad7192_state *st = iio_priv(indio_dev);
...@@ -621,7 +625,7 @@ static int ad7192_probe_trigger(struct iio_dev *indio_dev) ...@@ -621,7 +625,7 @@ static int ad7192_probe_trigger(struct iio_dev *indio_dev)
ret = -ENOMEM; ret = -ENOMEM;
goto error_ret; goto error_ret;
} }
st->trig->ops = &ad7192_trigger_ops;
ret = request_irq(st->spi->irq, ret = request_irq(st->spi->irq,
ad7192_data_rdy_trig_poll, ad7192_data_rdy_trig_poll,
IRQF_TRIGGER_LOW, IRQF_TRIGGER_LOW,
......
...@@ -475,6 +475,10 @@ static irqreturn_t ad7793_data_rdy_trig_poll(int irq, void *private) ...@@ -475,6 +475,10 @@ static irqreturn_t ad7793_data_rdy_trig_poll(int irq, void *private)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
static struct iio_trigger_ops ad7793_trigger_ops = {
.owner = THIS_MODULE,
};
static int ad7793_probe_trigger(struct iio_dev *indio_dev) static int ad7793_probe_trigger(struct iio_dev *indio_dev)
{ {
struct ad7793_state *st = iio_priv(indio_dev); struct ad7793_state *st = iio_priv(indio_dev);
...@@ -487,6 +491,7 @@ static int ad7793_probe_trigger(struct iio_dev *indio_dev) ...@@ -487,6 +491,7 @@ static int ad7793_probe_trigger(struct iio_dev *indio_dev)
ret = -ENOMEM; ret = -ENOMEM;
goto error_ret; goto error_ret;
} }
st->trig->ops = &ad7793_trigger_ops;
ret = request_irq(st->spi->irq, ret = request_irq(st->spi->irq,
ad7793_data_rdy_trig_poll, ad7793_data_rdy_trig_poll,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment