Mitch Bradley wrote: > I think that would not be a good design. Presence and location of EDID > data is not something that a generic I2C driver should know. It's the > video controller that knows that EDID exists, where it is located > (device ID 0x50 and addresses within that device), and what it means.
But the video driver does not know what I2C *bus* it's on. I have been unable to come up with a way to obtain the proper i2c_adapter object to use when looking for EDID data. >> That won't work if I have multiple video controllers, since I won't know >> which EDID data goes with which video controller. I tried adding a call to >> i2c_add_driver() in my framebuffer driver, but the I2C probe function was >> called *after* the framebuffer's probe function, so that doesn't help me. > > Then there needs to be some sort of ordering or dependency to ensure > that the I2C driver is activated before the framebuffer driver tries to > use it. I don't know how to do that, either. > Either way, you need platform-dependent functions to do the switching, > and you need to select the appropriate channel. Personally, I don't see > the advantage of using the mux device in this case. It's just adding > complexity with no payback. I'm always in favor of doing things the simpler way. -- Timur Tabi Linux kernel developer at Freescale _______________________________________________ devicetree-discuss mailing list [email protected] https://lists.ozlabs.org/listinfo/devicetree-discuss
