Linux certainly does have drivers. It calls them drivers in the documentation, in the directory structure, and in the code itself. If the drivers are in the kernel they are still called drivers. The drivers may become modules, but only if they are built as kernel modules.
If the mwifiex driver is built-in to the kernel, you will not find a module for it.
For example, to boot your hard drive, the driver for the hard drive must be built-in the kernel, it cannot be a module. The filesystem for that hard drive must also be built-in. But the filesystems and drivers for secondary devices can be modules because they can be loaded after hard drive access to the modules is established.
A Linux kernel can be built having LAN access to its modules, and does not even need a local hard drive. In that case all the drivers for the LAN must be built-in to the kernel. In the kernel config they would be marked with "=y", and not the "=m" that builds modules. With the LAN drivers built-in, the LAN system can be used to access the network hard drives where there can be a path to kernel modules. Loading kernel modules would be done over the LAN drivers, which can then bring in drivers for other devices and optional kernel operations.
Not all modules are drivers, some are just kernel enhancements.
Some of the drivers won't let you build them as modules. Probably because writing them with the module hooks had some difficulty. Those drivers will only be present as built-in to the kernel.
Last edited by selfprogrammed; 03-06-2018 at 10:25 AM.
|