bus: ti-sysc: Fix dispc quirk masking bool variables
[linux-2.6-microblaze.git] / drivers / bus / ti-sysc.c
index 6c49de3..21fe985 100644 (file)
@@ -1791,7 +1791,7 @@ static u32 sysc_quirk_dispc(struct sysc *ddata, int dispc_offset,
        if (!ddata->module_va)
                return -EIO;
 
-       /* DISP_CONTROL */
+       /* DISP_CONTROL, shut down lcd and digit on disable if enabled */
        val = sysc_read(ddata, dispc_offset + 0x40);
        lcd_en = val & lcd_en_mask;
        digit_en = val & digit_en_mask;
@@ -1803,7 +1803,7 @@ static u32 sysc_quirk_dispc(struct sysc *ddata, int dispc_offset,
                else
                        irq_mask |= BIT(2) | BIT(3);    /* EVSYNC bits */
        }
-       if (disable & (lcd_en | digit_en))
+       if (disable && (lcd_en || digit_en))
                sysc_write(ddata, dispc_offset + 0x40,
                           val & ~(lcd_en_mask | digit_en_mask));