1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2 /* Copyright(c) 2007 - 2011 Realtek Corporation. */
3 
4 #ifndef __USB_OPS_LINUX_H__
5 #define __USB_OPS_LINUX_H__
6 
7 #define VENDOR_CMD_MAX_DATA_LEN	254
8 
9 #define RTW_USB_CONTROL_MSG_TIMEOUT_TEST	10/* ms */
10 #define RTW_USB_CONTROL_MSG_TIMEOUT	500/* ms */
11 
12 #define MAX_USBCTRL_VENDORREQ_TIMES	10
13 
14 #define RTW_USB_BULKOUT_TIME	5000/* ms */
15 
16 #define _usbctrl_vendorreq_async_callback(urb, regs)	\
17 	_usbctrl_vendorreq_async_callback(urb)
18 #define usb_bulkout_zero_complete(purb, regs)		\
19 	usb_bulkout_zero_complete(purb)
20 #define usb_write_mem_complete(purb, regs)		\
21 	usb_write_mem_complete(purb)
22 #define usb_write_port_complete(purb, regs)		\
23 	usb_write_port_complete(purb)
24 #define usb_read_port_complete(purb, regs)		\
25 	usb_read_port_complete(purb)
26 #define usb_read_interrupt_complete(purb, regs)		\
27 	usb_read_interrupt_complete(purb)
28 
29 unsigned int ffaddr2pipehdl(struct dvobj_priv *pdvobj, u32 addr);
30 
31 void usb_read_mem(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *rmem);
32 void usb_write_mem(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem);
33 
34 void usb_read_port_cancel(struct intf_hdl *pintfhdl);
35 
36 u32 usb_write_port(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem);
37 void usb_write_port_cancel(struct intf_hdl *pintfhdl);
38 
39 #endif
40