On Sun, Jul 18, 2004 at 01:04:02AM +0200, Kenneth Aafløy wrote: > On Sunday 18 July 2004 00:09, Ralph Metzler wrote: > > No, I also considered this before implementing the FE_(UN)REGISTER > > stuff but adapters with more than one I2C bus/frontend will not work like > > this. It also makes the frontend driver and dvbdev depend on I2C > > driver structs even if you are not using I2C. > > Hmm, there is no drivers in CVS which has more than one I2C bus, is there?
It is very common for STB chips to have more than one I2C controller -- which doesn't mean that all I2C buses are used to connect DVB frontends, but it is not unexpected for a dual-FE box to have each FE on its own I2C bus. > > Hmm, actually, forget about the last paragraph. There are even more > > problems, e.g. with the order of module loading, if the dvb_adapter > > is registered after the I2C bus (like with the bt878 cards). > > I've split up the dvb_register_frontend in this version, because like you, I > realized that the previous patch would not even work. This new version works > as expected wether or not the dvb adapter has been registered when the i2c > bus is up and running. I have had no opportunity to test the bttv driver, but > it should work with the converted frontend now. Something's wrong with your patchset. In dvb-bt8xx.c you *added* the client_register() functions (unused), while you removed them everywhere else. Also, IIRC the skystar2 I2C stuff is a bit special and will fail for general use (that's why the funny checks in master_xfer() are there). Johannes