summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/rtc/nvmem.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/rtc/nvmem.c b/drivers/rtc/nvmem.c
index 36ab183c42f1..2a7220d8b02d 100644
--- a/drivers/rtc/nvmem.c
+++ b/drivers/rtc/nvmem.c
@@ -93,7 +93,7 @@ int rtc_nvmem_register(struct rtc_device *rtc,
93 93
94 nvmem_config->dev = rtc->dev.parent; 94 nvmem_config->dev = rtc->dev.parent;
95 nvmem_config->owner = rtc->owner; 95 nvmem_config->owner = rtc->owner;
96 rtc->nvmem = nvmem_register(nvmem_config); 96 rtc->nvmem = devm_nvmem_register(rtc->dev.parent, nvmem_config);
97 if (IS_ERR(rtc->nvmem)) 97 if (IS_ERR(rtc->nvmem))
98 return PTR_ERR(rtc->nvmem); 98 return PTR_ERR(rtc->nvmem);
99 99
@@ -107,12 +107,7 @@ EXPORT_SYMBOL_GPL(rtc_nvmem_register);
107 107
108void rtc_nvmem_unregister(struct rtc_device *rtc) 108void rtc_nvmem_unregister(struct rtc_device *rtc)
109{ 109{
110 if (IS_ERR_OR_NULL(rtc->nvmem))
111 return;
112
113 /* unregister the old ABI */ 110 /* unregister the old ABI */
114 if (rtc->nvram) 111 if (rtc->nvram)
115 rtc_nvram_unregister(rtc); 112 rtc_nvram_unregister(rtc);
116
117 nvmem_unregister(rtc->nvmem);
118} 113}