drivers/usb/serial/visor.h

Source file repositories/reference/linux-study-clean/drivers/usb/serial/visor.h

File Facts

System
Linux kernel
Corpus path
drivers/usb/serial/visor.h
Extension
.h
Size
5407 bytes
Lines
158
Domain
Driver Families
Bucket
drivers/usb
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 visor_connection_info {
	__le16	num_ports;
	struct {
		__u8	port_function_id;
		__u8	port;
	} connections[2];
};


/* struct visor_connection_info.connection[x].port defines: */
#define VISOR_ENDPOINT_1		0x01
#define VISOR_ENDPOINT_2		0x02

/* struct visor_connection_info.connection[x].port_function_id defines: */
#define VISOR_FUNCTION_GENERIC		0x00
#define VISOR_FUNCTION_DEBUGGER		0x01
#define VISOR_FUNCTION_HOTSYNC		0x02
#define VISOR_FUNCTION_CONSOLE		0x03
#define VISOR_FUNCTION_REMOTE_FILE_SYS	0x04


/****************************************************************************
 * PALM_GET_SOME_UNKNOWN_INFORMATION is sent by the host during enumeration to
 * get some information from the M series devices, that is currently unknown.
 ****************************************************************************/
#define PALM_GET_EXT_CONNECTION_INFORMATION	0x04

/**
 * struct palm_ext_connection_info - return data from a PALM_GET_EXT_CONNECTION_INFORMATION request
 * @num_ports: maximum number of functions/connections in use
 * @endpoint_numbers_different: will be 1 if in and out endpoints numbers are
 *	different, otherwise it is 0.  If value is 1, then
 *	connections.end_point_info is non-zero.  If value is 0, then
 *	connections.port contains the endpoint number, which is the same for in
 *	and out.
 * @port_function_id: contains the creator id of the application that opened
 *	this connection.
 * @port: contains the in/out endpoint number.  Is 0 if in and out endpoint
 *	numbers are different.
 * @end_point_info: high nubbe is in endpoint and low nibble will indicate out
 *	endpoint.  Is 0 if in and out endpoints are the same.
 *
 * The maximum number of connections currently supported is 2
 */
struct palm_ext_connection_info {
	__u8 num_ports;
	__u8 endpoint_numbers_different;
	__le16 reserved1;
	struct {
		__u32 port_function_id;
		__u8 port;
		__u8 end_point_info;
		__le16 reserved;
	} connections[2];
};

#endif

Annotation

Implementation Notes