Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: Proposal for new frontend architecture
> > Hmmmm... could this be a way to restrict which devices are allowed on the
> > bus as well?
>
> Partly, the drivers have to play nice for that, you can't _force_ them
> not to probe.
Yeah, but I don't think thats a big problem - we can see the source, and moan
at the authors if theres one that doesn't play ball.
[..]
> tuner_probe() can fetch informations. If the bttv driver knows the card
> in question hasn't a analog tuner in the first place (tuner_type ==
> TUNER_ABSENT) it can just return and not call i2c_probe(). For the dvb
> frontends that would be even more useful as there are several ones
> instead of one single module for all tuners. It's also possible to
> fetch config info in either tuner_probe (i2c bus addresses for example)
> or tuner_attach (any stuff needed to setup the device). And probably
> more useful stuff.
>
> One quirk with this is that there is a chicken-and-egg issue with cards
> which have config info in a i2c-connected eeprom chip. Current bttv
> solves that by doing the TUNER_SET_TYPE thingy in two different places,
> once in the callback mentioned above and once after reading the eeprom
> to make sure it works with any module load order. One fix for that I
> can think of is to separate adapter registering and bus scan, i.e.
> have something like
>
> i2c_add_adapter_noprobe();
> /* bttv can read the eeprom here */
> i2c_adapter_probe_drivers();
>
> Additional benefit is that i2c adapters can bypass autoprobe altogether
> by simply not calling i2c_adapter_probe_drivers() ;)
Sounds good! I think we've got now all the ideas floating about the list to
sort kernel i2c out - we just need to decide which to choose and put them
together.
Home |
Main Index |
Thread Index