[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