bus: ti-sysc: Fix dispc quirk masking bool variables
authorTony Lindgren <tony@atomide.com>
Wed, 17 May 2023 07:04:16 +0000 (10:04 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jul 2023 14:21:18 +0000 (16:21 +0200)
[ Upstream commit f620596fa347170852da499e778a5736d79a4b79 ]

Fix warning drivers/bus/ti-sysc.c:1806 sysc_quirk_dispc()
warn: masking a bool.

While at it let's add a comment for what were doing to make
the code a bit easier to follow.

Fixes: 7324a7a0d5e2 ("bus: ti-sysc: Implement display subsystem reset quirk")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/linux-omap/a8ec8a68-9c2c-4076-bf47-09fccce7659f@kili.mountain/
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/bus/ti-sysc.c

index 9a7d123..cae078b 100644 (file)
@@ -1808,7 +1808,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;
@@ -1820,7 +1820,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));