Andrew de Quincey wrote:
I'm not sure if I understood the problem completely, but there was a similar problem with the stv0299 driver: The setup required for the Samsung TBMU frontend was different from the other frontends. This was solved by fetching the name of the device driver responsible for the i2c bus:On Wednesday 28 January 2004 14:33, Andrew de Quincey wrote:I am doing it using the normal kernel I2C driver. Every I2C frontend automatically calls the I2C driver attach callback where the card driver can configure it accordingly. The frontend driver does not really need to know anything about higher level structures.Are you meaning in the case where multiple manufacturers have used the same frontend, that the manufacturer-hardware-specific card driver should do bits of the frontend setup? Yeah, that does seem more appropriate actually, just a bit different from how its done right now. Anyway, it was just an idea for how to support it if the situation arises. When/if it does, it can be sorted then.
Actually on second thoughts, it seems a bit nasty to have the frontend code split up into several places. Another method might be to modify the FE_INIT ioctl to take an int parameter describing what kind of frontend configuration is required for the hardware it is attached to... e.g. FE_CONFIG_TT for for TechnoTrend style cards and so on.
This also means parameters which are hardware specific at runtime can be implemented (e.g. for TT TDA10046H, it is necessary to invert the sense of the fe_params->inversion setting).