Blame view
drivers/ssb/ssb_private.h
8.11 KB
61e115a56 [SSB]: add Sonics... |
1 2 3 4 5 |
#ifndef LINUX_SSB_PRIVATE_H_ #define LINUX_SSB_PRIVATE_H_ #include <linux/ssb/ssb.h> #include <linux/types.h> |
7ffbffe37 ssb: add methods ... |
6 |
#include <linux/bcm47xx_wdt.h> |
61e115a56 [SSB]: add Sonics... |
7 8 9 10 11 |
#define PFX "ssb: " #ifdef CONFIG_SSB_SILENT |
33a606ac8 ssb: Convert ssb_... |
12 13 |
# define ssb_printk(fmt, ...) \ do { if (0) printk(fmt, ##__VA_ARGS__); } while (0) |
61e115a56 [SSB]: add Sonics... |
14 |
#else |
33a606ac8 ssb: Convert ssb_... |
15 16 |
# define ssb_printk(fmt, ...) \ printk(fmt, ##__VA_ARGS__) |
61e115a56 [SSB]: add Sonics... |
17 |
#endif /* CONFIG_SSB_SILENT */ |
33a606ac8 ssb: Convert ssb_... |
18 19 20 21 22 23 |
#define ssb_emerg(fmt, ...) ssb_printk(KERN_EMERG PFX fmt, ##__VA_ARGS__) #define ssb_err(fmt, ...) ssb_printk(KERN_ERR PFX fmt, ##__VA_ARGS__) #define ssb_warn(fmt, ...) ssb_printk(KERN_WARNING PFX fmt, ##__VA_ARGS__) #define ssb_notice(fmt, ...) ssb_printk(KERN_NOTICE PFX fmt, ##__VA_ARGS__) #define ssb_info(fmt, ...) ssb_printk(KERN_INFO PFX fmt, ##__VA_ARGS__) #define ssb_cont(fmt, ...) ssb_printk(KERN_CONT fmt, ##__VA_ARGS__) |
61e115a56 [SSB]: add Sonics... |
24 25 |
/* dprintk: Debugging printk; vanishes for non-debug compilation */ #ifdef CONFIG_SSB_DEBUG |
33a606ac8 ssb: Convert ssb_... |
26 27 |
# define ssb_dbg(fmt, ...) \ ssb_printk(KERN_DEBUG PFX fmt, ##__VA_ARGS__) |
61e115a56 [SSB]: add Sonics... |
28 |
#else |
33a606ac8 ssb: Convert ssb_... |
29 30 |
# define ssb_dbg(fmt, ...) \ do { if (0) printk(KERN_DEBUG PFX fmt, ##__VA_ARGS__); } while (0) |
61e115a56 [SSB]: add Sonics... |
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
#endif #ifdef CONFIG_SSB_DEBUG # define SSB_WARN_ON(x) WARN_ON(x) # define SSB_BUG_ON(x) BUG_ON(x) #else static inline int __ssb_do_nothing(int x) { return x; } # define SSB_WARN_ON(x) __ssb_do_nothing(unlikely(!!(x))) # define SSB_BUG_ON(x) __ssb_do_nothing(unlikely(!!(x))) #endif /* pci.c */ #ifdef CONFIG_SSB_PCIHOST extern int ssb_pci_switch_core(struct ssb_bus *bus, struct ssb_device *dev); extern int ssb_pci_switch_coreidx(struct ssb_bus *bus, u8 coreidx); extern int ssb_pci_xtal(struct ssb_bus *bus, u32 what, int turn_on); extern int ssb_pci_get_invariants(struct ssb_bus *bus, struct ssb_init_invariants *iv); extern void ssb_pci_exit(struct ssb_bus *bus); extern int ssb_pci_init(struct ssb_bus *bus); extern const struct ssb_bus_ops ssb_pci_ops; #else /* CONFIG_SSB_PCIHOST */ static inline int ssb_pci_switch_core(struct ssb_bus *bus, struct ssb_device *dev) { return 0; } static inline int ssb_pci_switch_coreidx(struct ssb_bus *bus, u8 coreidx) { return 0; } static inline int ssb_pci_xtal(struct ssb_bus *bus, u32 what, int turn_on) { return 0; } static inline void ssb_pci_exit(struct ssb_bus *bus) { } static inline int ssb_pci_init(struct ssb_bus *bus) { return 0; } #endif /* CONFIG_SSB_PCIHOST */ /* pcmcia.c */ #ifdef CONFIG_SSB_PCMCIAHOST |
61e115a56 [SSB]: add Sonics... |
86 87 88 89 90 91 |
extern int ssb_pcmcia_switch_coreidx(struct ssb_bus *bus, u8 coreidx); extern int ssb_pcmcia_switch_segment(struct ssb_bus *bus, u8 seg); extern int ssb_pcmcia_get_invariants(struct ssb_bus *bus, struct ssb_init_invariants *iv); |
8fe2b65a1 ssb: Turn suspend... |
92 |
extern int ssb_pcmcia_hardware_setup(struct ssb_bus *bus); |
e7ec2e323 ssb: Add SPROM/in... |
93 |
extern void ssb_pcmcia_exit(struct ssb_bus *bus); |
61e115a56 [SSB]: add Sonics... |
94 |
extern int ssb_pcmcia_init(struct ssb_bus *bus); |
399500da1 ssb: pick PCMCIA ... |
95 96 |
extern int ssb_host_pcmcia_init(void); extern void ssb_host_pcmcia_exit(void); |
61e115a56 [SSB]: add Sonics... |
97 98 |
extern const struct ssb_bus_ops ssb_pcmcia_ops; #else /* CONFIG_SSB_PCMCIAHOST */ |
61e115a56 [SSB]: add Sonics... |
99 100 101 102 103 104 105 106 107 108 |
static inline int ssb_pcmcia_switch_coreidx(struct ssb_bus *bus, u8 coreidx) { return 0; } static inline int ssb_pcmcia_switch_segment(struct ssb_bus *bus, u8 seg) { return 0; } |
8fe2b65a1 ssb: Turn suspend... |
109 110 111 112 |
static inline int ssb_pcmcia_hardware_setup(struct ssb_bus *bus) { return 0; } |
e7ec2e323 ssb: Add SPROM/in... |
113 114 115 |
static inline void ssb_pcmcia_exit(struct ssb_bus *bus) { } |
61e115a56 [SSB]: add Sonics... |
116 117 118 119 |
static inline int ssb_pcmcia_init(struct ssb_bus *bus) { return 0; } |
399500da1 ssb: pick PCMCIA ... |
120 121 122 123 124 125 126 |
static inline int ssb_host_pcmcia_init(void) { return 0; } static inline void ssb_host_pcmcia_exit(void) { } |
61e115a56 [SSB]: add Sonics... |
127 |
#endif /* CONFIG_SSB_PCMCIAHOST */ |
24ea602e1 ssb: Implement SD... |
128 129 130 131 132 133 |
/* sdio.c */ #ifdef CONFIG_SSB_SDIOHOST extern int ssb_sdio_get_invariants(struct ssb_bus *bus, struct ssb_init_invariants *iv); extern u32 ssb_sdio_scan_read32(struct ssb_bus *bus, u16 offset); |
24ea602e1 ssb: Implement SD... |
134 |
extern int ssb_sdio_scan_switch_coreidx(struct ssb_bus *bus, u8 coreidx); |
24ea602e1 ssb: Implement SD... |
135 136 137 138 139 140 141 142 143 |
extern void ssb_sdio_exit(struct ssb_bus *bus); extern int ssb_sdio_init(struct ssb_bus *bus); extern const struct ssb_bus_ops ssb_sdio_ops; #else /* CONFIG_SSB_SDIOHOST */ static inline u32 ssb_sdio_scan_read32(struct ssb_bus *bus, u16 offset) { return 0; } |
24ea602e1 ssb: Implement SD... |
144 145 146 147 |
static inline int ssb_sdio_scan_switch_coreidx(struct ssb_bus *bus, u8 coreidx) { return 0; } |
24ea602e1 ssb: Implement SD... |
148 149 150 151 152 153 154 155 |
static inline void ssb_sdio_exit(struct ssb_bus *bus) { } static inline int ssb_sdio_init(struct ssb_bus *bus) { return 0; } #endif /* CONFIG_SSB_SDIOHOST */ |
830c7df46 ssb: move functio... |
156 157 158 |
/************************************************** * host_soc.c **************************************************/ |
845da6e58 ssb: add Kconfig ... |
159 |
#ifdef CONFIG_SSB_HOST_SOC |
830c7df46 ssb: move functio... |
160 |
extern const struct ssb_bus_ops ssb_host_soc_ops; |
541c9a84c ssb: pick SoC inv... |
161 162 163 |
extern int ssb_host_soc_get_invariants(struct ssb_bus *bus, struct ssb_init_invariants *iv); |
845da6e58 ssb: add Kconfig ... |
164 |
#endif |
61e115a56 [SSB]: add Sonics... |
165 166 167 168 169 170 |
/* scan.c */ extern const char *ssb_core_name(u16 coreid); extern int ssb_bus_scan(struct ssb_bus *bus, unsigned long baseaddr); extern void ssb_iounmap(struct ssb_bus *ssb); |
e7ec2e323 ssb: Add SPROM/in... |
171 172 173 174 175 176 177 178 179 |
/* sprom.c */ extern ssize_t ssb_attr_sprom_show(struct ssb_bus *bus, char *buf, int (*sprom_read)(struct ssb_bus *bus, u16 *sprom)); extern ssize_t ssb_attr_sprom_store(struct ssb_bus *bus, const char *buf, size_t count, int (*sprom_check_crc)(const u16 *sprom, size_t size), int (*sprom_write)(struct ssb_bus *bus, const u16 *sprom)); |
b3ae52b6b SSB: Change fallb... |
180 181 |
extern int ssb_fill_sprom_with_fallback(struct ssb_bus *bus, struct ssb_sprom *out); |
e7ec2e323 ssb: Add SPROM/in... |
182 |
|
61e115a56 [SSB]: add Sonics... |
183 184 |
/* core.c */ extern u32 ssb_calc_clock_rate(u32 plltype, u32 n, u32 m); |
61e115a56 [SSB]: add Sonics... |
185 |
extern struct ssb_bus *ssb_pci_dev_to_bus(struct pci_dev *pdev); |
aab547ce0 ssb: Add Gigabit ... |
186 187 |
int ssb_for_each_bus_call(unsigned long data, int (*func)(struct ssb_bus *bus, unsigned long data)); |
e7ec2e323 ssb: Add SPROM/in... |
188 |
extern struct ssb_bus *ssb_pcmcia_dev_to_bus(struct pcmcia_device *pdev); |
3ba6018aa ssb: Fix SPROM wr... |
189 190 191 192 193 194 195 196 |
struct ssb_freeze_context { /* Pointer to the bus */ struct ssb_bus *bus; /* Boolean list to indicate whether a device is frozen on this bus. */ bool device_frozen[SSB_MAX_NR_CORES]; }; extern int ssb_devices_freeze(struct ssb_bus *bus, struct ssb_freeze_context *ctx); extern int ssb_devices_thaw(struct ssb_freeze_context *ctx); |
61e115a56 [SSB]: add Sonics... |
197 198 |
/* b43_pci_bridge.c */ |
c7084535c Use a separate co... |
199 |
#ifdef CONFIG_SSB_B43_PCI_BRIDGE |
61e115a56 [SSB]: add Sonics... |
200 201 |
extern int __init b43_pci_ssb_bridge_init(void); extern void __exit b43_pci_ssb_bridge_exit(void); |
0052b8bb5 ssb: fix typo in ... |
202 |
#else /* CONFIG_SSB_B43_PCI_BRIDGE */ |
61e115a56 [SSB]: add Sonics... |
203 204 205 206 207 208 209 |
static inline int b43_pci_ssb_bridge_init(void) { return 0; } static inline void b43_pci_ssb_bridge_exit(void) { } |
0052b8bb5 ssb: fix typo in ... |
210 |
#endif /* CONFIG_SSB_B43_PCI_BRIDGE */ |
61e115a56 [SSB]: add Sonics... |
211 |
|
d486a5b49 ssb: add support ... |
212 213 214 |
/* driver_chipcommon_pmu.c */ extern u32 ssb_pmu_get_cpu_clock(struct ssb_chipcommon *cc); extern u32 ssb_pmu_get_controlclock(struct ssb_chipcommon *cc); |
f924e1e98 ssb: get alp cloc... |
215 |
extern u32 ssb_pmu_get_alp_clock(struct ssb_chipcommon *cc); |
d486a5b49 ssb: add support ... |
216 |
|
7ffbffe37 ssb: add methods ... |
217 218 219 |
extern u32 ssb_chipco_watchdog_timer_set_wdt(struct bcm47xx_wdt *wdt, u32 ticks); extern u32 ssb_chipco_watchdog_timer_set_ms(struct bcm47xx_wdt *wdt, u32 ms); |
72a525cbb ssb: add place fo... |
220 221 222 223 224 225 226 227 228 229 230 |
/* driver_chipcommon_sflash.c */ #ifdef CONFIG_SSB_SFLASH int ssb_sflash_init(struct ssb_chipcommon *cc); #else static inline int ssb_sflash_init(struct ssb_chipcommon *cc) { pr_err("Serial flash not supported "); return 0; } #endif /* CONFIG_SSB_SFLASH */ |
c7a4a9e38 ssb: register pla... |
231 232 233 |
#ifdef CONFIG_SSB_DRIVER_MIPS extern struct platform_device ssb_pflash_dev; #endif |
7b5d6043d ssb: register ser... |
234 235 236 |
#ifdef CONFIG_SSB_SFLASH extern struct platform_device ssb_sflash_dev; #endif |
9f640a637 ssb: extif: add m... |
237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 |
#ifdef CONFIG_SSB_DRIVER_EXTIF extern u32 ssb_extif_watchdog_timer_set_wdt(struct bcm47xx_wdt *wdt, u32 ticks); extern u32 ssb_extif_watchdog_timer_set_ms(struct bcm47xx_wdt *wdt, u32 ms); #else static inline u32 ssb_extif_watchdog_timer_set_wdt(struct bcm47xx_wdt *wdt, u32 ticks) { return 0; } static inline u32 ssb_extif_watchdog_timer_set_ms(struct bcm47xx_wdt *wdt, u32 ms) { return 0; } #endif |
bde327eff ssb: register wat... |
252 253 254 255 256 257 258 259 260 |
#ifdef CONFIG_SSB_EMBEDDED extern int ssb_watchdog_register(struct ssb_bus *bus); #else /* CONFIG_SSB_EMBEDDED */ static inline int ssb_watchdog_register(struct ssb_bus *bus) { return 0; } #endif /* CONFIG_SSB_EMBEDDED */ |
394bc7e38 ssb: add locking ... |
261 262 263 264 265 266 267 |
#ifdef CONFIG_SSB_DRIVER_EXTIF extern void ssb_extif_init(struct ssb_extif *extif); #else static inline void ssb_extif_init(struct ssb_extif *extif) { } #endif |
ec43b08b5 ssb: add GPIO driver |
268 269 |
#ifdef CONFIG_SSB_DRIVER_GPIO extern int ssb_gpio_init(struct ssb_bus *bus); |
600485eda ssb: unregister g... |
270 |
extern int ssb_gpio_unregister(struct ssb_bus *bus); |
ec43b08b5 ssb: add GPIO driver |
271 272 273 274 275 |
#else /* CONFIG_SSB_DRIVER_GPIO */ static inline int ssb_gpio_init(struct ssb_bus *bus) { return -ENOTSUPP; } |
600485eda ssb: unregister g... |
276 277 278 279 |
static inline int ssb_gpio_unregister(struct ssb_bus *bus) { return 0; } |
ec43b08b5 ssb: add GPIO driver |
280 |
#endif /* CONFIG_SSB_DRIVER_GPIO */ |
61e115a56 [SSB]: add Sonics... |
281 |
#endif /* LINUX_SSB_PRIVATE_H_ */ |