common.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. #ifndef __ARCH_MACH_COMMON_H
  2. #define __ARCH_MACH_COMMON_H
  3. extern void shmobile_earlytimer_init(void);
  4. extern void shmobile_timer_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. extern void shmobile_secondary_vector(void);
  10. extern void shmobile_secondary_vector_scu(void);
  11. struct clk;
  12. extern int shmobile_clk_init(void);
  13. extern void shmobile_handle_irq_intc(struct pt_regs *);
  14. extern struct platform_suspend_ops shmobile_suspend_ops;
  15. struct cpuidle_driver;
  16. struct cpuidle_device;
  17. extern int shmobile_enter_wfi(struct cpuidle_device *dev,
  18. struct cpuidle_driver *drv, int index);
  19. extern void shmobile_cpuidle_set_driver(struct cpuidle_driver *drv);
  20. extern void sh7372_init_irq(void);
  21. extern void sh7372_map_io(void);
  22. extern void sh7372_earlytimer_init(void);
  23. extern void sh7372_add_early_devices(void);
  24. extern void sh7372_add_standard_devices(void);
  25. extern void sh7372_add_early_devices_dt(void);
  26. extern void sh7372_add_standard_devices_dt(void);
  27. extern void sh7372_clock_init(void);
  28. extern void sh7372_pinmux_init(void);
  29. extern void sh7372_pm_init(void);
  30. extern void sh7372_resume_core_standby_sysc(void);
  31. extern int sh7372_do_idle_sysc(unsigned long sleep_mode);
  32. extern struct clk sh7372_extal1_clk;
  33. extern struct clk sh7372_extal2_clk;
  34. extern void sh73a0_init_delay(void);
  35. extern void sh73a0_init_irq(void);
  36. extern void sh73a0_init_irq_dt(void);
  37. extern void sh73a0_map_io(void);
  38. extern void sh73a0_earlytimer_init(void);
  39. extern void sh73a0_add_early_devices(void);
  40. extern void sh73a0_add_standard_devices(void);
  41. extern void sh73a0_add_standard_devices_dt(void);
  42. extern void sh73a0_clock_init(void);
  43. extern void sh73a0_pinmux_init(void);
  44. extern void sh73a0_pm_init(void);
  45. extern struct clk sh73a0_extal1_clk;
  46. extern struct clk sh73a0_extal2_clk;
  47. extern struct clk sh73a0_extcki_clk;
  48. extern struct clk sh73a0_extalr_clk;
  49. extern void r8a7740_init_irq(void);
  50. extern void r8a7740_map_io(void);
  51. extern void r8a7740_add_early_devices(void);
  52. extern void r8a7740_add_standard_devices(void);
  53. extern void r8a7740_clock_init(u8 md_ck);
  54. extern void r8a7740_pinmux_init(void);
  55. extern void r8a7740_pm_init(void);
  56. extern void r8a7779_init_delay(void);
  57. extern void r8a7779_init_irq(void);
  58. extern void r8a7779_init_irq_dt(void);
  59. extern void r8a7779_map_io(void);
  60. extern void r8a7779_earlytimer_init(void);
  61. extern void r8a7779_add_early_devices(void);
  62. extern void r8a7779_add_standard_devices(void);
  63. extern void r8a7779_add_standard_devices_dt(void);
  64. extern void r8a7779_clock_init(void);
  65. extern void r8a7779_pinmux_init(void);
  66. extern void r8a7779_pm_init(void);
  67. extern void r8a7740_meram_workaround(void);
  68. extern void r8a7779_register_twd(void);
  69. #ifdef CONFIG_SUSPEND
  70. int shmobile_suspend_init(void);
  71. #else
  72. static inline int shmobile_suspend_init(void) { return 0; }
  73. #endif
  74. #ifdef CONFIG_CPU_IDLE
  75. int shmobile_cpuidle_init(void);
  76. #else
  77. static inline int shmobile_cpuidle_init(void) { return 0; }
  78. #endif
  79. extern void shmobile_cpu_die(unsigned int cpu);
  80. extern int shmobile_cpu_disable(unsigned int cpu);
  81. extern int shmobile_cpu_disable_any(unsigned int cpu);
  82. #ifdef CONFIG_HOTPLUG_CPU
  83. extern int shmobile_cpu_is_dead(unsigned int cpu);
  84. #else
  85. static inline int shmobile_cpu_is_dead(unsigned int cpu) { return 1; }
  86. #endif
  87. extern void __iomem *shmobile_scu_base;
  88. extern void shmobile_smp_init_cpus(unsigned int ncores);
  89. static inline void __init shmobile_init_late(void)
  90. {
  91. shmobile_suspend_init();
  92. shmobile_cpuidle_init();
  93. }
  94. #endif /* __ARCH_MACH_COMMON_H */