cregit-Linux how code gets into the kernel

Release 4.7 drivers/rtc/rtc-generic.c

Directory: drivers/rtc
/* rtc-generic: RTC driver using the generic RTC abstraction
 *
 * Copyright (C) 2008 Kyle McMartin <kyle@mcmartin.ca>
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/time.h>
#include <linux/platform_device.h>
#include <linux/rtc.h>

#if defined(CONFIG_M68K) || defined(CONFIG_PARISC) || \
    defined(CONFIG_PPC) || defined(CONFIG_SUPERH32)
#include <asm/rtc.h>


static int generic_get_time(struct device *dev, struct rtc_time *tm) { unsigned int ret = get_rtc_time(tm); if (ret & RTC_BATT_BAD) return -EOPNOTSUPP; return rtc_valid_tm(tm); }

Contributors

PersonTokensPropCommitsCommitProp
kyle mcmartinkyle mcmartin3380.49%125.00%
dann frazierdann frazier49.76%125.00%
geert uytterhoevengeert uytterhoeven49.76%250.00%
Total41100.00%4100.00%


static int generic_set_time(struct device *dev, struct rtc_time *tm) { if (set_rtc_time(tm) < 0) return -EOPNOTSUPP; return 0; }

Contributors

PersonTokensPropCommitsCommitProp
kyle mcmartinkyle mcmartin2990.62%133.33%
dann frazierdann frazier26.25%133.33%
geert uytterhoevengeert uytterhoeven13.12%133.33%
Total32100.00%3100.00%

static const struct rtc_class_ops generic_rtc_ops = { .read_time = generic_get_time, .set_time = generic_set_time, }; #else #define generic_rtc_ops *(struct rtc_class_ops*)NULL #endif
static int __init generic_rtc_probe(struct platform_device *dev) { struct rtc_device *rtc; const struct rtc_class_ops *ops; ops = dev_get_platdata(&dev->dev); if (!ops) ops = &generic_rtc_ops; rtc = devm_rtc_device_register(&dev->dev, "rtc-generic", ops, THIS_MODULE); if (IS_ERR(rtc)) return PTR_ERR(rtc); platform_set_drvdata(dev, rtc); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
kyle mcmartinkyle mcmartin4352.44%112.50%
arnd bergmannarnd bergmann2732.93%112.50%
dann frazierdann frazier89.76%450.00%
jingoo hanjingoo han33.66%112.50%
geert uytterhoevengeert uytterhoeven11.22%112.50%
Total82100.00%8100.00%

static struct platform_driver generic_rtc_driver = { .driver = { .name = "rtc-generic", }, }; module_platform_driver_probe(generic_rtc_driver, generic_rtc_probe); MODULE_AUTHOR("Kyle McMartin <kyle@mcmartin.ca>"); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Generic RTC driver"); MODULE_ALIAS("platform:rtc-generic");

Overall Contributors

PersonTokensPropCommitsCommitProp
kyle mcmartinkyle mcmartin16762.78%17.69%
arnd bergmannarnd bergmann5721.43%17.69%
geert uytterhoevengeert uytterhoeven207.52%323.08%
dann frazierdann frazier186.77%646.15%
jingoo hanjingoo han41.50%215.38%
Total266100.00%13100.00%
Directory: drivers/rtc
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}