xref: /linux/drivers/net/wireless/st/cw1200/bh.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2a910e4a9SSolomon Peachy /*
3a910e4a9SSolomon Peachy  * Device handling thread interface for mac80211 ST-Ericsson CW1200 drivers
4a910e4a9SSolomon Peachy  *
5a910e4a9SSolomon Peachy  * Copyright (c) 2010, ST-Ericsson
6a910e4a9SSolomon Peachy  * Author: Dmitry Tarnyagin <dmitry.tarnyagin@lockless.no>
7a910e4a9SSolomon Peachy  */
8a910e4a9SSolomon Peachy 
9a910e4a9SSolomon Peachy #ifndef CW1200_BH_H
10a910e4a9SSolomon Peachy #define CW1200_BH_H
11a910e4a9SSolomon Peachy 
12a910e4a9SSolomon Peachy /* extern */ struct cw1200_common;
13a910e4a9SSolomon Peachy 
14a910e4a9SSolomon Peachy int cw1200_register_bh(struct cw1200_common *priv);
15a910e4a9SSolomon Peachy void cw1200_unregister_bh(struct cw1200_common *priv);
16a910e4a9SSolomon Peachy void cw1200_irq_handler(struct cw1200_common *priv);
17a910e4a9SSolomon Peachy void cw1200_bh_wakeup(struct cw1200_common *priv);
18a910e4a9SSolomon Peachy int cw1200_bh_suspend(struct cw1200_common *priv);
19a910e4a9SSolomon Peachy int cw1200_bh_resume(struct cw1200_common *priv);
20a910e4a9SSolomon Peachy /* Must be called from BH thread. */
21a910e4a9SSolomon Peachy void cw1200_enable_powersave(struct cw1200_common *priv,
22a910e4a9SSolomon Peachy 			     bool enable);
23a910e4a9SSolomon Peachy int wsm_release_tx_buffer(struct cw1200_common *priv, int count);
24a910e4a9SSolomon Peachy 
25a910e4a9SSolomon Peachy #endif /* CW1200_BH_H */
26