Mailing List archive

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

[linux-dvb] NEWSTRUCT questions



Florian Schirmer writes:
 > we're currently porting all our D-BOX2 driver to the NEWSTRUCT API's and 
 > running into major problems with the new i2c layer.
 > 
 > The i2c layer works pretty well as long as the i2c adapter is part of the dvb 
 > adapter. On our STB there are three i2c controller. Two of them are not part 
 > of the dvb adapter and so not under the control of the dvb i2c layer.
 > 
 > The frontends of our STB are attached to one of the "external" i2c adapters. 
 > Because of this we are running into problems when attaching the frontends to 
 > the dvb adapter.
 > 
 > Currently i'm not aware of any possible workaround for this situation. We've 
 > tried to register a dummy i2c bus at the dvb i2c layer. Then fe's can 
 > properly attach to the dvb adapter. But we have to deal with the i2c messages 
 > ourself. And there is no way to enumerate the availible i2c busses on the 
 > linux i2c api. So we dont can't send the messages inside the dummy i2c bus 
 > xfer_msg proc.
 > 
 > To work around this problem again we have to register the frontend to the 
 > linux i2c layer too, as soon it is attached to our dummy dvb i2c bus.
 > 
 > This is a very ugly hack. Maybe there is a smarter solution to this kind of 
 > problem. It would be nice if someone can elaborate on this subject.


I am using a simple wrapper around the standard I2C driver. This way 
you can keep the normal drivers to use them with e.g. standard 
video decoders drivers which also might be on the card and let the 
DVB I2C driver do its thing with just the DVB demodulators.
I put the wrapper in the AV7110 driver and also am using it for a new
driver on other DVB hardware where a standard I2C driver already
exists (and also is needed). Seems to work fine.

The standard I2C driver should be enhanced to handle something like 
device groups, where the bus driver can tell the i2c-core what kind
of devices (e.g. "only DVB demodulators and TV decoders", or 
"only TV tuners and EEPROMs") it wants to scan for.

To be able to add non-I2C tuners I also removed all dependencies to
dvb_i2c.h from dvb_frontend.c. But thatīs a different matter. 



Ralph






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



Home | Main Index | Thread Index