我想禁用或删除8250.c(低级UART驱动程序)模块,并在功能基础上实现相同功能,以便从用户空间执行读写请求
以下是我的问题:
我是Linux设备驱动程序的新手,如果我错了,请原谅自己。我google了很多但没有得到正确的解决方案
答案 0 :(得分:2)
答案1) 如果您当前的系统将8250驱动程序构建为模块,则只需卸载它:
$ lsmod | grep 8250
# rmmod 8250-driver-name
(我没有检查驱动程序的确切名称)
如果您当前的系统在内核中内置了8250驱动程序(或者您正在为新系统构建Linux内核),则必须编译内核。您必须编辑当前配置结束删除驱动程序。您可以使用:
$ make xconfig
或
$ make menuconfig
用于图形界面(在Linux内核源代码中运行这些命令)。
您也可以手动编辑.config
文件并删除驱动程序
CONFIG_SERIAL_8250=n
或通过设置:
将其编译为模块 CONFIG_SERIAL_8250=m
(建议不要使用此驱动程序,请阅读xconfig或menuconfig文档)
如果您已有工作配置文件,可以将其作为.config
cp /path/to/you/config/file /path/to/your/kernel/source/.config
然后,如上所述编辑CONFIG_SERIAL_8250字段。
答案2)我可以链接的最好例子是8250.c driver。但是,如果您想了解如何开发Linux驱动程序,可以阅读Linux Device Driver