1*09c434b8SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only 23afe6d04SGeert Uytterhoeven /* rtc-generic: RTC driver using the generic RTC abstraction 33afe6d04SGeert Uytterhoeven * 43afe6d04SGeert Uytterhoeven * Copyright (C) 2008 Kyle McMartin <[email protected]> 53afe6d04SGeert Uytterhoeven */ 63afe6d04SGeert Uytterhoeven 73afe6d04SGeert Uytterhoeven #include <linux/kernel.h> 83afe6d04SGeert Uytterhoeven #include <linux/module.h> 93afe6d04SGeert Uytterhoeven #include <linux/time.h> 103afe6d04SGeert Uytterhoeven #include <linux/platform_device.h> 113afe6d04SGeert Uytterhoeven #include <linux/rtc.h> 123afe6d04SGeert Uytterhoeven generic_rtc_probe(struct platform_device * dev)133afe6d04SGeert Uytterhoevenstatic int __init generic_rtc_probe(struct platform_device *dev) 143afe6d04SGeert Uytterhoeven { 153afe6d04SGeert Uytterhoeven struct rtc_device *rtc; 164273b49aSArnd Bergmann const struct rtc_class_ops *ops = dev_get_platdata(&dev->dev); 173afe6d04SGeert Uytterhoeven 18360fe134SJingoo Han rtc = devm_rtc_device_register(&dev->dev, "rtc-generic", 1964232fc3SArnd Bergmann ops, THIS_MODULE); 203afe6d04SGeert Uytterhoeven if (IS_ERR(rtc)) 213afe6d04SGeert Uytterhoeven return PTR_ERR(rtc); 223afe6d04SGeert Uytterhoeven 233afe6d04SGeert Uytterhoeven platform_set_drvdata(dev, rtc); 243afe6d04SGeert Uytterhoeven 253afe6d04SGeert Uytterhoeven return 0; 263afe6d04SGeert Uytterhoeven } 273afe6d04SGeert Uytterhoeven 283afe6d04SGeert Uytterhoeven static struct platform_driver generic_rtc_driver = { 293afe6d04SGeert Uytterhoeven .driver = { 303afe6d04SGeert Uytterhoeven .name = "rtc-generic", 313afe6d04SGeert Uytterhoeven }, 323afe6d04SGeert Uytterhoeven }; 333afe6d04SGeert Uytterhoeven 34a53f9a4eSJingoo Han module_platform_driver_probe(generic_rtc_driver, generic_rtc_probe); 353afe6d04SGeert Uytterhoeven 363afe6d04SGeert Uytterhoeven MODULE_AUTHOR("Kyle McMartin <[email protected]>"); 373afe6d04SGeert Uytterhoeven MODULE_LICENSE("GPL"); 383afe6d04SGeert Uytterhoeven MODULE_DESCRIPTION("Generic RTC driver"); 393afe6d04SGeert Uytterhoeven MODULE_ALIAS("platform:rtc-generic"); 40