Mailing List archive

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

[linux-dvb] Proposal for new frontend architecture



Hi, here is what Holger and I have been working on for the last couple of 
days.

Main features:
* Frontends converted to demodulator library modules.
* Kernel i2c code removed from frontends.
* Frontends configurable by card drivers.
* Impossible to NOT load the appropriate frontend.
* Frontends selected explicitly - no autoprobing unless done intelligently by 
the card driver.
* PLLs removed from frontend drivers.

Note: although we've removed the kernel i2c code from the frontends, the card 
drivers are still using it to access the physical i2c buses (it is now up to 
the card driver as to how to interface to i2c/whatever bus).

The only thing we couldn't agree on was the PLL stuff. We did agree that the 
code should be removed from the demod drivers, but it was how to do it that 
was the problem. Therefore, here are worked examples of the 
tda1004x/budget-ci with both proposals - tell us which is best (assuming you 
like the whole idea of course).


holgers proposal:
PLLs are implemented by the card driver itself.

Pros:
* Simple
* i2c interface greatly simplifed (write_demod() to write a byte to the demod 
- no need for the frontend driver to know addresses).

Cons:
* Duplication of PLL code between card drivers if more than one card uses the 
same PLL.


andrews proposal:
Common PLLs moved to a pll library if they're used by more than one card. The 
PLL library is a seperate module in its own right containing implementations 
of common PLLs. (cards are still free to implement their own PLL drivers if 
they want to).

Pros:
* Common PLLs share the same implementation (some PLLs are tricky to get 
exactly right).
* Mini-i2c interface is more flexible (although more complex)

Cons:
* More complex, so therefore more susceptible to coding errors.
* The PLL code itself is usally quite small - maybe the added complexity is 
overkill.



Holger - sorry if I've missed any pros/cons, just reply with additional ones.

Attachment: adq.tgz
Description: application/tgz

Attachment: holger.tgz
Description: application/tgz


Home | Main Index | Thread Index