Messages in this thread | | | Date | Mon, 27 Aug 2012 16:38:33 -0700 | From | Randy Dunlap <> | Subject | Re: Q: What will happen if I insmod a new version driver when it has already been statically in kernel? |
| |
On 08/27/2012 03:06 AM, Yang Bai wrote:
> Hi all, > > We have one driver which has been statically compiled into kernel, and > now we want to upgrade it. But we only have a new version module for > this driver. Could I just insmod this module and make the new driver > work?
No, that should not work -- unless the in-kernel driver has a close/release method that you can somehow trigger.
> If so, what happens to the static old one?
It stays.
> If not, Can we upgrade this driver without re-compile the kernel to > make the in-kernel driver out or module?
If the current driver is not a loadable module, you cannot replace it. Assuming that they use mostly the same resources, like I/O devices or memory BARs or however the device presents its control & data interfaces, the new module would not be able to access the device interfaces since they would still be used/owned by the in-kernel driver.
-- ~Randy
| |