October 2017
Intermediate to advanced
586 pages
14h 8m
English
You can summarize the preceding concepts in a simple and fake driver, which simply registers an RTC device on the system:
#include <linux/platform_device.h> #include <linux/module.h> #include <linux/types.h> #include <linux/time.h> #include <linux/err.h> #include <linux/rtc.h> #include <linux/of.h> static int fake_rtc_read_time(struct device *dev, struct rtc_time *tm) { /* * One can update "tm" with fake values and then call */ return rtc_valid_tm(tm); } static int fake_rtc_set_time(struct device *dev, struct rtc_time *tm) { return 0; } static const struct rtc_class_ops fake_rtc_ops = { .read_time = fake_rtc_read_time, .set_time = fake_rtc_set_time }; static const struct of_device_id rtc_dt_ids[] = { { .compatible = "packt,rtc-fake", ...