On Sun, 16 Apr 2006, Perceval Anichini wrote: > > Seems to work fine. I added non-static global functions with the same name to > > two modules, and they loaded fine, each calling their own version of the > > function. Not exactly the same as pulling the function in when the module > > is linked at compile time, but I think that will work too. > > Using a static library will duplicate binary code into different > modules as well, no ? I listed this as a downside in my first message. The code duplication only matters if you load multiple drivers, which isn't common. Even with multiple drivers, the duplicated code doesn't ammount to much, possibly less than the overhead of trying to avoid duplicating it. > Couldn't we build a single 'frontends' module that would > include all tuners and demodulator selected by the user during the > kernel configuration step ? The problem with this is that the 'frontends' module will contain code for every single supported frontend. This will probably waste way more space than duplicating code in multiple drivers. You could add some code to Kconfig, so that each enabled driver turns on the frontends it needs. This doesn't help unless the user compiles a custom kernel, and they still get code for every supported frontend, even if they don't load a driver that needs it. So either way, you end up with waste. In the common case of someone with a single DVB card, the first method has the least waste and there is no extra waste to support many cards. In the case of someone with multiple DVB cards, which method is better depends on the overlap between the drivers and how many extra cards are suported, but the second method is probably better. _______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb