Subject: Re: killing use of ppc_md.init

From: Benjamin Herrenschmidt <[email-masked]>
Date: Fri, 19 Jun 2009 08:18:18 +1000

On Thu, 2009-06-18 at 09:38 -0500, Kumar Gala wrote:
> ppc_md.init only exists on ppc32 and seems like its pretty useless  
> today.  The users seem to fall into two classes:
> 
> 1. called to do of_platform_bus_probe() - most platforms use  
> machine_device_initcall() for this
> 2. some platform init code which seems like it could move into  
> setup_arch().
> 
> The second one seems to only be on amigaone and chrp.  Anyone know if  
> there is any harm in moving the amigaone_init() into  
> amigaone_setup_arch() and similarly on chrp chrp_init2() into  
> chrp_setup_arch().

We might kill it ... and revive it differently :-) 

Yes, the current ppc_init() can probably just go.

However, we probably also want to add a call from init/main.c back to
the architectures and ppc_md. in our case that is right after mm_init().

Right now, we do way too many things at setup_arch() (or even before
that on ppc64) which induces all sorts of pain due to having to use
bootmem etc...

Now that slab is available much earlier, before init_IRQ() and
time_init(), we should consider moving a whole bunch of stuff somewhere
later in the boot process to simplify the code etc...

Cheers,
Ben.