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 | struct mutex ioctl_mutex; |
36 | }; |
37 | |
38 | struct dvobj_priv *devobj_init(void); |
39 | void devobj_deinit(struct dvobj_priv *pdvobj); |
40 | |
41 | u8 rtw_init_drv_sw(struct adapter *padapter); |
42 | u8 rtw_free_drv_sw(struct adapter *padapter); |
43 | void rtw_reset_drv_sw(struct adapter *padapter); |
44 | void rtw_dev_unload(struct adapter *padapter); |
45 | |
46 | u32 rtw_start_drv_threads(struct adapter *padapter); |
47 | void rtw_stop_drv_threads(struct adapter *padapter); |
48 | void rtw_cancel_all_timer(struct adapter *padapter); |
49 | |
50 | int rtw_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); |
51 | |
52 | int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname); |
53 | struct net_device *rtw_init_netdev(struct adapter *padapter); |
54 | void rtw_unregister_netdevs(struct dvobj_priv *dvobj); |
55 | |
56 | u16 rtw_recv_select_queue(struct sk_buff *skb); |
57 | |
58 | int rtw_ndev_notifier_register(void); |
59 | void rtw_ndev_notifier_unregister(void); |
60 | |
61 | void rtw_ips_dev_unload(struct adapter *padapter); |
62 | |
63 | int rtw_ips_pwr_up(struct adapter *padapter); |
64 | void rtw_ips_pwr_down(struct adapter *padapter); |
65 | |
66 | int rtw_drv_register_netdev(struct adapter *padapter); |
67 | void rtw_ndev_destructor(struct net_device *ndev); |
68 | |
69 | void rtw_suspend_common(struct adapter *padapter); |
70 | int rtw_resume_common(struct adapter *padapter); |
71 | |
72 | int netdev_open(struct net_device *pnetdev); |
73 | |
74 | #endif /* _OSDEP_INTF_H_ */ |
75 | |