[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-id: <526DA6F0.6060005@samsung.com>
Date: Mon, 28 Oct 2013 08:51:12 +0900
From: Chanwoo Choi <cw00.choi@...sung.com>
To: Pavel Machek <pavel@....cz>
Cc: anton@...msg.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, dwmw2@...radead.org,
grant.likely@...aro.org, rob.herring@...xeda.com,
myungjoo.ham@...sung.com, kyungmin.park@...sung.com
Subject: Re: [PATCH 2/4] charger-manager: Use IIO subsystem to read battery
temperature instead of legacy method
Hi Pavel,
On 10/27/2013 08:17 PM, Pavel Machek wrote:
> Hi!
>
>> diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
>> index e6f92b4..6700191 100644
>> --- a/drivers/power/Kconfig
>> +++ b/drivers/power/Kconfig
>> @@ -309,6 +309,7 @@ config CHARGER_MANAGER
>> bool "Battery charger manager for multiple chargers"
>> depends on REGULATOR && RTC_CLASS
>> select EXTCON
>> + select IIO
>> help
>> Say Y to enable charger-manager support, which allows multiple
>> chargers attached to a battery and multiple batteries attached to a
>
> Umm. Are there charger-manager users that don't have temperature sensor on IIO?
I'll remove tightly coupled dependency between IIO and Charger-manager.
>
>> + if (desc->channel) {
>> + temp = iio_read_channel_raw(desc->channel, last_temp_mC);
>> +
>> + /*
>> + * The charger-manager use IIO subsystem to read ADC raw data
>> + * from IIO ADC device drvier. The each device driver has
>> + * own non-standard ADC table. If user of charger-manager
>> + * would like to get correct temperature value, have to convert
>> + * 'last_temp_mC' variable according to proper calculation
>> + * method and own ADC table.
>> + */
>> +
>> + if (*last_temp_mC >= desc->iio_adc_overheat)
>> + temp = CM_TEMP_NORMAL; /* Overheat */
>> + else if (*last_temp_mC <= desc->iio_adc_cold)
>> + temp = CM_TEMP_COLD; /* Cold */
>> + else
>> + temp = CM_TEMP_NORMAL; /* Normal */
>
> Something is definitely wrong here.
I'll fix it as below:
temp = CM_TEMP_NORMAL; /* Overheat */
-> temp = CM_TEMP_OVERHEAT; /* Overheat */
Also, as you mentioned, this patch haven't included the converting sequence
from ADC value to correct temperature because currently iio driver haven't
support this feature. So, I'm going to discuss this issue on following mailing thread:
- https://lkml.org/lkml/2013/10/26/42
If I find proper method to get temperature on IIO driver, I'll modify it.
Thanks for your comment.
Best Regards,
Chanwoo Choi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists