25475030ec
* Per-CPU SMP boot and sleep code on SoCs that use SCU * Shared SCU CPU Hotplug code on r8a7779 and sh73a0 SoCs * Shared SCU CPU boot code on emev2, r8a7779 and sh73a0 SoCs -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJSAawzAAoJENfPZGlqN0++MRgP/0TDYa+QhVd6h43a6tZ7OBGp +sln2YQOrQFSSSVxnqIwFAfISoG0Fb0upvlalvPueLSUP4NCNDAIgNVilUMkOwZq qkDr3QAIcp+tJq/jzI+y7gK0T6DWAIgutLX8n/GbR9ZAGl4huRZiM1kRnRotUA89 mhK0I8B2xNFeqdqhFm9UqslCctuQDxCdFSJhDl+mV+cM6cQyXfbP4XFXI53x5i7d 91YDa6/zVeGGL9sqVFthEESXmZMpjWgO3Rnw0QByp/hvXDRF+AsMxUQx2B+65zm7 SsUEBdUTXTtarqVr5oiqYOzMiFQ8tJXNXUxghRcN5RET5KsdHye/uwWzV01qtcBj d917baHS3Po5EQ6TxOseaRLSHmNVfeDn00esxRz+KywnTjZzhKh3AcZq640a0UPf ljjKLAiQvWLcdawG6rp24TA4nOS3jwIyALvgrRL0k74oie5O/yV307+n/m46iJvA d08+mBNkKTWV+uZQXo9cxyRITD/b3Wv27AXS+hPdRwCX3BtA81Y2w7u5LnlskuZr H3HvvJ3G9OzkvXZTdqolntqBUn9Fr++ptJjzZG+WYPM8KGngKeSBR9a3NrwSCa2v xprAEXb8hg1h3E721xGckIk7b6IJbGdN7euSEy4T/XNaj2wI4jLfGE/5adZk54+H MxumRYYdhJqudCJs0lhy =6QVN -----END PGP SIGNATURE----- Merge tag 'renesas-smp-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/renesas From Simon Horman: Renesas ARM based SoC SMP updates for v3.12 * Per-CPU SMP boot and sleep code on SoCs that use SCU * Shared SCU CPU Hotplug code on r8a7779 and sh73a0 SoCs * Shared SCU CPU boot code on emev2, r8a7779 and sh73a0 SoCs * tag 'renesas-smp-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Per-CPU SMP boot / sleep code for SCU SoCs ARM: shmobile: Introduce per-CPU SMP boot / sleep code ARM: shmobile: Use shared SCU CPU Hotplug code on r8a7779 ARM: shmobile: Use shared SCU CPU Hotplug code on sh73a0 ARM: shmobile: Add shared SCU CPU Hotplug code ARM: shmobile: Use shared SCU SMP boot code on emev2 ARM: shmobile: Use shared SCU SMP boot code on r8a7779 ARM: shmobile: Use shared SCU SMP boot code on sh73a0 ARM: shmobile: Introduce shared SCU SMP boot code Signed-off-by: Olof Johansson <olof@lixom.net>
51 lines
1.6 KiB
C
51 lines
1.6 KiB
C
#ifndef __ARCH_MACH_COMMON_H
|
|
#define __ARCH_MACH_COMMON_H
|
|
|
|
extern void shmobile_earlytimer_init(void);
|
|
extern void shmobile_setup_delay(unsigned int max_cpu_core_mhz,
|
|
unsigned int mult, unsigned int div);
|
|
struct twd_local_timer;
|
|
extern void shmobile_setup_console(void);
|
|
extern void shmobile_boot_vector(void);
|
|
extern unsigned long shmobile_boot_fn;
|
|
extern unsigned long shmobile_boot_arg;
|
|
extern void shmobile_smp_boot(void);
|
|
extern void shmobile_smp_sleep(void);
|
|
extern void shmobile_smp_hook(unsigned int cpu, unsigned long fn,
|
|
unsigned long arg);
|
|
extern void shmobile_boot_scu(void);
|
|
extern void shmobile_smp_scu_prepare_cpus(unsigned int max_cpus);
|
|
extern int shmobile_smp_scu_boot_secondary(unsigned int cpu,
|
|
struct task_struct *idle);
|
|
extern void shmobile_smp_scu_cpu_die(unsigned int cpu);
|
|
extern int shmobile_smp_scu_cpu_kill(unsigned int cpu);
|
|
struct clk;
|
|
extern int shmobile_clk_init(void);
|
|
extern void shmobile_handle_irq_intc(struct pt_regs *);
|
|
extern struct platform_suspend_ops shmobile_suspend_ops;
|
|
struct cpuidle_driver;
|
|
extern void shmobile_cpuidle_set_driver(struct cpuidle_driver *drv);
|
|
|
|
#ifdef CONFIG_SUSPEND
|
|
int shmobile_suspend_init(void);
|
|
#else
|
|
static inline int shmobile_suspend_init(void) { return 0; }
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_IDLE
|
|
int shmobile_cpuidle_init(void);
|
|
#else
|
|
static inline int shmobile_cpuidle_init(void) { return 0; }
|
|
#endif
|
|
|
|
extern void __iomem *shmobile_scu_base;
|
|
extern void shmobile_smp_init_cpus(unsigned int ncores);
|
|
|
|
static inline void __init shmobile_init_late(void)
|
|
{
|
|
shmobile_suspend_init();
|
|
shmobile_cpuidle_init();
|
|
}
|
|
|
|
#endif /* __ARCH_MACH_COMMON_H */
|