rtc: ds1307: put struct nvmem_config on the stack
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 12 Feb 2018 22:47:23 +0000 (23:47 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Thu, 1 Mar 2018 09:49:17 +0000 (10:49 +0100)
Avoid allocating memory for struct nvmem_config as it is only necessary at
the nvmem registration.

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

index c146411..4021d47 100644 (file)
@@ -114,7 +114,6 @@ enum ds_type {
 #      define RX8025_BIT_XST           0x20
 
 struct ds1307 {
-       struct nvmem_config     nvmem_cfg;
        enum ds_type            type;
        unsigned long           flags;
 #define HAS_NVRAM      0               /* bit 0 == sysfs file active */
@@ -1702,16 +1701,18 @@ read_rtc:
                return err;
 
        if (chip->nvram_size) {
-               ds1307->nvmem_cfg.name = "ds1307_nvram";
-               ds1307->nvmem_cfg.word_size = 1;
-               ds1307->nvmem_cfg.stride = 1;
-               ds1307->nvmem_cfg.size = chip->nvram_size;
-               ds1307->nvmem_cfg.reg_read = ds1307_nvram_read;
-               ds1307->nvmem_cfg.reg_write = ds1307_nvram_write;
-               ds1307->nvmem_cfg.priv = ds1307;
+               struct nvmem_config nvmem_cfg = {
+                       .name = "ds1307_nvram",
+                       .word_size = 1,
+                       .stride = 1,
+                       .size = chip->nvram_size,
+                       .reg_read = ds1307_nvram_read,
+                       .reg_write = ds1307_nvram_write,
+                       .priv = ds1307,
+               };
 
                ds1307->rtc->nvram_old_abi = true;
-               rtc_nvmem_register(ds1307->rtc, &ds1307->nvmem_cfg);
+               rtc_nvmem_register(ds1307->rtc, &nvmem_cfg);
        }
 
        ds1307_hwmon_register(ds1307);