OSDN Git Service

rtc: ds1307: call rtc_nvmem_register()
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 12 Feb 2018 22:47:22 +0000 (23:47 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Thu, 1 Mar 2018 09:49:16 +0000 (10:49 +0100)
Call rtc_nvmem_register instead of letting the core do it and stop using
the nvmem_config member of struct rtc_device.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-ds1307.c

index 923dde9..c146411 100644 (file)
@@ -1696,6 +1696,11 @@ read_rtc:
                }
        }
 
+       ds1307->rtc->ops = chip->rtc_ops ?: &ds13xx_rtc_ops;
+       err = rtc_register_device(ds1307->rtc);
+       if (err)
+               return err;
+
        if (chip->nvram_size) {
                ds1307->nvmem_cfg.name = "ds1307_nvram";
                ds1307->nvmem_cfg.word_size = 1;
@@ -1705,15 +1710,10 @@ read_rtc:
                ds1307->nvmem_cfg.reg_write = ds1307_nvram_write;
                ds1307->nvmem_cfg.priv = ds1307;
 
-               ds1307->rtc->nvmem_config = &ds1307->nvmem_cfg;
                ds1307->rtc->nvram_old_abi = true;
+               rtc_nvmem_register(ds1307->rtc, &ds1307->nvmem_cfg);
        }
 
-       ds1307->rtc->ops = chip->rtc_ops ?: &ds13xx_rtc_ops;
-       err = rtc_register_device(ds1307->rtc);
-       if (err)
-               return err;
-
        ds1307_hwmon_register(ds1307);
        ds1307_clks_register(ds1307);