Subject: ux500 breaking multi-platform kernels

From: [email-masked] (Srinivas KANDAGATLA)
Date: Fri, 17 May 2013 09:57:07 +0100

On 15/05/13 21:30, Rob Herring wrote:
> @@ -39,10 +39,10 @@ static int __init ux500_l2x0_init(void)
>  {
>         u32 aux_val = 0x3e000000;
> 
> -       if (cpu_is_u8500_family() || cpu_is_ux540_family())
> -               l2x0_base = __io_address(U8500_L2CC_BASE);
> -       else
> -               ux500_unknown_soc();
> +       if (!(cpu_is_u8500_family() || cpu_is_ux540_family()))
> +               return -ENODEV;
> +
> +       l2x0_base = __io_address(U8500_L2CC_BASE);

I think moving
early_initcall(ux500_l2x0_init);

to
MACHINE
.init_early = ux500_l2x0_init

should solve this issue neatly.

--srini