1 #ifndef B43_SDIO_H_
2 #define B43_SDIO_H_
3 
4 #include <linux/ssb/ssb.h>
5 
6 struct b43_wldev;
7 
8 
9 #ifdef CONFIG_B43_SDIO
10 
11 struct b43_sdio {
12 	struct ssb_bus ssb;
13 	void *irq_handler_opaque;
14 	void (*irq_handler)(struct b43_wldev *dev);
15 };
16 
17 int b43_sdio_request_irq(struct b43_wldev *dev,
18 			 void (*handler)(struct b43_wldev *dev));
19 void b43_sdio_free_irq(struct b43_wldev *dev);
20 
21 int b43_sdio_init(void);
22 void b43_sdio_exit(void);
23 
24 
25 #else /* CONFIG_B43_SDIO */
26 
27 
b43_sdio_request_irq(struct b43_wldev * dev,void (* handler)(struct b43_wldev * dev))28 int b43_sdio_request_irq(struct b43_wldev *dev,
29 			 void (*handler)(struct b43_wldev *dev))
30 {
31 	return -ENODEV;
32 }
b43_sdio_free_irq(struct b43_wldev * dev)33 void b43_sdio_free_irq(struct b43_wldev *dev)
34 {
35 }
b43_sdio_init(void)36 static inline int b43_sdio_init(void)
37 {
38 	return 0;
39 }
b43_sdio_exit(void)40 static inline void b43_sdio_exit(void)
41 {
42 }
43 
44 #endif /* CONFIG_B43_SDIO */
45 #endif /* B43_SDIO_H_ */
46