Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: [PATCH] Coding style for skystar2.c (both DVBand dvb-kernel)



Holger Waechtler wrote:
Michael Hunold wrote:

Hello Holger,

Maybe we should midify the insmod.sh script so that it loads only the drivers for hardware that's actually existent. Something like:

[...]

if test -z `lspci -n | grep (*vendoridfor7146*)` ; then
# load drivers for saa7146 based cards
# and the typically uesed frontends for these cards
;
fi


Hmm, isn't this kind of bloated?

Most of the drivers have functional dependencies, so that loading the driver means basically modprobe'ing the core driver + modprobe'ing the frontend driver, ie. for a
- av7110 dvb-s card: modprobe dvb-ttpci; modprobe ves1x93 (or some other driver)
- av7110 dvb-c card: modprobe dvb-ttpci; modprobe ves1820
- twinhan dst card: modprobe bttv card=0x71 i2c_hw=1; modprobe dvb-bt8xx; modprobe dst

You can't use modprobe in the insmod.sh script, this would require to install the driver in the system before.

Because you cannot determine the frontend driver in advance for the various av7110 dvb-s cards, the user either has to know what frontend he has or simply load all frontend drivers.

But only a few frontends are typically used in conjunction with av711x based cards...


[...the same for bt8xx, b2c2, USB...]
(don't have the vendor/device ID for SAA7146 cards at hand, hope you get the idea - )


So perhaps a small howto that tells the user which cards might have which frontends would be best. Most newer cards (for example the Twinhan) only have one supported frontend, so this would be easy.

The twinhan driver is not really a generic frontend driver in the sense that the code is reusable by other cards, the ioctl code could also get implemented and registered directly in the twinhan bridge driver, this would make i2c probing for this card obsolete at all - the i2c bus would not even needed to get exported/registered to the DVB or kernel i2c subsystem. The same for the DEC2000-T driver.

The benefit would be that the user would get to know what frontend he actrually has... ;-)

:) do you want to write this HOWTO?

I'd like to suggest another alternative: What about having parameters for the insmod script? It could work something like this:

- If called without parameters everything are loaded (like the way it is now).
- If called with card=skystar2 (for example) the card driver (skystar2.o) is loaded and all possible frontends for this card (mt312.o, stv0299).
- If called with card=skystar2 fe=stv0299 only these specified drivers are loaded.

The benefits would be, that this would be useable by unexperienced users (though inefficient), and those who know their hardware well have the possibility to get better performance (faster loading).

Niklas



--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index