1/* SPDX-License-Identifier: GPL-2.0 */
2/******************************************************************************
3 *
4 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
5 *
6 ******************************************************************************/
7
8#ifndef __OSDEP_INTF_H_
9#define __OSDEP_INTF_H_
10
11
12struct intf_priv {
13
14 u8 *intf_dev;
15 u32 max_iosz; /* USB2.0: 128, USB1.1: 64, SDIO:64 */
16 u32 max_xmitsz; /* USB2.0: unlimited, SDIO:512 */
17 u32 max_recvsz; /* USB2.0: unlimited, SDIO:512 */
18
19 volatile u8 *io_rwmem;
20 volatile u8 *allocated_io_rwmem;
21 u32 io_wsz; /* unit: 4bytes */
22 u32 io_rsz;/* unit: 4bytes */
23 u8 intf_status;
24
25 void (*_bus_io)(u8 *priv);
26
27/*
28Under Sync. IRP (SDIO/USB)
29A protection mechanism is necessary for the io_rwmem(read/write protocol)
30
31Under Async. IRP (SDIO/USB)
32The protection mechanism is through the pending queue.
33*/
34
35 struct mutex ioctl_mutex;
36};
37
38struct dvobj_priv *devobj_init(void);
39void devobj_deinit(struct dvobj_priv *pdvobj);
40
41u8 rtw_init_drv_sw(struct adapter *padapter);
42u8 rtw_free_drv_sw(struct adapter *padapter);
43void rtw_reset_drv_sw(struct adapter *padapter);
44void rtw_dev_unload(struct adapter *padapter);
45
46u32 rtw_start_drv_threads(struct adapter *padapter);
47void rtw_stop_drv_threads(struct adapter *padapter);
48void rtw_cancel_all_timer(struct adapter *padapter);
49
50int rtw_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
51
52int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname);
53struct net_device *rtw_init_netdev(struct adapter *padapter);
54void rtw_unregister_netdevs(struct dvobj_priv *dvobj);
55
56u16 rtw_recv_select_queue(struct sk_buff *skb);
57
58int rtw_ndev_notifier_register(void);
59void rtw_ndev_notifier_unregister(void);
60
61void rtw_ips_dev_unload(struct adapter *padapter);
62
63int rtw_ips_pwr_up(struct adapter *padapter);
64void rtw_ips_pwr_down(struct adapter *padapter);
65
66int rtw_drv_register_netdev(struct adapter *padapter);
67void rtw_ndev_destructor(struct net_device *ndev);
68
69void rtw_suspend_common(struct adapter *padapter);
70int rtw_resume_common(struct adapter *padapter);
71
72int netdev_open(struct net_device *pnetdev);
73
74#endif /* _OSDEP_INTF_H_ */
75

source code of linux/drivers/staging/rtl8723bs/include/osdep_intf.h