如果你想要动态插入你的内核模块,而你的内核模块中又调用了usb_register()这个函数,但没有声明你的模块授权类型为GPL。那在插入模块的时候就会提示

同时内核dmesg就会像这样提示你:

这个提示内容的确有点诡异,不过知道原因之后解决起来就很简单了,直接在模块驱动的源码最后加上

即可!

看来内核对授权的严格要求真还不是盖的。如果你不采用GPL授权,那内核里有些功能你是用不了的。