[PATCH 06/14] arm: at91: dt: at91sam9 add pinctrl support

Richard Genoud richard.genoud at gmail.com
Mon Aug 20 10:09:45 EDT 2012


Hi Jean-Christophe,

2012/8/10 Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>:
> diff --git a/arch/arm/mach-at91/at91sam9x5.c b/arch/arm/mach-at91/at91sam9x5.c
> index 477cf9d..bbd2f8e 100644
> --- a/arch/arm/mach-at91/at91sam9x5.c
> +++ b/arch/arm/mach-at91/at91sam9x5.c
> @@ -310,12 +310,6 @@ static void __init at91sam9x5_map_io(void)
>         at91_init_sram(0, AT91SAM9X5_SRAM_BASE, AT91SAM9X5_SRAM_SIZE);
>  }
>
> -void __init at91sam9x5_initialize(void)
> -{
> -       /* Register GPIO subsystem (using DT) */
> -       at91_gpio_init(NULL, 0);
> -}
> -
>  /* --------------------------------------------------------------------
>   *  Interrupt initialization
>   * -------------------------------------------------------------------- */
> @@ -323,5 +317,4 @@ void __init at91sam9x5_initialize(void)
>  struct at91_init_soc __initdata at91sam9x5_soc = {
>         .map_io = at91sam9x5_map_io,
>         .register_clocks = at91sam9x5_register_clocks,
> -       .init = at91sam9x5_initialize,
>  };
That's why my board wasn't booting anymore after your patchset.
if .init is NULL, then in arch/arm/mach-at91/soc.h :
static inline int at91_soc_is_enabled(void)
{
	return at91_boot_soc.init != NULL;
}
is false, and in arch/arm/mach-at91/setup.c:
void __init at91_map_io(void)
{
...
	if (!at91_soc_is_enabled())
		panic("AT91: Soc not enabled");
...
}

Regars,
Richard.



More information about the linux-arm-kernel mailing list