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 
12 struct 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 /*
28 Under Sync. IRP (SDIO/USB)
29 A protection mechanism is necessary for the io_rwmem(read/write protocol)
30 
31 Under Async. IRP (SDIO/USB)
32 The protection mechanism is through the pending queue.
33 */
34 
35 	_mutex ioctl_mutex;
36 };
37 
38 
39 #ifdef CONFIG_R871X_TEST
40 int rtw_start_pseudo_adhoc(struct adapter *padapter);
41 int rtw_stop_pseudo_adhoc(struct adapter *padapter);
42 #endif
43 
44 struct dvobj_priv *devobj_init(void);
45 void devobj_deinit(struct dvobj_priv *pdvobj);
46 
47 u8 rtw_init_drv_sw(struct adapter *padapter);
48 u8 rtw_free_drv_sw(struct adapter *padapter);
49 u8 rtw_reset_drv_sw(struct adapter *padapter);
50 void rtw_dev_unload(struct adapter *padapter);
51 
52 u32 rtw_start_drv_threads(struct adapter *padapter);
53 void rtw_stop_drv_threads (struct adapter *padapter);
54 void rtw_cancel_all_timer(struct adapter *padapter);
55 
56 int rtw_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
57 
58 int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname);
59 struct net_device *rtw_init_netdev(struct adapter *padapter);
60 void rtw_unregister_netdevs(struct dvobj_priv *dvobj);
61 
62 u16 rtw_recv_select_queue(struct sk_buff *skb);
63 
64 int rtw_ndev_notifier_register(void);
65 void rtw_ndev_notifier_unregister(void);
66 
67 #include "../os_dep/rtw_proc.h"
68 
69 void rtw_ips_dev_unload(struct adapter *padapter);
70 
71 int rtw_ips_pwr_up(struct adapter *padapter);
72 void rtw_ips_pwr_down(struct adapter *padapter);
73 
74 int rtw_drv_register_netdev(struct adapter *padapter);
75 void rtw_ndev_destructor(_nic_hdl ndev);
76 
77 int rtw_suspend_common(struct adapter *padapter);
78 int rtw_resume_common(struct adapter *padapter);
79 
80 #endif	/* _OSDEP_INTF_H_ */
81