Mailing List archive

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

[linux-dvb] Re: Proposal for new frontend architecture



Hi,

I don't understand your concerns completely, please be patient with me.

Do the MPC8xx and/or IBM4xx platforms already support kernel i2c?

On 21.09.2004 16:35, Andreas Oberritter wrote:
Well, I dislike using "I2C commands" for the following reason: On
embedded STBs the I2C bus is usually not bound to a PCI/USB device like
in the PC world.
Does this matter? It's simply "there" isn't it?

If the frontend drivers asks you "can the stv0299 frontend be found on your system at all?" then you can simply have a look-up in some device table and tell the frontend to continue or stop.

In case of the dvb-ttpci, this device table includes the pci ids, but for the dbox it can simply be a static list.

You can use the in-kernel drivers for the MPC8xx and
IBM4xx platforms for example. With this API change (and also the
previous FE_REGISTER/UNREGISTER commands) you will have to patch these
I2C drivers in a way which will never be accepted by the kernel folks.
(e.g. #if defined(CONFIG_DBOX2)
I don't understand that, sorry. 8-(

Why do the frontends drivers have to be cluttered with #ifdefs?

then make 8xx-i2c depend on dvb, include
the necessary headers and have a lot of knowledge about the 6 different
dbox2 frontends and their PLLs *inside* the generic mpc8xx i2c driver.)
No, the knowledge is inside the mpc8xx main driver that handles the kernel i2c callback functions like client_register() (when a client has attached), client_unregister() and the new born command().

You can implement a generic mpc8xx i2c driver that provides the i2c algorithm, then register an i2c_adapter inside the core dbox2 mpc8xx driver which additionally provides the callback functions. (I hope I got this right)

Where are the necessary h/w dependend informations now?

Will support for non-PCI and non-USB devices be dropped?
No, why do you think so? It's about kernel i2c, which is completely independend of PCI and USB. If your device supports kernel i2c, you'll only need to move the frontend specific data from the frontend to the kernel i2c callback functions in your driver.

Regards,
Andreas
CU
Michael.




Home | Main Index | Thread Index