diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2011-04-23 10:12:57 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-07-28 11:07:28 -0400 |
commit | 8c3583b634d5705d8f604c0d9392bc273d19c256 (patch) | |
tree | fa2c010c4dbea580526cb91a25ae0e57abc0f099 /arch/arm/mach-at91/at91sam9261.c | |
parent | 1ff5b1b411bf8a8157ae949a1b3ed8666d96c1db (diff) |
at91: use structure to store the current soc
instead of reading the registers everytime
the current implementation respect the following constrain:
- allow 1 to n soc to be enabled
- allow to have a virtual cpu type and subtype
- always detect the cpu type and subtype and report it
- detect if the soc support is enabled
- prepare for sysfs export support
- drop soc specific code via compiler when the soc not enabled
(via cpu_is_xxx)
Today if we read the exid we will have the same value for 9g35 and 9m11
and we will need to check the cidr too
with the new implementation we just need to check the soc subtype
this will also allow to have specific virtual subtype for rm9200 which the
board will have to specify via at91rm9200_set_type(int) as we have no way to
detect it.
this implementation is inspired by the SH cpu detection support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
Diffstat (limited to 'arch/arm/mach-at91/at91sam9261.c')
-rw-r--r-- | arch/arm/mach-at91/at91sam9261.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c index 7a4a673eedeb..f6a2b30884e9 100644 --- a/arch/arm/mach-at91/at91sam9261.c +++ b/arch/arm/mach-at91/at91sam9261.c | |||
@@ -361,7 +361,7 @@ static unsigned int at91sam9261_default_irq_priority[NR_AIC_IRQS] __initdata = { | |||
361 | 0, /* Advanced Interrupt Controller */ | 361 | 0, /* Advanced Interrupt Controller */ |
362 | }; | 362 | }; |
363 | 363 | ||
364 | struct at91_soc __initdata at91sam9261_soc = { | 364 | struct at91_init_soc __initdata at91sam9261_soc = { |
365 | .map_io = at91sam9261_map_io, | 365 | .map_io = at91sam9261_map_io, |
366 | .default_irq_priority = at91sam9261_default_irq_priority, | 366 | .default_irq_priority = at91sam9261_default_irq_priority, |
367 | .init = at91sam9261_initialize, | 367 | .init = at91sam9261_initialize, |