Re: [PATCH] rk808: fix RK818_IRQ_DISCHG_ILIM initializer

From: Andy Yan
Date: Tue Sep 13 2016 - 20:49:18 EST


Hi:


On 2016å09æ13æ 18:48, Lee Jones wrote:
On Tue, 06 Sep 2016, Arnd Bergmann wrote:

When building with -Woverride-init, we get a warning about an incorrect
initializer:

drivers/mfd/rk808.c:244:8: error: initialized field overwritten [-Werror=override-init]
[RK818_IRQ_DISCHG_ILIM] = {

This is clearly a mistake, as both RK818_IRQ_DISCHG_ILIM and RK818_IRQ_USB_OV
are defined as '7', but they refer to different register bits. Changing
RK818_IRQ_DISCHG_ILIM to 15 is consistent with how all other 14 interrupts are
handled here, so I'm assuming this is what it should have been.

Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Fixes: 2eedcbfc0612 ("mfd: rk808: Add RK818 support")
---
include/linux/mfd/rk808.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
I would like someone who is in possession of a datasheet to confirm
this.

According to the datasheet, the RK818_IRQ_USB_OV is in bit 7 of INT_STS_REG1(0x4c) and RK818_IRQ_DISCHG_ILIM is in bit 7 of INT_STS_REG2(0x4e), so Arnd's change is right.


Thanks.
diff --git a/include/linux/mfd/rk808.h b/include/linux/mfd/rk808.h
index fc5db6fcb57d..6d435a3c06bc 100644
--- a/include/linux/mfd/rk808.h
+++ b/include/linux/mfd/rk808.h
@@ -244,7 +244,7 @@ enum rk818_reg {
#define RK818_IRQ_CHG_TS1 12
#define RK818_IRQ_TS2 13
#define RK818_IRQ_CHG_CVTLIM 14
-#define RK818_IRQ_DISCHG_ILIM 7
+#define RK818_IRQ_DISCHG_ILIM 15
#define RK818_IRQ_VOUT_LO_MSK BIT(0)
#define RK818_IRQ_VB_LO_MSK BIT(1)