1 Star 2 Fork 2

e665107/Linux-Device-Drivers-Development

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Fake rtc driver

After running make command, there will be two modules:

  • fake-rtc.ko
  • rtc-ins.ko

The fist module is our fake rtc driver, the second one is used to create a plateform device that matches our first module. This way, one can avoid updating the devicetree.

 # insmod ./fake-rtc.ko
 # insmod ./rtc-ins.ko

After loading both modules, one can print debug message, and see something like below:

# dmesg
[ 3390.052469] fake-rtc fake-rtc.0: rtc core: registered fake-rtc as rtc2
[ 3390.058033] fake-rtc fake-rtc.0: loaded; begin_time is 3390, rtc_time is 0

Before loading the module, there were no rtc2

# ls -l /dev/rtc*
lrwxrwxrwx    1 root     root             4 Aug 12 17:54 /dev/rtc -> rtc0
crw-------    1 root     root      254,   0 Aug 12 17:54 /dev/rtc0
crw-------    1 root     root      254,   1 Aug 12 17:54 /dev/rtc1

After loading modules,

# ls -l /dev/rtc*
lrwxrwxrwx    1 root     root             4 Aug 12 17:55 /dev/rtc -> rtc0
crw-------    1 root     root      254,   0 Aug 12 17:55 /dev/rtc0
crw-------    1 root     root      254,   1 Aug 12 17:55 /dev/rtc1
crw-------    1 root     root      254,   1 Aug 12 17:55 /dev/rtc2

One can also check other parameters as below:

# udevadm info /dev/rtc2
P: /devices/platform/fake-rtc.0/rtc/rtc2
N: rtc2
E: DEVNAME=/dev/rtc2
E: DEVPATH=/devices/platform/fake-rtc.0/rtc/rtc2
E: MAJOR=254
E: MINOR=2
E: SUBSYSTEM=rtc

# cat /sys/class/rtc/rtc2/name 
fake-rtc

# cat /sys/class/rtc/rtc2/date 
1970-01-01
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/e665107/Linux-Device-Drivers-Development.git
git@gitee.com:e665107/Linux-Device-Drivers-Development.git
e665107
Linux-Device-Drivers-Development
Linux-Device-Drivers-Development
master

搜索帮助