我想禁用或删除 8250.c(低级 UART 驱动程序)模块并在基本功能上实现相同的功能,以便它执行来自用户空间的读写请求
这是我的问题:
- 如何删除/禁用 8250.0 模块
- 如果可能的话,给我一些参考链接/示例来实现具有基本功能的 8250 驱动程序。
我是Linux设备驱动程序的新手,如果我错了,请原谅。我用谷歌搜索了很多,但没有得到正确的解决方案
我想禁用或删除 8250.c(低级 UART 驱动程序)模块并在基本功能上实现相同的功能,以便它执行来自用户空间的读写请求
这是我的问题:
我是Linux设备驱动程序的新手,如果我错了,请原谅。我用谷歌搜索了很多,但没有得到正确的解决方案
回答 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 驱动程序。但是如果你想学习如何开发 Linux 驱动,你可以阅读Linux Device Driver