Lines Matching refs:rtc

28 	struct rtc_device *rtc = attr->private;  in rtc_nvram_read()  local
32 return nvmem_device_read(rtc->nvmem, off, count, buf); in rtc_nvram_read()
40 struct rtc_device *rtc = attr->private; in rtc_nvram_write() local
44 return nvmem_device_write(rtc->nvmem, off, count, buf); in rtc_nvram_write()
47 static int rtc_nvram_register(struct rtc_device *rtc, size_t size) in rtc_nvram_register() argument
51 rtc->nvram = devm_kzalloc(rtc->dev.parent, in rtc_nvram_register()
54 if (!rtc->nvram) in rtc_nvram_register()
57 rtc->nvram->attr.name = "nvram"; in rtc_nvram_register()
58 rtc->nvram->attr.mode = 0644; in rtc_nvram_register()
59 rtc->nvram->private = rtc; in rtc_nvram_register()
61 sysfs_bin_attr_init(rtc->nvram); in rtc_nvram_register()
63 rtc->nvram->read = rtc_nvram_read; in rtc_nvram_register()
64 rtc->nvram->write = rtc_nvram_write; in rtc_nvram_register()
65 rtc->nvram->size = size; in rtc_nvram_register()
67 err = sysfs_create_bin_file(&rtc->dev.parent->kobj, in rtc_nvram_register()
68 rtc->nvram); in rtc_nvram_register()
70 devm_kfree(rtc->dev.parent, rtc->nvram); in rtc_nvram_register()
71 rtc->nvram = NULL; in rtc_nvram_register()
77 static void rtc_nvram_unregister(struct rtc_device *rtc) in rtc_nvram_unregister() argument
79 sysfs_remove_bin_file(&rtc->dev.parent->kobj, rtc->nvram); in rtc_nvram_unregister()
85 int rtc_nvmem_register(struct rtc_device *rtc, in rtc_nvmem_register() argument
88 if (!IS_ERR_OR_NULL(rtc->nvmem)) in rtc_nvmem_register()
94 nvmem_config->dev = rtc->dev.parent; in rtc_nvmem_register()
95 nvmem_config->owner = rtc->owner; in rtc_nvmem_register()
96 rtc->nvmem = nvmem_register(nvmem_config); in rtc_nvmem_register()
97 if (IS_ERR(rtc->nvmem)) in rtc_nvmem_register()
98 return PTR_ERR(rtc->nvmem); in rtc_nvmem_register()
101 if (rtc->nvram_old_abi) in rtc_nvmem_register()
102 rtc_nvram_register(rtc, nvmem_config->size); in rtc_nvmem_register()
108 void rtc_nvmem_unregister(struct rtc_device *rtc) in rtc_nvmem_unregister() argument
110 if (IS_ERR_OR_NULL(rtc->nvmem)) in rtc_nvmem_unregister()
114 if (rtc->nvram) in rtc_nvmem_unregister()
115 rtc_nvram_unregister(rtc); in rtc_nvmem_unregister()
117 nvmem_unregister(rtc->nvmem); in rtc_nvmem_unregister()