如何找到内核加载的RTC模块?

问题描述 投票:0回答:1

在使用从Ubuntu OS 16.04获得的配置文件编译我的内核期间,我注意到我正在编译许多RTC驱动程序,基本上每个可能的驱动程序:

... snip ...
CC [M]  drivers/rtc/rtc-bq4802.o
CC [M]  drivers/rtc/rtc-da9052.o 
CC [M]  drivers/rtc/rtc-da9055.o
... more of those ...
...

我想知道是否可以摆脱那么多司机,所以我开始四处寻找如何:

  1. 看着lsmod我看不到RTC驱动程序
  2. lshw也没有帮助
  3. lspci -v也没有产生太多信息。

较低级别检查,显示存在的设备:

$ ls -l /dev/rtc
lrwxrwxrwx 1 root root 4 Dec 18 09:54 /dev/rtc -> rtc0

我得到更多信息的最接近的是/sys/class/rtc/

$ sudo cat /sys/class/rtc/rtc0/device/rtc/rtc0/name 
rtc_cmos

Doe意味着,我的内核使用的唯一驱动程序是rtc_cmos

  • 这是否意味着我不需要所有其他驱动程序?
  • 这是否意味着我的笔记本电脑使用CMOS兼容硬件?
  • 另外,为什么modinfo rtc_cmos什么都没有?
linux linux-kernel linux-device-driver
1个回答
3
投票

这是否意味着我不需要所有其他驱动程序?这是否意味着我的笔记本电脑使用CMOS兼容硬件?

确切地说,如果你只关心那个RTC,那么rtc_cmos就是你所需要的。如果你的电脑足够新,rtc-efi可能是一个有效的选择。

另外,为什么modinfo rtc_cmos什么都不返回?

因为驱动程序可能是在内核中静态编译而不是作为模块编译。检查配置中的CONFIG_RTC_DRV_CMOS = y。

© www.soinside.com 2019 - 2024. All rights reserved.