92ef3298d4ac015bd62b034d36700f1f2f3ec2bc
[linux-2.6-microblaze.git] / drivers / staging / wfx / bh.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Interrupt bottom half.
4  *
5  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
6  * Copyright (c) 2010, ST-Ericsson
7  */
8 #ifndef WFX_BH_H
9 #define WFX_BH_H
10
11 struct wfx_dev;
12
13 struct wfx_hif {
14         struct work_struct bh;
15         struct completion ctrl_ready;
16         wait_queue_head_t tx_buffers_empty;
17         atomic_t ctrl_reg;
18         int rx_seqnum;
19         int tx_seqnum;
20         int tx_buffers_used;
21 };
22
23 void wfx_bh_register(struct wfx_dev *wdev);
24 void wfx_bh_unregister(struct wfx_dev *wdev);
25 void wfx_bh_request_rx(struct wfx_dev *wdev);
26 void wfx_bh_request_tx(struct wfx_dev *wdev);
27 void wfx_bh_poll_irq(struct wfx_dev *wdev);
28
29 #endif /* WFX_BH_H */