[v3] rtc: pcf85363/pcf85263: fix error that failed to run hwclock -w

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Issue:
    - hwclock -w
      hwclock: RTC_SET_TIME: Invalid argument

Why:
    - Relative patch: https://lkml.org/lkml/2019/4/3/55 , this patch
      will always check for unwritable registers, it will compare reg
      with max_register in regmap_writeable.
    - In drivers/rtc/rtc-pcf85363.c, CTRL_STOP_EN is 0x2e, but DT_100THS
      is 0, max_regiter is 0x2f, then reg will be equal to 0x30,
      0x30 < 0x2f is false,so regmap_writeable will return false.

How:
    - increase max_register to skip failed
      when checking max_register.

Signed-off-by: Biwen Li <biwen.li@xxxxxxx>
---
Change in v3:
	- replace old scheme with new scheme:
	  increase max_register.

Change in v2:
	- add Why and How into commit message.

 drivers/rtc/rtc-pcf85363.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/rtc/rtc-pcf85363.c b/drivers/rtc/rtc-pcf85363.c
index a075e77617dc..e9d4ef59febd 100644
--- a/drivers/rtc/rtc-pcf85363.c
+++ b/drivers/rtc/rtc-pcf85363.c
@@ -336,7 +336,8 @@ static const struct pcf85x63_config pcf_85263_config = {
 	.regmap = {
 		.reg_bits = 8,
 		.val_bits = 8,
-		.max_register = 0x2f,
+		.max_register = 0x2f * 2, /* skip failed when
+					     checking max_register */
 	},
 	.num_nvram = 1
 };
-- 
2.17.1




[Index of Archives]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux