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