Re: [PATCH V3 2/2] thermal: generic-adc: Add ADC based thermal sensor driver

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

 





On Monday 18 April 2016 11:01 PM, Jonathan Cameron wrote:

On 18 April 2016 17:49:39 BST, Laxman Dewangan <ldewangan@xxxxxxxxxx> wrote:
On Sunday 17 April 2016 04:24 PM, Jonathan Cameron wrote:
On 14/04/16 15:41, Laxman Dewangan wrote:
+static int gadc_thermal_read_channel(struct gadc_thermal_info *gti,
int *val)
+{
+	int ret;
+
+	ret = iio_read_channel_processed(gti->channel, val);
+	if (ret < 0)
+		ret = iio_read_channel_raw(gti->channel, val);
Is this case actually useful given it means the scaling of the adc
isn't known?

I suppose you might have defined the table in terms of raw readings,
but then when someone comes along and 'fixes' the ADC driver to
output
it's scale your table will be wrong.

Yes, that may be possible if someone just move the implementation of
processed read to raw read.
I assumed that some of adc driver implemented as raw and some of
implemented as processed and so fallback.

However, if adc driver has processed implementation then it should not
move to raw and deprecate the processed.

It seems raw as default should be better option. We can have two option
now:

- Support raw only, not to processed.

- Or support the raw as default and processed as the optional from DT.
if (!processed)
     read_raw()
else
   read_processed()


Your opinion?
Processed only. It will compute the right value if raw and scale are provided by the
  device (which they should be for an ADC). The read_processed function does
  the maths if needed.

  The only time devices should
  supply raw without scale is if their is no direct transform ( e.g. an infrared
  intensity measure where only known transform involves combining it with
  another signal) or their is an external unknown (e.g. proximity sensors where
  you have to know what they were close to in order to know the scaling!)

If there is a conventional ADC driver not providing either processed directly or
  both raw and scale let us know and we will fix it!


Thanks, I will recycle this patch to use processed only.

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux