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

Commit 1e9663c6 authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Jonathan Cameron
Browse files

iio:trigger: Introduce iio_tigger_{set,get}_drvdata



Introduce iio_tigger_{set,get}_drvdata which allows to attach driver specific
data to a trigger. The functions wrap access to the triggers private_data field
and all current users are updated to use iio_tigger_{set,get}_drvdata instead of
directly accessing the private_data field. This is the first step towards
removing the private_data field from the iio_trigger struct.

The following coccinelle script has been used to update the drivers:
<smpl>
@@
struct iio_trigger *trigger;
expression priv;
@@
-trigger->private_data = priv
+iio_trigger_set_drv_data(trigger, priv)

@@
struct iio_trigger *trigger;
@@
-trigger->private_data
+iio_trigger_get_drv_data(trigger)
</smpl>

Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent c5cf4606
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -25,7 +25,7 @@


int st_accel_trig_set_state(struct iio_trigger *trig, bool state)
int st_accel_trig_set_state(struct iio_trigger *trig, bool state)
{
{
	struct iio_dev *indio_dev = trig->private_data;
	struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig);


	return st_sensors_set_dataready_irq(indio_dev, state);
	return st_sensors_set_dataready_irq(indio_dev, state);
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -470,7 +470,7 @@ static int ad_sd_probe_trigger(struct iio_dev *indio_dev)
		disable_irq_nosync(sigma_delta->spi->irq);
		disable_irq_nosync(sigma_delta->spi->irq);
	}
	}
	sigma_delta->trig->dev.parent = &sigma_delta->spi->dev;
	sigma_delta->trig->dev.parent = &sigma_delta->spi->dev;
	sigma_delta->trig->private_data = sigma_delta;
	iio_trigger_set_drvdata(sigma_delta->trig, sigma_delta);


	ret = iio_trigger_register(sigma_delta->trig);
	ret = iio_trigger_register(sigma_delta->trig);
	if (ret)
	if (ret)
+2 −2
Original line number Original line Diff line number Diff line
@@ -188,7 +188,7 @@ static u8 at91_adc_get_trigger_value_by_name(struct iio_dev *idev,


static int at91_adc_configure_trigger(struct iio_trigger *trig, bool state)
static int at91_adc_configure_trigger(struct iio_trigger *trig, bool state)
{
{
	struct iio_dev *idev = trig->private_data;
	struct iio_dev *idev = iio_trigger_get_drvdata(trig);
	struct at91_adc_state *st = iio_priv(idev);
	struct at91_adc_state *st = iio_priv(idev);
	struct iio_buffer *buffer = idev->buffer;
	struct iio_buffer *buffer = idev->buffer;
	struct at91_adc_reg_desc *reg = st->registers;
	struct at91_adc_reg_desc *reg = st->registers;
@@ -254,7 +254,7 @@ static struct iio_trigger *at91_adc_allocate_trigger(struct iio_dev *idev,
		return NULL;
		return NULL;


	trig->dev.parent = idev->dev.parent;
	trig->dev.parent = idev->dev.parent;
	trig->private_data = idev;
	iio_trigger_set_drvdata(trig, idev);
	trig->ops = &at91_adc_trigger_ops;
	trig->ops = &at91_adc_trigger_ops;


	ret = iio_trigger_register(trig);
	ret = iio_trigger_register(trig);
+2 −2
Original line number Original line Diff line number Diff line
@@ -31,7 +31,7 @@
static int hid_sensor_data_rdy_trigger_set_state(struct iio_trigger *trig,
static int hid_sensor_data_rdy_trigger_set_state(struct iio_trigger *trig,
						bool state)
						bool state)
{
{
	struct hid_sensor_common *st = trig->private_data;
	struct hid_sensor_common *st = iio_trigger_get_drvdata(trig);
	int state_val;
	int state_val;


	state_val = state ? 1 : 0;
	state_val = state ? 1 : 0;
@@ -76,7 +76,7 @@ int hid_sensor_setup_trigger(struct iio_dev *indio_dev, const char *name,
	}
	}


	trig->dev.parent = indio_dev->dev.parent;
	trig->dev.parent = indio_dev->dev.parent;
	trig->private_data = attrb;
	iio_trigger_set_drvdata(trig, attrb);
	trig->ops = &hid_sensor_trigger_ops;
	trig->ops = &hid_sensor_trigger_ops;
	ret = iio_trigger_register(trig);
	ret = iio_trigger_register(trig);


+1 −1
Original line number Original line Diff line number Diff line
@@ -40,7 +40,7 @@ int st_sensors_allocate_trigger(struct iio_dev *indio_dev,
	if (err)
	if (err)
		goto request_irq_error;
		goto request_irq_error;


	sdata->trig->private_data = indio_dev;
	iio_trigger_set_drvdata(sdata->trig, indio_dev);
	sdata->trig->ops = trigger_ops;
	sdata->trig->ops = trigger_ops;
	sdata->trig->dev.parent = sdata->dev;
	sdata->trig->dev.parent = sdata->dev;


Loading