Hi all, I have one question about how device drivers are supposed to be configured when loaded as modules. I've noticed this is the most commonly used method of attachment throughout the kernel:
... switch (cmd) { case MODULE_CMD_INIT: #ifdef _MODULE error = config_init_component(cfdriver_ioconf_if_ath_pci, cfattach_ioconf_if_ath_pci, cfdata_ioconf_if_ath_pci); #endif return error; case MODULE_CMD_FINI: ... And so on. Since I rarely used modules when looking for particular drivers, I just noticed that by loading (and unloading) a module from the command line, no new device is recognized or attached. In some cases, especially in pci drivers, just a rescan message is shown (both in console and dmesg). So my question is: are module device drivers supposed to configure a real device driver instance, or are they just a method of inserting the right autoconf glue, before the whole autoconfiguration process take place? Shouldn't a device driver module also perform some kind of bus enumeration scan, and then attach a new real device instance (by calling config_attach, or config_found, etc..), especially if requested from the command line? Thanks in advance T.G.