Lines Matching defs:rtc
11 #include <linux/rtc.h>
41 static int rtc_nvram_register(struct rtc_device *rtc,
46 rtc->nvram = kzalloc(sizeof(*rtc->nvram), GFP_KERNEL);
47 if (!rtc->nvram)
50 rtc->nvram->attr.name = "nvram";
51 rtc->nvram->attr.mode = 0644;
52 rtc->nvram->private = nvmem;
54 sysfs_bin_attr_init(rtc->nvram);
56 rtc->nvram->read = rtc_nvram_read;
57 rtc->nvram->write = rtc_nvram_write;
58 rtc->nvram->size = size;
60 err = sysfs_create_bin_file(&rtc->dev.parent->kobj,
61 rtc->nvram);
63 kfree(rtc->nvram);
64 rtc->nvram = NULL;
70 static void rtc_nvram_unregister(struct rtc_device *rtc)
72 sysfs_remove_bin_file(&rtc->dev.parent->kobj, rtc->nvram);
73 kfree(rtc->nvram);
74 rtc->nvram = NULL;
80 int rtc_nvmem_register(struct rtc_device *rtc,
88 nvmem_config->dev = rtc->dev.parent;
89 nvmem_config->owner = rtc->owner;
90 nvmem = devm_nvmem_register(rtc->dev.parent, nvmem_config);
95 if (rtc->nvram_old_abi)
96 rtc_nvram_register(rtc, nvmem, nvmem_config->size);
102 void rtc_nvmem_unregister(struct rtc_device *rtc)
105 if (rtc->nvram)
106 rtc_nvram_unregister(rtc);