Commit | Line | Data |
---|---|---|
cdf7545a | 1 | // SPDX-License-Identifier: GPL-2.0 |
697e5a47 AB |
2 | /* |
3 | * RTC subsystem, nvmem interface | |
4 | * | |
5 | * Copyright (C) 2017 Alexandre Belloni | |
697e5a47 AB |
6 | */ |
7 | ||
8 | #include <linux/err.h> | |
9 | #include <linux/types.h> | |
10 | #include <linux/nvmem-consumer.h> | |
11 | #include <linux/rtc.h> | |
697e5a47 | 12 | |
3a905c2d | 13 | int devm_rtc_nvmem_register(struct rtc_device *rtc, |
2cc82121 | 14 | struct nvmem_config *nvmem_config) |
697e5a47 | 15 | { |
6746bc09 | 16 | struct device *dev = rtc->dev.parent; |
41c9e132 | 17 | struct nvmem_device *nvmem; |
ab3ea36e | 18 | |
4cce9d39 | 19 | if (!nvmem_config) |
2cc82121 | 20 | return -ENODEV; |
697e5a47 | 21 | |
6746bc09 | 22 | nvmem_config->dev = dev; |
4cce9d39 | 23 | nvmem_config->owner = rtc->owner; |
2cc3b37f | 24 | nvmem_config->add_legacy_fixed_of_cells = true; |
6746bc09 BG |
25 | nvmem = devm_nvmem_register(dev, nvmem_config); |
26 | if (IS_ERR(nvmem)) | |
27 | dev_err(dev, "failed to register nvmem device for RTC\n"); | |
2cc82121 | 28 | |
25ece305 | 29 | return PTR_ERR_OR_ZERO(nvmem); |
697e5a47 | 30 | } |
3a905c2d | 31 | EXPORT_SYMBOL_GPL(devm_rtc_nvmem_register); |