blob: aa5693b123ad12a0b4babf936ed8782fe2324fad [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Albert Herranz3dbba8e22009-09-10 19:34:49 +02002#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
Hauke Mehrtens2d9d2382013-03-28 12:37:30 +010029static inline int b43_sdio_request_irq(struct b43_wldev *dev,
Albert Herranz3dbba8e22009-09-10 19:34:49 +020030 void (*handler)(struct b43_wldev *dev))
31{
32 return -ENODEV;
33}
Hauke Mehrtens2d9d2382013-03-28 12:37:30 +010034static inline void b43_sdio_free_irq(struct b43_wldev *dev)
Albert Herranz3dbba8e22009-09-10 19:34:49 +020035{
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_ */