common.h 1.6 KB
Newer Older
1 2 3
#ifndef __ARCH_MACH_COMMON_H
#define __ARCH_MACH_COMMON_H

4
extern void shmobile_earlytimer_init(void);
5
extern void shmobile_setup_delay(unsigned int max_cpu_core_mhz,
6
			 unsigned int mult, unsigned int div);
7
struct twd_local_timer;
8
extern void shmobile_setup_console(void);
9 10 11
extern void shmobile_boot_vector(void);
extern unsigned long shmobile_boot_fn;
extern unsigned long shmobile_boot_arg;
12 13 14 15
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);
16
extern int shmobile_smp_cpu_disable(unsigned int cpu);
17
extern void shmobile_boot_scu(void);
18 19 20
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);
21 22
extern void shmobile_smp_scu_cpu_die(unsigned int cpu);
extern int shmobile_smp_scu_cpu_kill(unsigned int cpu);
23
struct clk;
24
extern int shmobile_clk_init(void);
25
extern void shmobile_handle_irq_intc(struct pt_regs *);
26
extern struct platform_suspend_ops shmobile_suspend_ops;
27
struct cpuidle_driver;
28
extern void shmobile_cpuidle_set_driver(struct cpuidle_driver *drv);
29

30 31 32 33 34 35 36 37 38 39 40 41
#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

42
extern void __iomem *shmobile_scu_base;
43 44
extern void shmobile_smp_init_cpus(unsigned int ncores);

45
static inline void __init shmobile_init_late(void)
46 47 48 49 50
{
	shmobile_suspend_init();
	shmobile_cpuidle_init();
}

51
#endif /* __ARCH_MACH_COMMON_H */