ab8500_btemp: Ignore false btemp low interrupt
Ignore the low btemp interrupts for ab8500 3.0 and 3.3 Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Hakan Berg <hakan.berg@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Tested-by: Marcus COOPER <marcus.xm.cooper@stericsson.com> Signed-off-by: Anton Vorontsov <anton@enomsg.org>
This commit is contained in:
Родитель
5b41aa9f2b
Коммит
d36e3e6d50
|
@ -622,9 +622,9 @@ static irqreturn_t ab8500_btemp_templow_handler(int irq, void *_di)
|
||||||
{
|
{
|
||||||
struct ab8500_btemp *di = _di;
|
struct ab8500_btemp *di = _di;
|
||||||
|
|
||||||
if (is_ab8500_2p0_or_earlier(di->parent)) {
|
if (is_ab8500_3p3_or_earlier(di->parent)) {
|
||||||
dev_dbg(di->dev, "Ignore false btemp low irq"
|
dev_dbg(di->dev, "Ignore false btemp low irq"
|
||||||
" for ABB cut 1.0, 1.1 and 2.0\n");
|
" for ABB cut 1.0, 1.1, 2.0 and 3.3\n");
|
||||||
} else {
|
} else {
|
||||||
dev_crit(di->dev, "Battery temperature lower than -10deg c\n");
|
dev_crit(di->dev, "Battery temperature lower than -10deg c\n");
|
||||||
|
|
||||||
|
@ -738,10 +738,10 @@ static int ab8500_btemp_get_temp(struct ab8500_btemp *di)
|
||||||
int temp = 0;
|
int temp = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The BTEMP events are not reliabe on AB8500 cut2.0
|
* The BTEMP events are not reliabe on AB8500 cut3.3
|
||||||
* and prior versions
|
* and prior versions
|
||||||
*/
|
*/
|
||||||
if (is_ab8500_2p0_or_earlier(di->parent)) {
|
if (is_ab8500_3p3_or_earlier(di->parent)) {
|
||||||
temp = di->bat_temp * 10;
|
temp = di->bat_temp * 10;
|
||||||
} else {
|
} else {
|
||||||
if (di->events.btemp_low) {
|
if (di->events.btemp_low) {
|
||||||
|
|
|
@ -335,6 +335,11 @@ static inline int is_ab8500_2p0_or_earlier(struct ab8500 *ab)
|
||||||
return (is_ab8500(ab) && (ab->chip_id <= AB8500_CUT2P0));
|
return (is_ab8500(ab) && (ab->chip_id <= AB8500_CUT2P0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline int is_ab8500_3p3_or_earlier(struct ab8500 *ab)
|
||||||
|
{
|
||||||
|
return (is_ab8500(ab) && (ab->chip_id <= AB8500_CUT3P3));
|
||||||
|
}
|
||||||
|
|
||||||
/* exclude also ab8505, ab9540... */
|
/* exclude also ab8505, ab9540... */
|
||||||
static inline int is_ab8500_2p0(struct ab8500 *ab)
|
static inline int is_ab8500_2p0(struct ab8500 *ab)
|
||||||
{
|
{
|
||||||
|
|
Загрузка…
Ссылка в новой задаче