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 <[email protected]>
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)


Reply via email to