Re: [PATCH v4] staging: iio: adc: ad7192: disable burnout currents on misconfig

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

 



On Thu, 18 Jan 2018 16:57:40 +0200
<alexandru.ardelean@xxxxxxxxxx> wrote:

> From: Alexandru Ardelean <alexandru.ardelean@xxxxxxxxxx>
> 
> The burnout currents can be enabled only if buffer is enabled
> and CHOP is disabled.
> 
> So, if neither of these conditions are met, then
> we should disable the burnout currents in the driver as well,
> and warn the user.
> 
> This change doesn't fix anything.
> The burnout currents simply won't work if CHOP is enabled
> or buffer is disabled.
> The intent is to provide the user with some feedback
> instead of silently not working inside the chip.
> 
> Signed-off-by: Alexandru Ardelean <alexandru.ardelean@xxxxxxxxxx>
Applied to the togreg branch of iio.git and pushed out as testing
for the autobuilders to play with it.

Thanks,

Jonathan

> ---
> 
> Changes v3 -> v4:
>  * need to check if `pdata->burnout_curr_en` is positive on the
>    else path, otherwise a false warning may be thrown
> 
>  drivers/staging/iio/adc/ad7192.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/iio/adc/ad7192.c b/drivers/staging/iio/adc/ad7192.c
> index d11c6de9c777..9287b50b7870 100644
> --- a/drivers/staging/iio/adc/ad7192.c
> +++ b/drivers/staging/iio/adc/ad7192.c
> @@ -291,8 +291,12 @@ static int ad7192_setup(struct ad7192_state *st,
>  	if (pdata->unipolar_en)
>  		st->conf |= AD7192_CONF_UNIPOLAR;
>  
> -	if (pdata->burnout_curr_en)
> +	if (pdata->burnout_curr_en && pdata->buf_en && !pdata->chop_en) {
>  		st->conf |= AD7192_CONF_BURN;
> +	} else if (pdata->burnout_curr_en) {
> +		dev_warn(&st->sd.spi->dev,
> +			 "Can't enable burnout currents: see CHOP or buffer\n");
> +	}
>  
>  	ret = ad_sd_write_reg(&st->sd, AD7192_REG_MODE, 3, st->mode);
>  	if (ret)

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