Re: [RFC PATCH 1/8] iio: dummy: Introduce virtual registers for dummy device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Daniel Baluta schrieb am 02.10.2014 15:43:
> We need a way to store events generated by iio_dummy_evgen module,
> in order to correctly process IRQs in iio_simple_dummy_events.
> 
> For the moment, we add two registers:
> 
> * id_reg  - ID register, stores the source of the event
> * id_data - DATA register, stores the type of the event
> 
> e.g echo 4 > /sys/bus/iio/devices/iio_evgen/poke2
> 
> id_reg 0x02, id_data 0x04
> 
> This means, event of type 4 was generated by fake device 2.
> 
> We currently use a hardcoded mapping of virtual events to IIO events.
> 
> Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx>
> Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx>
> ---
>  drivers/staging/iio/iio_dummy_evgen.c         | 16 ++++++++++++++++
>  drivers/staging/iio/iio_dummy_evgen.h         |  7 +++++++
>  drivers/staging/iio/iio_simple_dummy.h        |  2 ++
>  drivers/staging/iio/iio_simple_dummy_events.c | 23 ++++++++++++++++++-----
>  4 files changed, 43 insertions(+), 5 deletions(-)
> 
<...>
> @@ -153,6 +161,14 @@ static ssize_t iio_evgen_poke(struct device *dev,
>  			      size_t len)
>  {
>  	struct iio_dev_attr *this_attr = to_iio_dev_attr(attr);
> +	unsigned long event, ret;
int ret
> +
> +	ret = kstrtoul(buf, 10, &event);
> +	if (ret)
> +		return ret;
> +
> +	iio_evgen->regs[this_attr->address].reg_id   = this_attr->address;
> +	iio_evgen->regs[this_attr->address].reg_data = event;
>  
>  	if (iio_evgen->enabled[this_attr->address])
>  		handle_nested_irq(iio_evgen->base + this_attr->address);
<...>
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux