> Actually, firmware loading is a little different. > It always has to be done once the frontend is identified no matter > which card the frontend is on. So, each callback would do almost the > same and a lot of code would be copied. Somehow passing "struct > driver" would probably be easier in this case. > Shouldn't a frontend driver (or rather each I2C driver) even get its own > "struct driver"? I'll do some digging in the 2.6.x code.
Not in the linuxtv dvb kernel tree; it doesn't use i2c-core, so the DVB i2c drivers only reference a struct dvb_adapter.. hmm.. its a pity you can't get away with just saying "give me firmware XXX, and I'll use it for all devices I support". I think we're going to have to request the firmware for at least one specific device. Whether the frontend driver caches the firmware and re-uses it, or just requests it every time is going to have to be up to it... As for the code duplication... it would be minimal; I was thinking of a VERY thin layer over request_firmware().. basically all the hardware dvb adapter driver's callback function does is call the kernel request_firmware() adding its struct device* into the call. -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
