Johannes Stezenbach wrote:
?!?Holger Waechtler wrote:
As I read the device.h API it requires you to define a subsystem class - in our case either 'i2c' or 'dvb'. 'i2c' would add again a dependency to the kernel-i2c core, defining our own device class 'dvb' would cause serious problems when backporting the code to 2.4.
But the latter is probably the better interpretation of the API intention and on the long term the only way I see to cleanly load firmwares into MPEG decoders or DSPs in STBs without PCI or USB or i2c bus (or any other bus with a predefined subsystem class in the 2.6 sense)
The i2c bus and devices in the DVB driver will have to be registered with the Linux device infrastructure if we ever want to have working power management (e.g. a STB with *real* standby).
you are aware of the fact that demodulators, and synthesizer/PLLs/tuner chips produced e.g. by Motorola, Broadcom and others don't have an i2c interface at all?I believe that this is more work than sorting out the problems with the current kernel I2C implementation, and using that instead of our own.
They suggest porting the code to the device class/kobject infrastructure - I'm sure this is unavoidable on the long term, but doing it now would castrate the 2.4 compability we still need until realtime and embedded kernels for 2.6 are ready, stable and widely used.BTW: Recommended reading: http://lwn.net/Articles/driver-porting/