linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] staging: iio: ad7780: update voltage on read
@ 2018-10-25 13:32 Renato Lui Geh
  2018-10-25 13:38 ` Lars-Peter Clausen
  0 siblings, 1 reply; 5+ messages in thread
From: Renato Lui Geh @ 2018-10-25 13:32 UTC (permalink / raw)
  To: lars, Michael.Hennerich, jic23, knaack.h, pmeerw, gregkh,
	alexandru.Ardelean, stefan.popa, giuliano.belinassi
  Cc: linux-iio, devel, linux-kernel, kernel-usp

The ad7780 driver previously did not read the correct device output.
This patch fixes two issues.

- The driver read an outdated value set at initialization. It now
updates its voltage on read.
- Variable val subtracted an uninitialized value on
IIO_CHAN_INFO_OFFSET. This was fixed by assiging the correct value
instead.

Signed-off-by: Renato Lui Geh <renatogeh@gmail.com>
---
 drivers/staging/iio/adc/ad7780.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/iio/adc/ad7780.c b/drivers/staging/iio/adc/ad7780.c
index b67412db0318..06700fe554a2 100644
--- a/drivers/staging/iio/adc/ad7780.c
+++ b/drivers/staging/iio/adc/ad7780.c
@@ -87,16 +87,20 @@ static int ad7780_read_raw(struct iio_dev *indio_dev,
 			   long m)
 {
 	struct ad7780_state *st = iio_priv(indio_dev);
+	int voltage_uv = 0;
 
 	switch (m) {
 	case IIO_CHAN_INFO_RAW:
 		return ad_sigma_delta_single_conversion(indio_dev, chan, val);
 	case IIO_CHAN_INFO_SCALE:
+		voltage_uv = regulator_get_voltage(st->reg);
+		if (voltage_uv)
+			st->int_vref_mv = voltage_uv/1000;
 		*val = st->int_vref_mv * st->gain;
 		*val2 = chan->scan_type.realbits - 1;
 		return IIO_VAL_FRACTIONAL_LOG2;
 	case IIO_CHAN_INFO_OFFSET:
-		*val -= (1 << (chan->scan_type.realbits - 1));
+		*val = -(1 << (chan->scan_type.realbits - 1));
 		return IIO_VAL_INT;
 	}
 
-- 
2.19.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] staging: iio: ad7780: update voltage on read
  2018-10-25 13:32 [PATCH] staging: iio: ad7780: update voltage on read Renato Lui Geh
@ 2018-10-25 13:38 ` Lars-Peter Clausen
  2018-10-25 14:26   ` Renato Lui Geh
  0 siblings, 1 reply; 5+ messages in thread
From: Lars-Peter Clausen @ 2018-10-25 13:38 UTC (permalink / raw)
  To: Renato Lui Geh, Michael.Hennerich, jic23, knaack.h, pmeerw,
	gregkh, alexandru.Ardelean, stefan.popa, giuliano.belinassi
  Cc: linux-iio, devel, linux-kernel, kernel-usp

On 10/25/2018 03:32 PM, Renato Lui Geh wrote:
> The ad7780 driver previously did not read the correct device output.
> This patch fixes two issues.
> 
> - The driver read an outdated value set at initialization. It now
> updates its voltage on read.
> - Variable val subtracted an uninitialized value on
> IIO_CHAN_INFO_OFFSET. This was fixed by assiging the correct value
> instead.
> 
> Signed-off-by: Renato Lui Geh <renatogeh@gmail.com>

Hi,

Thanks for the patch, this looks good.

But please create one patch per issue and do not put unrelated changes into
the same patch.

Also your mail client seems to have replaced tabs in the patch with spaces,
this means the patch will not apply cleanly. Check the
Documentation/email-clients.txt file for some hints how to configure your
mail client so it will not break patches.

- Lars

> ---
> drivers/staging/iio/adc/ad7780.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/iio/adc/ad7780.c
> b/drivers/staging/iio/adc/ad7780.c
> index b67412db0318..06700fe554a2 100644
> --- a/drivers/staging/iio/adc/ad7780.c
> +++ b/drivers/staging/iio/adc/ad7780.c
> @@ -87,16 +87,20 @@ static int ad7780_read_raw(struct iio_dev *indio_dev,
>                long m)
> {
>     struct ad7780_state *st = iio_priv(indio_dev);
> +    int voltage_uv = 0;
> 
>     switch (m) {
>     case IIO_CHAN_INFO_RAW:
>         return ad_sigma_delta_single_conversion(indio_dev, chan, val);
>     case IIO_CHAN_INFO_SCALE:
> +        voltage_uv = regulator_get_voltage(st->reg);
> +        if (voltage_uv)
> +            st->int_vref_mv = voltage_uv/1000;
>         *val = st->int_vref_mv * st->gain;
>         *val2 = chan->scan_type.realbits - 1;
>         return IIO_VAL_FRACTIONAL_LOG2;
>     case IIO_CHAN_INFO_OFFSET:
> -        *val -= (1 << (chan->scan_type.realbits - 1));
> +        *val = -(1 << (chan->scan_type.realbits - 1));
>         return IIO_VAL_INT;
>     }
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] staging: iio: ad7780: update voltage on read
  2018-10-25 13:38 ` Lars-Peter Clausen
@ 2018-10-25 14:26   ` Renato Lui Geh
  2018-10-25 14:55     ` Himanshu Jha
  0 siblings, 1 reply; 5+ messages in thread
From: Renato Lui Geh @ 2018-10-25 14:26 UTC (permalink / raw)
  To: Lars-Peter Clausen
  Cc: Renato Lui Geh, Michael.Hennerich, jic23, knaack.h, pmeerw,
	gregkh, alexandru.Ardelean, stefan.popa, giuliano.belinassi,
	linux-iio, devel, linux-kernel, kernel-usp

Hi,

Thanks for the quick review. :)

>But please create one patch per issue and do not put unrelated changes into
>the same patch.

Should I resend this patch as a patchset containing the two changes?

>Also your mail client seems to have replaced tabs in the patch with spaces,
>this means the patch will not apply cleanly. Check the
>Documentation/email-clients.txt file for some hints how to configure your
>mail client so it will not break patches.

From my end my original email patch appears to have tabs instead of
spaces. I redownloaded my email and vim shows that the indentation has
the ^I tab characters. But when downloading your reply it was converted
to spaces. Am I missing something?

Thanks again,
Renato


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] staging: iio: ad7780: update voltage on read
  2018-10-25 14:26   ` Renato Lui Geh
@ 2018-10-25 14:55     ` Himanshu Jha
  2018-10-25 16:01       ` Lars-Peter Clausen
  0 siblings, 1 reply; 5+ messages in thread
From: Himanshu Jha @ 2018-10-25 14:55 UTC (permalink / raw)
  To: Renato Lui Geh
  Cc: Lars-Peter Clausen, Michael.Hennerich, jic23, knaack.h, pmeerw,
	gregkh, alexandru.Ardelean, stefan.popa, giuliano.belinassi,
	linux-iio, devel, linux-kernel, kernel-usp

On Thu, Oct 25, 2018 at 11:26:36AM -0300, Renato Lui Geh wrote:
> Hi,
> 
> Thanks for the quick review. :)
> 
> > But please create one patch per issue and do not put unrelated changes into
> > the same patch.
> 
> Should I resend this patch as a patchset containing the two changes?

Yes! "One patch per change policy"

> > Also your mail client seems to have replaced tabs in the patch with spaces,
> > this means the patch will not apply cleanly. Check the
> > Documentation/email-clients.txt file for some hints how to configure your
> > mail client so it will not break patches.
> 
> From my end my original email patch appears to have tabs instead of
> spaces. I redownloaded my email and vim shows that the indentation has
> the ^I tab characters. But when downloading your reply it was converted
> to spaces. Am I missing something?

Your patch applies fine.

I think the problem is on Lars end due to Thunderbird.

In the meantime, you can verify the patch using:

$ git am <your_patch.patch>

Also, you can try to use `git send-email` to send patches.


-- 
Himanshu Jha
Undergraduate Student
Department of Electronics & Communication
Guru Tegh Bahadur Institute of Technology

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] staging: iio: ad7780: update voltage on read
  2018-10-25 14:55     ` Himanshu Jha
@ 2018-10-25 16:01       ` Lars-Peter Clausen
  0 siblings, 0 replies; 5+ messages in thread
From: Lars-Peter Clausen @ 2018-10-25 16:01 UTC (permalink / raw)
  To: Himanshu Jha, Renato Lui Geh
  Cc: Michael.Hennerich, jic23, knaack.h, pmeerw, gregkh,
	alexandru.Ardelean, stefan.popa, giuliano.belinassi, linux-iio,
	devel, linux-kernel, kernel-usp

On 10/25/2018 04:55 PM, Himanshu Jha wrote:
> On Thu, Oct 25, 2018 at 11:26:36AM -0300, Renato Lui Geh wrote:
>> Hi,
>>
>> Thanks for the quick review. :)
>>
>>> But please create one patch per issue and do not put unrelated changes into
>>> the same patch.
>>
>> Should I resend this patch as a patchset containing the two changes?
> 
> Yes! "One patch per change policy"
> 
>>> Also your mail client seems to have replaced tabs in the patch with spaces,
>>> this means the patch will not apply cleanly. Check the
>>> Documentation/email-clients.txt file for some hints how to configure your
>>> mail client so it will not break patches.
>>
>> From my end my original email patch appears to have tabs instead of
>> spaces. I redownloaded my email and vim shows that the indentation has
>> the ^I tab characters. But when downloading your reply it was converted
>> to spaces. Am I missing something?
> 
> Your patch applies fine.
> 
> I think the problem is on Lars end due to Thunderbird.

Yeah, looks like I need to read email-clients.txt...

I think it is mis-rendered on my side due to the "Content-Type: ...
format=flowed" in the header.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-10-25 16:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-25 13:32 [PATCH] staging: iio: ad7780: update voltage on read Renato Lui Geh
2018-10-25 13:38 ` Lars-Peter Clausen
2018-10-25 14:26   ` Renato Lui Geh
2018-10-25 14:55     ` Himanshu Jha
2018-10-25 16:01       ` Lars-Peter Clausen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).