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

staging:iio:triggers introduce iio_trigger_ops to take const bits out of iio_trig_structure.



Right now this results in increased code, but I still think it is worth doing to avoid
replication across instances of drivers etc and move as much stuff as possible to constant.
Ops structure is optional for the occasional driver that uses none of it (currently
only the ad7793).

Signed-off-by: default avatarJonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 214320b6
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -23,6 +23,11 @@ static int adis16201_data_rdy_trigger_set_state(struct iio_trigger *trig,
	return adis16201_set_irq(indio_dev, state);
}

static const struct iio_trigger_ops adis16201_trigger_ops = {
	.owner = THIS_MODULE,
	.set_trigger_state = &adis16201_data_rdy_trigger_set_state,
};

int adis16201_probe_trigger(struct iio_dev *indio_dev)
{
	int ret;
@@ -41,9 +46,8 @@ int adis16201_probe_trigger(struct iio_dev *indio_dev)
	if (ret)
		goto error_free_trig;
	st->trig->dev.parent = &st->us->dev;
	st->trig->owner = THIS_MODULE;
	st->trig->ops = &adis16201_trigger_ops;
	st->trig->private_data = indio_dev;
	st->trig->set_trigger_state = &adis16201_data_rdy_trigger_set_state;
	ret = iio_trigger_register(st->trig);

	/* select default trigger */
+6 −2
Original line number Diff line number Diff line
@@ -24,6 +24,11 @@ static int adis16203_data_rdy_trigger_set_state(struct iio_trigger *trig,
	return adis16203_set_irq(indio_dev, state);
}

static const struct iio_trigger_ops adis16203_trigger_ops = {
	.owner = THIS_MODULE,
	.set_trigger_state = &adis16203_data_rdy_trigger_set_state,
};

int adis16203_probe_trigger(struct iio_dev *indio_dev)
{
	int ret;
@@ -44,9 +49,8 @@ int adis16203_probe_trigger(struct iio_dev *indio_dev)
		goto error_free_trig;

	st->trig->dev.parent = &st->us->dev;
	st->trig->owner = THIS_MODULE;
	st->trig->ops = &adis16203_trigger_ops;
	st->trig->private_data = indio_dev;
	st->trig->set_trigger_state = &adis16203_data_rdy_trigger_set_state;
	ret = iio_trigger_register(st->trig);

	/* select default trigger */
+6 −2
Original line number Diff line number Diff line
@@ -24,6 +24,11 @@ static int adis16204_data_rdy_trigger_set_state(struct iio_trigger *trig,
	return adis16204_set_irq(indio_dev, state);
}

static const struct iio_trigger_ops adis16204_trigger_ops = {
	.owner = THIS_MODULE,
	.set_trigger_state = &adis16204_data_rdy_trigger_set_state,
};

int adis16204_probe_trigger(struct iio_dev *indio_dev)
{
	int ret;
@@ -44,9 +49,8 @@ int adis16204_probe_trigger(struct iio_dev *indio_dev)
		goto error_free_trig;

	st->trig->dev.parent = &st->us->dev;
	st->trig->owner = THIS_MODULE;
	st->trig->ops = &adis16204_trigger_ops;
	st->trig->private_data = indio_dev;
	st->trig->set_trigger_state = &adis16204_data_rdy_trigger_set_state;
	ret = iio_trigger_register(st->trig);

	/* select default trigger */
+6 −2
Original line number Diff line number Diff line
@@ -33,6 +33,11 @@ static int adis16209_data_rdy_trigger_set_state(struct iio_trigger *trig,
	return adis16209_set_irq(indio_dev, state);
}

static const struct iio_trigger_ops adis16209_trigger_ops = {
	.owner = THIS_MODULE,
	.set_trigger_state = &adis16209_data_rdy_trigger_set_state,
};

int adis16209_probe_trigger(struct iio_dev *indio_dev)
{
	int ret;
@@ -52,9 +57,8 @@ int adis16209_probe_trigger(struct iio_dev *indio_dev)
	if (ret)
		goto error_free_trig;
	st->trig->dev.parent = &st->us->dev;
	st->trig->owner = THIS_MODULE;
	st->trig->ops = &adis16209_trigger_ops;
	st->trig->private_data = indio_dev;
	st->trig->set_trigger_state = &adis16209_data_rdy_trigger_set_state;
	ret = iio_trigger_register(st->trig);

	/* select default trigger */
+6 −2
Original line number Diff line number Diff line
@@ -33,6 +33,11 @@ static int adis16240_data_rdy_trigger_set_state(struct iio_trigger *trig,
	return adis16240_set_irq(indio_dev, state);
}

static const struct iio_trigger_ops adis16240_trigger_ops = {
	.owner = THIS_MODULE,
	.set_trigger_state = &adis16240_data_rdy_trigger_set_state,
};

int adis16240_probe_trigger(struct iio_dev *indio_dev)
{
	int ret;
@@ -53,9 +58,8 @@ int adis16240_probe_trigger(struct iio_dev *indio_dev)
		goto error_free_trig;

	st->trig->dev.parent = &st->us->dev;
	st->trig->owner = THIS_MODULE;
	st->trig->ops = &adis16240_trigger_ops;
	st->trig->private_data = indio_dev;
	st->trig->set_trigger_state = &adis16240_data_rdy_trigger_set_state;
	ret = iio_trigger_register(st->trig);

	/* select default trigger */
Loading