Commit 4c82f286 authored by Vineet Gupta's avatar Vineet Gupta

ARC: remove @init_time, @init_irq platform callbacks

These are not in use for ARC platforms. Moreover DT mechanims exist to
probe them w/o explicit platform calls.

 - clocksource drivers can use CLOCKSOURCE_OF_DECLARE()
 - intc IRQCHIP_DECLARE() calls + cascading inside DT allows external
   intc to be probed automatically
Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent e0868e6f
...@@ -23,11 +23,8 @@ ...@@ -23,11 +23,8 @@
* @dt_compat: Array of device tree 'compatible' strings * @dt_compat: Array of device tree 'compatible' strings
* (XXX: although only 1st entry is looked at) * (XXX: although only 1st entry is looked at)
* @init_early: Very early callback [called from setup_arch()] * @init_early: Very early callback [called from setup_arch()]
* @init_irq: setup external IRQ controllers [called from init_IRQ()]
* @init_smp: for each CPU (e.g. setup IPI) * @init_smp: for each CPU (e.g. setup IPI)
* [(M):init_IRQ(), (o):start_kernel_secondary()] * [(M):init_IRQ(), (o):start_kernel_secondary()]
* @init_time: platform specific clocksource/clockevent registration
* [called from time_init()]
* @init_machine: arch initcall level callback (e.g. populate static * @init_machine: arch initcall level callback (e.g. populate static
* platform devices or parse Devicetree) * platform devices or parse Devicetree)
* @init_late: Late initcall level callback * @init_late: Late initcall level callback
...@@ -36,13 +33,10 @@ ...@@ -36,13 +33,10 @@
struct machine_desc { struct machine_desc {
const char *name; const char *name;
const char **dt_compat; const char **dt_compat;
void (*init_early)(void); void (*init_early)(void);
void (*init_irq)(void);
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
void (*init_smp)(unsigned int); void (*init_smp)(unsigned int);
#endif #endif
void (*init_time)(void);
void (*init_machine)(void); void (*init_machine)(void);
void (*init_late)(void); void (*init_late)(void);
......
...@@ -19,11 +19,11 @@ ...@@ -19,11 +19,11 @@
*/ */
void __init init_IRQ(void) void __init init_IRQ(void)
{ {
/* Any external intc can be setup here */ /*
if (machine_desc->init_irq) * process the entire interrupt tree in one go
machine_desc->init_irq(); * Any external intc will be setup provided DT chains them
* properly
/* process the entire interrupt tree in one go */ */
irqchip_init(); irqchip_init();
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
......
...@@ -285,7 +285,4 @@ void __init time_init(void) ...@@ -285,7 +285,4 @@ void __init time_init(void)
/* sets up the periodic event timer */ /* sets up the periodic event timer */
arc_local_timer_setup(); arc_local_timer_setup();
if (machine_desc->init_time)
machine_desc->init_time();
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment