diff options
author | Maxime Ripard <maxime.ripard@free-electrons.com> | 2014-07-02 11:49:28 -0400 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2014-08-25 10:04:26 -0400 |
commit | 65f2ce96a94d2a61fca486a48d9da30845b16d20 (patch) | |
tree | 34c871ffa582c8c4182c814a9ced555f34112e12 /arch | |
parent | 4b0a683cf16eac06385c96c2fcf21766818f757c (diff) |
ARM: at91/soc: Introduce register_devices callback
Some core devices should be registered by the SoC itself rather than by every
board using this SoC. Introduce a register_devices callback that should be
called during the init_machine in order to do that.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-at91/generic.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/setup.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-at91/soc.h | 1 |
3 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/generic.h b/arch/arm/mach-at91/generic.h index 631fa3b8c16d..4c2c96195a50 100644 --- a/arch/arm/mach-at91/generic.h +++ b/arch/arm/mach-at91/generic.h | |||
@@ -37,6 +37,8 @@ extern int __init at91_aic5_of_init(struct device_node *node, | |||
37 | extern void __init at91_sysirq_mask_rtc(u32 rtc_base); | 37 | extern void __init at91_sysirq_mask_rtc(u32 rtc_base); |
38 | extern void __init at91_sysirq_mask_rtt(u32 rtt_base); | 38 | extern void __init at91_sysirq_mask_rtt(u32 rtt_base); |
39 | 39 | ||
40 | /* Devices */ | ||
41 | extern void __init at91_register_devices(void); | ||
40 | 42 | ||
41 | /* Timer */ | 43 | /* Timer */ |
42 | extern void at91rm9200_ioremap_st(u32 addr); | 44 | extern void at91rm9200_ioremap_st(u32 addr); |
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c index 640c21e43a42..25196d5096be 100644 --- a/arch/arm/mach-at91/setup.c +++ b/arch/arm/mach-at91/setup.c | |||
@@ -510,3 +510,8 @@ void __init at91_initialize(unsigned long main_clock) | |||
510 | 510 | ||
511 | pinctrl_provide_dummies(); | 511 | pinctrl_provide_dummies(); |
512 | } | 512 | } |
513 | |||
514 | void __init at91_register_devices(void) | ||
515 | { | ||
516 | at91_boot_soc.register_devices(); | ||
517 | } | ||
diff --git a/arch/arm/mach-at91/soc.h b/arch/arm/mach-at91/soc.h index a1e1482c6da8..ab983f2cc7dd 100644 --- a/arch/arm/mach-at91/soc.h +++ b/arch/arm/mach-at91/soc.h | |||
@@ -11,6 +11,7 @@ struct at91_init_soc { | |||
11 | void (*map_io)(void); | 11 | void (*map_io)(void); |
12 | void (*ioremap_registers)(void); | 12 | void (*ioremap_registers)(void); |
13 | void (*register_clocks)(void); | 13 | void (*register_clocks)(void); |
14 | void (*register_devices)(void); | ||
14 | void (*init)(void); | 15 | void (*init)(void); |
15 | }; | 16 | }; |
16 | 17 | ||