[PATCH] iio: mxs-lradc: compute temperature from channel 8 and 9

Michał Mirosław mirqus at gmail.com
Sat Nov 30 07:24:23 EST 2013


2013/11/30 Jonathan Cameron <jic23 at kernel.org>:
> On 11/30/13 12:15, Jonathan Cameron wrote:
>> On 11/19/13 10:36, Maxime Ripard wrote:
>>> From: Alexandre Belloni <alexandre.belloni at free-electrons.com>
>>>
>>> The mxs LRADC is able to read an internal die temperature sensor. The
>>> temperature has to be calculated from the value read on channel 8 and channel 9.
>>> To be able to expose the result to hwmon, implement iio channel 8 as
>>> (channel 9 - channel 8). Then, implement IIO_CHAN_INFO_SCALE and
>>> IIO_CHAN_INFO_OFFSET so that it can be processed by hwmon through the in kernel
>>> provider/consumer mechanism.
>>>
>>> Signed-off-by: Alexandre Belloni <alexandre.belloni at free-electrons.com>
>>> Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com>
>>> Reviewed-by: Lars-Peter Clausen <lars at metafoo.de>
>> As this is still in staging, I think we can get away with the resulting
>> ABI change from this patch.
>>
>> Applied to the togreg branch of iio.git
>>
>> Thanks,
>>
>> Jonathan
> Having said that, there is an odd bit inline that I've just dropped whilst
> applying the patch.  Shout if I've done this wrong.
>>> ---
>>>  drivers/staging/iio/adc/mxs-lradc.c | 91 +++++++++++++++++++++++++++++++------
>>>  1 file changed, 78 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/drivers/staging/iio/adc/mxs-lradc.c b/drivers/staging/iio/adc/mxs-lradc.c
>>> index a08c1736458b..fec76090dae5 100644
>>> --- a/drivers/staging/iio/adc/mxs-lradc.c
>>> +++ b/drivers/staging/iio/adc/mxs-lradc.c
>>> @@ -231,20 +231,11 @@ struct mxs_lradc {
>>>  /*
>>>   * Raw I/O operations
>>>   */
>>> -static int mxs_lradc_read_raw(struct iio_dev *iio_dev,
>>> -                    const struct iio_chan_spec *chan,
>>> -                    int *val, int *val2, long m)
>>> +static int mxs_lradc_read_single(struct iio_dev *iio_dev, int chan, int *val)
[...]
>>> @@ -269,7 +260,7 @@ static int mxs_lradc_read_raw(struct iio_dev *iio_dev,
[...]
>>> -    writel(chan->channel, lradc->base + LRADC_CTRL4 + STMP_OFFSET_REG_SET);
>>> +    writel(chan, lradc->base + LRADC_CTRL4 + STMP_OFFSET_REG_SET);
>
> This doesn't make any sense.  I'm guessing it drifted in from a different patch?

'chan' changed type here, and the function got a new name. I would
assume thant this won't build if you dropped the part above.

Best Regards,
Michał Mirosław



More information about the linux-arm-kernel mailing list