Re: [PATCH 02/10] iio: st_sensors: make interrupt optional

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

 



On 30/04/15 14:15, Linus Walleij wrote:
> Some sensors such as magnetometers and pressure sensors doesn't
> have interrupts at all, and thus no DRDY setting applies. Make
> the assignment of an interrupt optional, and do not call
> st_sensors_set_drdy_int_pin() if there is no drdy (data ready)
> pin specified.
> 
> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Applied to the togreg branch of iio.git.

thanks,

Jonathan
> ---
>  drivers/iio/common/st_sensors/st_sensors_core.c | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c
> index edd13d2b4121..5a01093b29a2 100644
> --- a/drivers/iio/common/st_sensors/st_sensors_core.c
> +++ b/drivers/iio/common/st_sensors/st_sensors_core.c
> @@ -245,6 +245,16 @@ static int st_sensors_set_drdy_int_pin(struct iio_dev *indio_dev,
>  {
>  	struct st_sensor_data *sdata = iio_priv(indio_dev);
>  
> +	/* Sensor does not support interrupts */
> +	if (sdata->sensor_settings->drdy_irq.addr == 0) {
> +		if (pdata->drdy_int_pin)
> +			dev_info(&indio_dev->dev,
> +				 "DRDY on pin INT%d specified, but sensor "
> +				 "does not support interrupts\n",
> +				 pdata->drdy_int_pin);
> +		return 0;
> +	}
> +
>  	switch (pdata->drdy_int_pin) {
>  	case 1:
>  		if (sdata->sensor_settings->drdy_irq.mask_int1 == 0) {
> @@ -285,7 +295,7 @@ static struct st_sensors_platform_data *st_sensors_of_probe(struct device *dev,
>  	if (!of_property_read_u32(np, "st,drdy-int-pin", &val) && (val <= 2))
>  		pdata->drdy_int_pin = (u8) val;
>  	else
> -		pdata->drdy_int_pin = defdata ? defdata->drdy_int_pin : 1;
> +		pdata->drdy_int_pin = defdata ? defdata->drdy_int_pin : 0;
>  
>  	return pdata;
>  }
> 

--
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