git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git]
/
arch
/
arm
/
kernel
/
setup.c
diff --git
a/arch/arm/kernel/setup.c
b/arch/arm/kernel/setup.c
index
336f14e
..
3455ad3
100644
(file)
--- a/
arch/arm/kernel/setup.c
+++ b/
arch/arm/kernel/setup.c
@@
-75,9
+75,9
@@
extern void reboot_setup(char *str);
unsigned int processor_id;
EXPORT_SYMBOL(processor_id);
unsigned int processor_id;
EXPORT_SYMBOL(processor_id);
-unsigned int __machine_arch_type;
+unsigned int __machine_arch_type
__read_mostly
;
EXPORT_SYMBOL(__machine_arch_type);
EXPORT_SYMBOL(__machine_arch_type);
-unsigned int cacheid;
+unsigned int cacheid
__read_mostly
;
EXPORT_SYMBOL(cacheid);
unsigned int __atags_pointer __initdata;
EXPORT_SYMBOL(cacheid);
unsigned int __atags_pointer __initdata;
@@
-91,24
+91,24
@@
EXPORT_SYMBOL(system_serial_low);
unsigned int system_serial_high;
EXPORT_SYMBOL(system_serial_high);
unsigned int system_serial_high;
EXPORT_SYMBOL(system_serial_high);
-unsigned int elf_hwcap;
+unsigned int elf_hwcap
__read_mostly
;
EXPORT_SYMBOL(elf_hwcap);
#ifdef MULTI_CPU
EXPORT_SYMBOL(elf_hwcap);
#ifdef MULTI_CPU
-struct processor processor;
+struct processor processor
__read_mostly
;
#endif
#ifdef MULTI_TLB
#endif
#ifdef MULTI_TLB
-struct cpu_tlb_fns cpu_tlb;
+struct cpu_tlb_fns cpu_tlb
__read_mostly
;
#endif
#ifdef MULTI_USER
#endif
#ifdef MULTI_USER
-struct cpu_user_fns cpu_user;
+struct cpu_user_fns cpu_user
__read_mostly
;
#endif
#ifdef MULTI_CACHE
#endif
#ifdef MULTI_CACHE
-struct cpu_cache_fns cpu_cache;
+struct cpu_cache_fns cpu_cache
__read_mostly
;
#endif
#ifdef CONFIG_OUTER_CACHE
#endif
#ifdef CONFIG_OUTER_CACHE
-struct outer_cache_fns outer_cache;
+struct outer_cache_fns outer_cache
__read_mostly
;
EXPORT_SYMBOL(outer_cache);
#endif
EXPORT_SYMBOL(outer_cache);
#endif
@@
-126,6
+126,7
@@
EXPORT_SYMBOL(elf_platform);
static const char *cpu_name;
static const char *machine_name;
static char __initdata cmd_line[COMMAND_LINE_SIZE];
static const char *cpu_name;
static const char *machine_name;
static char __initdata cmd_line[COMMAND_LINE_SIZE];
+struct machine_desc *machine_desc __initdata;
static char default_command_line[COMMAND_LINE_SIZE] __initdata = CONFIG_CMDLINE;
static union { char c[4]; unsigned long l; } endian_test __initdata = { { 'l', '?', '?', 'b' } };
static char default_command_line[COMMAND_LINE_SIZE] __initdata = CONFIG_CMDLINE;
static union { char c[4]; unsigned long l; } endian_test __initdata = { { 'l', '?', '?', 'b' } };
@@
-708,13
+709,11
@@
static struct init_tags {
{ 0, ATAG_NONE }
};
{ 0, ATAG_NONE }
};
-static void (*init_machine)(void) __initdata;
-
static int __init customize_machine(void)
{
/* customizes platform devices, or adds new ones */
static int __init customize_machine(void)
{
/* customizes platform devices, or adds new ones */
- if (init_machine)
- init_machine();
+ if (
machine_desc->
init_machine)
+
machine_desc->
init_machine();
return 0;
}
arch_initcall(customize_machine);
return 0;
}
arch_initcall(customize_machine);
@@
-809,6
+808,7
@@
void __init setup_arch(char **cmdline_p)
setup_processor();
mdesc = setup_machine(machine_arch_type);
setup_processor();
mdesc = setup_machine(machine_arch_type);
+ machine_desc = mdesc;
machine_name = mdesc->name;
if (mdesc->soft_reboot)
machine_name = mdesc->name;
if (mdesc->soft_reboot)
@@
-868,13
+868,9
@@
void __init setup_arch(char **cmdline_p)
cpu_init();
tcm_init();
cpu_init();
tcm_init();
- /*
- * Set up various architecture-specific pointers
- */
- arch_nr_irqs = mdesc->nr_irqs;
- init_arch_irq = mdesc->init_irq;
- system_timer = mdesc->timer;
- init_machine = mdesc->init_machine;
+#ifdef CONFIG_MULTI_IRQ_HANDLER
+ handle_arch_irq = mdesc->handle_irq;
+#endif
#ifdef CONFIG_VT
#if defined(CONFIG_VGA_CONSOLE)
#ifdef CONFIG_VT
#if defined(CONFIG_VGA_CONSOLE)
@@
-884,6
+880,9
@@
void __init setup_arch(char **cmdline_p)
#endif
#endif
early_trap_init();
#endif
#endif
early_trap_init();
+
+ if (mdesc->init_early)
+ mdesc->init_early();
}
}