Hi, On 23.09.2004 19:46, Andrew de Quincey wrote:
Looks interesting - I agree it would be better not to have an explicit dependency. The only niggly things I can think of are:If it's a proprietary driver, but an OSS demod driver, the demod id is publically available. If it's a proprietary demod driver, then the driver will most likely be proprietary, too, so you simply pick a random number out of the experimental range. If you use proprietary code you have to live with it.
(a) It uses IDs to identify i2c clients - I believe there were reasons to avoid this for proprietary drivers - they'd need to have an i2c ID defined in the OSS kernel, which isn't right.
The "void *interface" could be a "struct dvb_demod_data *data" as well, as long as we can find a common denominator. When we want to avoid an explicit dependency, then we need a place to hide the different "interfaces" I believe.(b) It isn't typesafe.
I added a I2C_NOPROBE flag to the struct i2c_adapter, so auto-probing drivers are kept away from this bus.
BTW: theres another place where you need to check for NOPROBE - when a new i2c driver is registered, it scans all i2c adapters.
Ah, ok, thanks. CU Michael.