Commit d36e3e6d authored by Hakan Berg's avatar Hakan Berg Committed by Anton Vorontsov
Browse files

ab8500_btemp: Ignore false btemp low interrupt



Ignore the low btemp interrupts for ab8500 3.0 and 3.3

Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
Signed-off-by: default avatarHakan Berg <hakan.berg@stericsson.com>
Reviewed-by: default avatarJonas ABERG <jonas.aberg@stericsson.com>
Tested-by: default avatarMarcus COOPER <marcus.xm.cooper@stericsson.com>
Signed-off-by: default avatarAnton Vorontsov <anton@enomsg.org>
parent 5b41aa9f
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -622,9 +622,9 @@ static irqreturn_t ab8500_btemp_templow_handler(int irq, void *_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"
			" 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 {
		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;

	/*
	 * The BTEMP events are not reliabe on AB8500 cut2.0
	 * The BTEMP events are not reliabe on AB8500 cut3.3
	 * and prior versions
	 */
	if (is_ab8500_2p0_or_earlier(di->parent)) {
	if (is_ab8500_3p3_or_earlier(di->parent)) {
		temp = di->bat_temp * 10;
	} else {
		if (di->events.btemp_low) {
+5 −0
Original line number Diff line number Diff line
@@ -335,6 +335,11 @@ static inline int is_ab8500_2p0_or_earlier(struct ab8500 *ab)
	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... */
static inline int is_ab8500_2p0(struct ab8500 *ab)
{