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_ */ 47