Re: [PATCH 1/2] iio: Fix sign extension table in mcp3422 driver

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

 



Hi Peter,

You are totally right, index is 0 based and this is a bug!

Thank your for fixing!

2013/11/2 Peter Meerwald <pmeerw@xxxxxxxxxx>:
> the index argument to sign_extend32() gives the bit position (from 0)
> to the sign bit
>
> so e.g. if the measurement has 16-bit resolution, we need to pass 15;
> a measurement of 0x8000 should be reported as -32768, not 32768
>
> Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx>
> Cc: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx>
> ---
>  drivers/iio/adc/mcp3422.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/adc/mcp3422.c b/drivers/iio/adc/mcp3422.c
> index 1294832..c8c1baa 100644
> --- a/drivers/iio/adc/mcp3422.c
> +++ b/drivers/iio/adc/mcp3422.c
> @@ -88,10 +88,10 @@ static const int mcp3422_sample_rates[4] = {
>
>  /* sample rates to sign extension table */
>  static const int mcp3422_sign_extend[4] = {
> -       [MCP3422_SRATE_240] = 12,
> -       [MCP3422_SRATE_60] = 14,
> -       [MCP3422_SRATE_15] = 16,
> -       [MCP3422_SRATE_3] = 18 };
> +       [MCP3422_SRATE_240] = 11,
> +       [MCP3422_SRATE_60] = 13,
> +       [MCP3422_SRATE_15] = 15,
> +       [MCP3422_SRATE_3] = 17 };
>
>  /* Client data (each client gets its own) */
>  struct mcp3422 {
> --
> 1.8.4.2
>



-- 
Profile: http://it.linkedin.com/in/compagnucciangelo
--
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