Subject: Re: arch_initcall time

From: Josh Boyer <[email-masked]>
Date: Mon, 18 Feb 2008 12:49:09 -0600

On Mon, 18 Feb 2008 12:42:40 -0600
Olof Johansson <[email-masked]> wrote:

> On Mon, Feb 18, 2008 at 11:32:14AM -0700, Grant Likely wrote:
> > On Feb 18, 2008 11:31 AM, Grant Likely <[email-masked]> wrote:
> > > On Feb 18, 2008 11:28 AM, Sean MacLennan <[email-masked]> wrote:
> > > > I need to call i2c_register_board_info for the new i2c style ad7414
> > > > driver. This needs to be called at arch initcall time. Currently I just
> > > > do this:
> > > >
> > > > static int __init warp_arch_init(void)
> > > > {
> > > >         i2c_register_board_info(0, warp_i2c_info, ARRAY_SIZE(warp_i2c_info));
> > > >         return 0;
> > > > }
> > > > arch_initcall(warp_arch_init);
> > >
> > > Yes, this is the right thing to do, but use machine_arch_initcall()
> > > instead so that it doesn't get called if it is not your board.
> > 
> > That being said, I believe there is infrastructure to handle the
> > creation of your i2c board info from the device tree.  Your i2c board
> > info should not be hard coded.
> 
> Jon Smirl's patches? Not yet, unfortunately. It didn't make .25, but
> maybe for .26.
> 
> (I will need to do it specifically on my platform, like fsl_soc already
> does, as a stopgap until then).

That, and Sean is still working on getting the iic device-tree-compliant driver through as
well :)

josh