Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * RTC subsystem, nvmem interface
0004  *
0005  * Copyright (C) 2017 Alexandre Belloni
0006  */
0007 
0008 #include <linux/err.h>
0009 #include <linux/types.h>
0010 #include <linux/nvmem-consumer.h>
0011 #include <linux/rtc.h>
0012 
0013 int devm_rtc_nvmem_register(struct rtc_device *rtc,
0014                struct nvmem_config *nvmem_config)
0015 {
0016     struct device *dev = rtc->dev.parent;
0017     struct nvmem_device *nvmem;
0018 
0019     if (!nvmem_config)
0020         return -ENODEV;
0021 
0022     nvmem_config->dev = dev;
0023     nvmem_config->owner = rtc->owner;
0024     nvmem = devm_nvmem_register(dev, nvmem_config);
0025     if (IS_ERR(nvmem))
0026         dev_err(dev, "failed to register nvmem device for RTC\n");
0027 
0028     return PTR_ERR_OR_ZERO(nvmem);
0029 }
0030 EXPORT_SYMBOL_GPL(devm_rtc_nvmem_register);