是否可以覆盖已编译到内核中的驱动程序?

der*_*mur 3 linux-kernel

我有一个USB设备,我有一个API.仅当USB设备不使用ftdi_sio/usbserial驱动程序时,此API才有效.

在我的笔记本电脑上,如果我插入USB设备,这些驱动程序会被加载(作为模块),我必须使用modprobe -r卸载它们,之后使用API​​的代码可以看到设备.

我有另一个设备遇到相同的问题,虽然没有加载模块,所以我猜这些驱动程序编译到内核中.我的问题是 - 有什么方法可以阻止这个设备使用这些驱动程序,还是我必须重新编译内核等?

谢谢你的帮助!

The*_*ist 5

您基本上正在寻找一种方法:

  • 取消绑定从您的USB设备的默认驱动程序
  • 您选择的驱动程序绑定到它.

快速浏览一下在,让您开始.

这篇优秀的LWN(绑定)设备驱动程序文章中提供了稍微详细的描述.