Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph...
[cascardo/linux.git] / include / linux / ssb / ssb_driver_mips.h
1 #ifndef LINUX_SSB_MIPSCORE_H_
2 #define LINUX_SSB_MIPSCORE_H_
3
4 #ifdef CONFIG_SSB_DRIVER_MIPS
5
6 struct ssb_device;
7
8 struct ssb_serial_port {
9         void *regs;
10         unsigned long clockspeed;
11         unsigned int irq;
12         unsigned int baud_base;
13         unsigned int reg_shift;
14 };
15
16 struct ssb_pflash {
17         bool present;
18         u8 buswidth;
19         u32 window;
20         u32 window_size;
21 };
22
23 struct ssb_mipscore {
24         struct ssb_device *dev;
25
26         int nr_serial_ports;
27         struct ssb_serial_port serial_ports[4];
28
29         struct ssb_pflash pflash;
30 };
31
32 extern void ssb_mipscore_init(struct ssb_mipscore *mcore);
33 extern u32 ssb_cpu_clock(struct ssb_mipscore *mcore);
34
35 extern unsigned int ssb_mips_irq(struct ssb_device *dev);
36
37
38 #else /* CONFIG_SSB_DRIVER_MIPS */
39
40 struct ssb_mipscore {
41 };
42
43 static inline
44 void ssb_mipscore_init(struct ssb_mipscore *mcore)
45 {
46 }
47
48 static inline unsigned int ssb_mips_irq(struct ssb_device *dev)
49 {
50         return 0;
51 }
52
53 #endif /* CONFIG_SSB_DRIVER_MIPS */
54
55 #endif /* LINUX_SSB_MIPSCORE_H_ */