staging: omap-thermal: read status only once inside alert IRQ
authorEduardo Valentin <eduardo.valentin@ti.com>
Fri, 15 Mar 2013 13:00:04 +0000 (09:00 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Mar 2013 16:02:10 +0000 (09:02 -0700)
There is no need to re-read status register.

Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/omap-thermal/omap-bandgap.c

index 531e853c1480c6d41f83e1c46ac4dd34143d1cff..fce394224bc7093a12011da7a24dd821b98911f9 100644 (file)
@@ -164,15 +164,15 @@ static irqreturn_t omap_bandgap_talert_irq_handler(int irq, void *data)
        u32 t_hot = 0, t_cold = 0, ctrl;
        int i;
 
-       /* Read the status of t_hot */
        for (i = 0; i < bg_ptr->conf->sensor_count; i++) {
                tsr = bg_ptr->conf->sensors[i].registers;
-               t_hot = omap_bandgap_readl(bg_ptr, tsr->bgap_status);
-               t_hot &= tsr->status_hot_mask;
+               ctrl = omap_bandgap_readl(bg_ptr, tsr->bgap_status);
+
+               /* Read the status of t_hot */
+               t_hot = ctrl & tsr->status_hot_mask;
 
                /* Read the status of t_cold */
-               t_cold = omap_bandgap_readl(bg_ptr, tsr->bgap_status);
-               t_cold &= tsr->status_cold_mask;
+               t_cold = ctrl & tsr->status_cold_mask;
 
                if (!t_cold && !t_hot)
                        continue;