Regmap config max_register field should contain number of
device last register, however num_reg_defaults_raw field
should be set to register count instead
(usually one register more than max_register).

rc5t583 driver had both of these fields set to the same value,
fix this by introducing separate defines for max register
number and total count of registers.

Signed-off-by: Maciej S. Szmigiero <[email protected]>
---
 drivers/mfd/rc5t583.c       | 4 ++--
 include/linux/mfd/rc5t583.h | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/mfd/rc5t583.c b/drivers/mfd/rc5t583.c
index e10f02f5d551..fc2b2d93f354 100644
--- a/drivers/mfd/rc5t583.c
+++ b/drivers/mfd/rc5t583.c
@@ -241,8 +241,8 @@ static const struct regmap_config rc5t583_regmap_config = {
        .reg_bits = 8,
        .val_bits = 8,
        .volatile_reg = volatile_reg,
-       .max_register = RC5T583_MAX_REGS,
-       .num_reg_defaults_raw = RC5T583_MAX_REGS,
+       .max_register = RC5T583_MAX_REG,
+       .num_reg_defaults_raw = RC5T583_NUM_REGS,
        .cache_type = REGCACHE_RBTREE,
 };
 
diff --git a/include/linux/mfd/rc5t583.h b/include/linux/mfd/rc5t583.h
index fd413ccab915..8d0a392e0a7f 100644
--- a/include/linux/mfd/rc5t583.h
+++ b/include/linux/mfd/rc5t583.h
@@ -28,8 +28,6 @@
 #include <linux/types.h>
 #include <linux/regmap.h>
 
-#define RC5T583_MAX_REGS               0xF8
-
 /* Maximum number of main interrupts */
 #define MAX_MAIN_INTERRUPT             5
 #define RC5T583_MAX_GPEDGE_REG         2
@@ -169,6 +167,9 @@
 #define RC5T583_RTC_AY_MONTH 0xF3
 #define RC5T583_RTC_AY_YEAR    0xF4
 
+#define RC5T583_MAX_REG                0xF7
+#define RC5T583_NUM_REGS       (RC5T583_MAX_REG + 1)
+
 /* RICOH_RC5T583 IRQ definitions */
 enum {
        RC5T583_IRQ_ONKEY,

Reply via email to