diff options
author | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2018-02-13 01:47:30 +0300 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2018-03-01 12:49:21 +0300 |
commit | 0e7a412fa24c021cba7feebbc82878a44f58b33a (patch) | |
tree | b6d472c40315fe1074182403b38af5434dbde7af /drivers/rtc/rtc-pcf85363.c | |
parent | 24849d177c63e3f9b2bd92eb5c17c7ee0da4d798 (diff) | |
download | linux-0e7a412fa24c021cba7feebbc82878a44f58b33a.tar.xz |
rtc: pcf85363: put struct nvmem_config on the stack
Avoid allocating memory for struct nvmem_config.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'drivers/rtc/rtc-pcf85363.c')
-rw-r--r-- | drivers/rtc/rtc-pcf85363.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/rtc/rtc-pcf85363.c b/drivers/rtc/rtc-pcf85363.c index a1fe833d2431..64573cccf7fe 100644 --- a/drivers/rtc/rtc-pcf85363.c +++ b/drivers/rtc/rtc-pcf85363.c @@ -80,7 +80,6 @@ static struct i2c_driver pcf85363_driver; struct pcf85363 { struct device *dev; struct rtc_device *rtc; - struct nvmem_config nvmem_cfg; struct regmap *regmap; }; @@ -164,6 +163,14 @@ static int pcf85363_probe(struct i2c_client *client, const struct i2c_device_id *id) { struct pcf85363 *pcf85363; + struct nvmem_config nvmem_cfg = { + .name = "pcf85363-", + .word_size = 1, + .stride = 1, + .size = NVRAM_SIZE, + .reg_read = pcf85363_nvram_read, + .reg_write = pcf85363_nvram_write, + }; int ret; if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) @@ -187,18 +194,12 @@ static int pcf85363_probe(struct i2c_client *client, if (IS_ERR(pcf85363->rtc)) return PTR_ERR(pcf85363->rtc); - pcf85363->nvmem_cfg.name = "pcf85363-"; - pcf85363->nvmem_cfg.word_size = 1; - pcf85363->nvmem_cfg.stride = 1; - pcf85363->nvmem_cfg.size = NVRAM_SIZE; - pcf85363->nvmem_cfg.reg_read = pcf85363_nvram_read; - pcf85363->nvmem_cfg.reg_write = pcf85363_nvram_write; - pcf85363->nvmem_cfg.priv = pcf85363; pcf85363->rtc->ops = &rtc_ops; ret = rtc_register_device(pcf85363->rtc); - rtc_nvmem_register(pcf85363->rtc, &pcf85363->nvmem_cfg); + nvmem_cfg.priv = pcf85363; + rtc_nvmem_register(pcf85363->rtc, &nvmem_cfg); return ret; } |