Revision 7e9638d3 hw/usb/redirect.c

b/hw/usb/redirect.c
44 44
#define NO_INTERFACE_INFO 255 /* Valid interface_count always <= 32 */
45 45
#define EP2I(ep_address) (((ep_address & 0x80) >> 3) | (ep_address & 0x0f))
46 46
#define I2EP(i) (((i & 0x10) << 3) | (i & 0x0f))
47
#define USBEP2I(usb_ep) (((usb_ep)->pid == USB_TOKEN_IN) ? \
48
                         ((usb_ep)->nr | 0x10) : ((usb_ep)->nr))
49
#define I2USBEP(d, i) (usb_ep_get(&(d)->dev, \
50
                       ((i) & 0x10) ? USB_TOKEN_IN : USB_TOKEN_OUT, \
51
                       (i) & 0x0f))
47 52

  
48 53
typedef struct USBRedirDevice USBRedirDevice;
49 54

  
......
1351 1356
static void usbredir_setup_usb_eps(USBRedirDevice *dev)
1352 1357
{
1353 1358
    struct USBEndpoint *usb_ep;
1354
    int i, pid;
1359
    int i;
1355 1360

  
1356 1361
    for (i = 0; i < MAX_ENDPOINTS; i++) {
1357
        pid = (i & 0x10) ? USB_TOKEN_IN : USB_TOKEN_OUT;
1358
        usb_ep = usb_ep_get(&dev->dev, pid, i & 0x0f);
1362
        usb_ep = I2USBEP(dev, i);
1359 1363
        usb_ep->type = dev->endpoint[i].type;
1360 1364
        usb_ep->ifnum = dev->endpoint[i].interface;
1361 1365
        usb_ep->max_packet_size = dev->endpoint[i].max_packet_size;

Also available in: Unified diff