2010-02-05 11:14:49 +00:00
# ifndef __ARCH_MACH_COMMON_H
# define __ARCH_MACH_COMMON_H
2012-03-06 17:36:14 +09:00
extern void shmobile_earlytimer_init ( void ) ;
2012-03-28 19:22:30 +09:00
extern void shmobile_setup_delay ( unsigned int max_cpu_core_mhz ,
2011-09-08 13:15:22 +01:00
unsigned int mult , unsigned int div ) ;
2012-01-10 19:44:19 +00:00
struct twd_local_timer ;
2010-02-08 11:02:54 +00:00
extern void shmobile_setup_console ( void ) ;
2013-06-10 18:19:36 +09:00
extern void shmobile_boot_vector ( void ) ;
extern unsigned long shmobile_boot_fn ;
extern unsigned long shmobile_boot_arg ;
2013-08-08 07:14:07 +09:00
extern unsigned long shmobile_boot_size ;
2013-08-01 03:38:18 +09:00
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 ) ;
2013-08-08 07:13:30 +09:00
extern int shmobile_smp_cpu_disable ( unsigned int cpu ) ;
2013-08-08 07:13:58 +09:00
extern void shmobile_invalidate_start ( void ) ;
2013-06-10 18:19:46 +09:00
extern void shmobile_boot_scu ( void ) ;
2013-07-31 16:07:12 +09:00
extern void shmobile_smp_scu_prepare_cpus ( unsigned int max_cpus ) ;
2013-07-31 16:07:49 +09:00
extern void shmobile_smp_scu_cpu_die ( unsigned int cpu ) ;
extern int shmobile_smp_scu_cpu_kill ( unsigned int cpu ) ;
2013-08-29 08:21:58 +09:00
extern void shmobile_smp_apmu_prepare_cpus ( unsigned int max_cpus ) ;
extern int shmobile_smp_apmu_boot_secondary ( unsigned int cpu ,
struct task_struct * idle ) ;
extern void shmobile_smp_apmu_cpu_die ( unsigned int cpu ) ;
extern int shmobile_smp_apmu_cpu_kill ( unsigned int cpu ) ;
extern void shmobile_invalidate_start ( void ) ;
2010-05-20 14:45:03 +00:00
struct clk ;
2012-02-29 21:41:30 +09:00
extern int shmobile_clk_init ( void ) ;
2010-12-28 08:27:01 +00:00
extern void shmobile_handle_irq_intc ( struct pt_regs * ) ;
2011-04-29 02:23:28 +09:00
extern struct platform_suspend_ops shmobile_suspend_ops ;
2011-11-11 14:01:30 +09:00
struct cpuidle_driver ;
2012-08-15 20:58:19 +02:00
extern void shmobile_cpuidle_set_driver ( struct cpuidle_driver * drv ) ;
2010-05-12 14:21:24 +00:00
2012-04-26 21:58:41 +08:00
# 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
2013-02-13 22:47:17 +09:00
extern void __iomem * shmobile_scu_base ;
2011-09-08 13:15:22 +01:00
2012-09-23 22:36:35 +00:00
static inline void __init shmobile_init_late ( void )
2012-08-15 20:57:27 +02:00
{
shmobile_suspend_init ( ) ;
shmobile_cpuidle_init ( ) ;
}
2010-02-05 11:14:49 +00:00
# endif /* __ARCH_MACH_COMMON_H */