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