diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2015-10-14 12:08:02 +0300 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2015-10-28 13:43:41 +0300 |
commit | 286130ebf196d9643800977d57bdb7cda266b49e (patch) | |
tree | 0048c504925232821d822b201a6f58b87f0b6e9f /arch/arc/include/asm/smp.h | |
parent | 8721a7f5a6f95c38cacbe1be22c820a7698926ef (diff) | |
download | linux-286130ebf196d9643800977d57bdb7cda266b49e.tar.xz |
ARC: smp: Introduce smp hook @init_irq_cpu called for all cores
Note this is not part of platform owned static machine_desc,
but more of device owned plat_smp_ops (rather misnamed) which a IPI
provider or some such typically defines.
This will help us seperate out the IPI registration from platform
specific init_cpu_smp() into device specific init_irq_cpu()
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include/asm/smp.h')
-rw-r--r-- | arch/arc/include/asm/smp.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arc/include/asm/smp.h b/arch/arc/include/asm/smp.h index 5ea4cf8cd1a8..133c867d15af 100644 --- a/arch/arc/include/asm/smp.h +++ b/arch/arc/include/asm/smp.h @@ -48,6 +48,8 @@ extern int smp_ipi_irq_setup(int cpu, int irq); * @init_early_smp: A SMP specific h/w block can init itself * Could be common across platforms so not covered by * mach_desc->init_early() + * @init_irq_cpu: Called for each core so SMP h/w block driver can do + * any needed setup per cpu (e.g. IPI request) * @cpu_kick: For Master to kickstart a cpu (optionally at a PC) * @ipi_send: To send IPI to a @cpu * @ips_clear: To clear IPI received at @irq @@ -55,6 +57,7 @@ extern int smp_ipi_irq_setup(int cpu, int irq); struct plat_smp_ops { const char *info; void (*init_early_smp)(void); + void (*init_irq_cpu)(int cpu); void (*cpu_kick)(int cpu, unsigned long pc); void (*ipi_send)(int cpu); void (*ipi_clear)(int irq); |