drivers/net/wireless/rsi/rsi_usb.h

Source file repositories/reference/linux-study-clean/drivers/net/wireless/rsi/rsi_usb.h

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/rsi/rsi_usb.h
Extension
.h
Size
2487 bytes
Lines
86
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct rx_usb_ctrl_block {
	u8 *data;
	struct urb *rx_urb;
	struct sk_buff *rx_skb;
	u8 ep_num;
};

struct rsi_91x_usbdev {
	void *priv;
	struct rsi_thread rx_thread;
	u8 endpoint;
	struct usb_device *usbdev;
	struct usb_interface *pfunction;
	struct rx_usb_ctrl_block rx_cb[MAX_RX_URBS];
	u8 *tx_buffer;
	__le16 bulkin_size[MAX_BULK_EP];
	u8 bulkin_endpoint_addr[MAX_BULK_EP];
	__le16 bulkout_size[MAX_BULK_EP];
	u8 bulkout_endpoint_addr[MAX_BULK_EP];
	u32 tx_blk_size;
	u8 write_fail;
	struct sk_buff_head rx_q;
};

static inline int rsi_usb_check_queue_status(struct rsi_hw *adapter, u8 q_num)
{
	/* In USB, there isn't any need to check the queue status */
	return QUEUE_NOT_FULL;
}

static inline int rsi_usb_event_timeout(struct rsi_hw *adapter)
{
	return EVENT_WAIT_FOREVER;
}

void rsi_usb_rx_thread(struct rsi_common *common);
#endif

Annotation

Implementation Notes