On Fri, Nov 01, 2013 at 03:03:42PM +0000, Renaud Barbier wrote: > On 01/11/2013 13:02, Renaud Barbier wrote: > >>> Yes, You would have to have your i2c bus registered. Can't you move the > >>> >> above to late_initcall? > >>> >> > >>> >> Sascha > >>> >> > >> > > >> > I just did the following experiment: > >> > Move the code to device_initcall after the I2C registration and use the > >> > I2C API. Using the I2C API worked. However, when booting the board model > >> > is a NULL strings. > >> > > >> > So next I will check whether I can register the I2C device either in the > >> > postcore_initcall or when doing the console_initcall. > >> > > >> > Renaud. > > > I found a way to do it. This implies to: > - register the i2c-imx driver at the postcore initcall level. > - register the board i2c bus at the postcore initcall level > and perform the rest of the board initialization. > > > The i2c-imx driver is shared between architectures. If you do not > foresee any side-effects on the ARM architecture and this is acceptable > to you, I would like to submit a patch including this solution. Could you set the model to a superset of both possible boards initially, something like DA923RC/GBX460? Then set the correct board type in a late_initcall. The only thing affected is the printing of the board type in the banner, right? Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox