#ifndef __ASM_R8A7779_H__ #define __ASM_R8A7779_H__ #include <linux/sh_clk.h> #include <linux/pm_domain.h> #include <linux/sh_eth.h> struct platform_device; struct r8a7779_pm_ch { unsigned long chan_offs; unsigned int chan_bit; unsigned int isr_bit; }; struct r8a7779_pm_domain { struct generic_pm_domain genpd; struct r8a7779_pm_ch ch; }; static inline struct r8a7779_pm_ch *to_r8a7779_ch(struct generic_pm_domain *d) { return &container_of(d, struct r8a7779_pm_domain, genpd)->ch; } extern void r8a7779_init_delay(void); extern void r8a7779_init_irq(void); extern void r8a7779_init_irq_extpin(int irlm); extern void r8a7779_init_irq_dt(void); extern void r8a7779_map_io(void); extern void r8a7779_earlytimer_init(void); extern void r8a7779_add_early_devices(void); extern void r8a7779_add_standard_devices(void); extern void r8a7779_add_standard_devices_dt(void); extern void r8a7779_add_ether_device(struct sh_eth_plat_data *pdata); extern void r8a7779_clock_init(void); extern void r8a7779_pinmux_init(void); extern void r8a7779_pm_init(void); extern void r8a7779_register_twd(void); extern int r8a7779_sysc_power_down(struct r8a7779_pm_ch *r8a7779_ch); extern int r8a7779_sysc_power_up(struct r8a7779_pm_ch *r8a7779_ch); #ifdef CONFIG_PM extern void __init r8a7779_init_pm_domains(void); #else static inline void r8a7779_init_pm_domains(void) {} #endif /* CONFIG_PM */ extern struct smp_operations r8a7779_smp_ops; #endif /* __ASM_R8A7779_H__ */