diff options
author | Nicolas Ferre <nicolas.ferre@atmel.com> | 2011-12-28 13:10:04 +0200 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2012-01-20 14:58:13 +0100 |
commit | 3e90772f76010c315474bde59eaca7cc4c94d645 (patch) | |
tree | 6207094dc67e1d7a6ce5df2ffdbd773ba36d8089 /arch/arm/mach-at91/setup.c | |
parent | dcd6c92267155e70a94b3927bce681ce74b80d1f (diff) | |
download | linux-3e90772f76010c315474bde59eaca7cc4c94d645.tar.gz linux-3e90772f76010c315474bde59eaca7cc4c94d645.tar.bz2 linux-3e90772f76010c315474bde59eaca7cc4c94d645.zip |
ARM: at91: fix at91rm9200 soc subtype handling
Currently setting it to PQFP changes subtype to BGA as subtypes are
swapped in at91rm9200_set_type().
Wrong subtype causes GPIO bank D not to work at all.
After this fix, subtype is still set as unknown. But board code should
fill it in with proper value. Another information is thus printed.
Bug discovery and first implementation made by Veli-Pekka Peltola.
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: stable <stable@vger.kernel.org>
Diffstat (limited to 'arch/arm/mach-at91/setup.c')
-rw-r--r-- | arch/arm/mach-at91/setup.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c index 8bdcc3cb6012..f524718d14fe 100644 --- a/arch/arm/mach-at91/setup.c +++ b/arch/arm/mach-at91/setup.c @@ -29,9 +29,12 @@ EXPORT_SYMBOL(at91_soc_initdata); void __init at91rm9200_set_type(int type) { if (type == ARCH_REVISON_9200_PQFP) - at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA; - else at91_soc_initdata.subtype = AT91_SOC_RM9200_PQFP; + else + at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA; + + pr_info("AT91: filled in soc subtype: %s\n", + at91_get_soc_subtype(&at91_soc_initdata)); } void __init at91_init_irq_default(void) |