Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -609,6 +609,10 @@ static irqreturn_t ad7192_data_rdy_trig_poll(int irq, void *private)
	return IRQ_HANDLED;
}

static struct iio_trigger_ops ad7192_trigger_ops = {
	.owner = THIS_MODULE,
};

static int ad7192_probe_trigger(struct iio_dev *indio_dev)
{
	struct ad7192_state *st = iio_priv(indio_dev);
@@ -621,7 +625,7 @@ static int ad7192_probe_trigger(struct iio_dev *indio_dev)
		ret = -ENOMEM;
		goto error_ret;
	}

	st->trig->ops = &ad7192_trigger_ops;
	ret = request_irq(st->spi->irq,
			  ad7192_data_rdy_trig_poll,
			  IRQF_TRIGGER_LOW,
+5 −0
Original line number Diff line number Diff line
@@ -475,6 +475,10 @@ static irqreturn_t ad7793_data_rdy_trig_poll(int irq, void *private)
	return IRQ_HANDLED;
}

static struct iio_trigger_ops ad7793_trigger_ops = {
	.owner = THIS_MODULE,
};

static int ad7793_probe_trigger(struct iio_dev *indio_dev)
{
	struct ad7793_state *st = iio_priv(indio_dev);
@@ -487,6 +491,7 @@ static int ad7793_probe_trigger(struct iio_dev *indio_dev)
		ret = -ENOMEM;
		goto error_ret;
	}
	st->trig->ops = &ad7793_trigger_ops;

	ret = request_irq(st->spi->irq,
			  ad7793_data_rdy_trig_poll,