drivers/usb/atm/usbatm.c

Source file repositories/reference/linux-study-clean/drivers/usb/atm/usbatm.c

File Facts

System
Linux kernel
Corpus path
drivers/usb/atm/usbatm.c
Extension
.c
Size
35501 bytes
Lines
1330
Domain
Driver Families
Bucket
drivers/usb
Inferred role
Driver Families: exported/initcall integration point
Status
integration 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

module_init(usbatm_usb_init);

static void __exit usbatm_usb_exit(void)
{
}
module_exit(usbatm_usb_exit);

MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_LICENSE("GPL");

/************
**  debug  **
************/

#ifdef VERBOSE_DEBUG
static int usbatm_print_packet(struct usbatm_data *instance,
			       const unsigned char *data, int len)
{
	unsigned char buffer[256];
	int i = 0, j = 0;

	for (i = 0; i < len;) {
		buffer[0] = '\0';
		sprintf(buffer, "%.3d :", i);
		for (j = 0; (j < 16) && (i < len); j++, i++)
			sprintf(buffer, "%s %2.2x", buffer, data[i]);
		dev_dbg(&instance->usb_intf->dev, "%s", buffer);
	}
	return i;
}
#endif

Annotation

Implementation Notes