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