Working with an OMAP-based board. We have two rev's of the board. To differentiate them, the current proposition is to use a revid stored in an EEPROM accessible by I2C. The revid is needed during arch_initcall to register some peripheral devices. The omap_i2c adapter driver is registered at subsys_initcall so the adapter is not available during board init. I'm almost 100% sure this is a common situation, but google hasn't turned up many solutions. Besides attempting to nastily hack the adapter driver registration to run at arch_initcall, any idea how to get around this?
Thanks.