Also, I'm pretty sure there are only 2 endpoints, because the following print statements only show up in the console twice when I load the driver:
static u16 get_r8a66597_type(__u8 type)
{
u16 r8a66597_type;
switch (type) {
case USB_ENDPOINT_XFER_BULK:
printk(KERN_ERR "r8a66597: USB_ENDPOINT_XFER_BULK\n");
r8a66597_type = R8A66597_BULK;
break;
case USB_ENDPOINT_XFER_INT:
printk(KERN_ERR "r8a66597: USB_ENDPOINT_XFER_INT\n");
r8a66597_type = R8A66597_INT;
break;
case USB_ENDPOINT_XFER_ISOC:
printk(KERN_ERR "r8a66597: USB_ENDPOINT_XFER_ISOC\n");
r8a66597_type = R8A66597_ISO;
break;
default:
printk(KERN_ERR "r8a66597: Illegal type\n");
r8a66597_type = 0x0000;
break;
}
return r8a66597_type;
}