dcavalca / rpms / qemu

Forked from rpms/qemu a year ago
Clone

Blame 0324-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch

c8dfc6
From 5ea5581f88d2e4bba876c2ee2544cf3641a64eca Mon Sep 17 00:00:00 2001
c8dfc6
From: Hans de Goede <hdegoede@redhat.com>
c8dfc6
Date: Fri, 31 Aug 2012 13:41:38 +0200
c8dfc6
Subject: [PATCH 324/366] usb-redir: Convert to new libusbredirparser 0.5 API
c8dfc6
c8dfc6
This gives us support for 64 bit ids which is needed for using XHCI with
c8dfc6
the new hcd generated ids.
c8dfc6
c8dfc6
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
c8dfc6
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
c8dfc6
---
c8dfc6
 configure         |  2 +-
c8dfc6
 hw/usb/redirect.c | 62 +++++++++++++++++++++++++++----------------------------
c8dfc6
 2 files changed, 32 insertions(+), 32 deletions(-)
c8dfc6
c8dfc6
diff --git a/configure b/configure
c8dfc6
index 0bfef84..25c406f 100755
c8dfc6
--- a/configure
c8dfc6
+++ b/configure
c8dfc6
@@ -2765,7 +2765,7 @@ fi
c8dfc6
 
c8dfc6
 # check for usbredirparser for usb network redirection support
c8dfc6
 if test "$usb_redir" != "no" ; then
c8dfc6
-    if $pkg_config --atleast-version=0.3.4 libusbredirparser >/dev/null 2>&1 ; then
c8dfc6
+    if $pkg_config --atleast-version=0.5 libusbredirparser >/dev/null 2>&1 ; then
c8dfc6
         usb_redir="yes"
c8dfc6
         usb_redir_cflags=$($pkg_config --cflags libusbredirparser 2>/dev/null)
c8dfc6
         usb_redir_libs=$($pkg_config --libs libusbredirparser 2>/dev/null)
c8dfc6
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
c8dfc6
index 60b8f3e..789ef51 100644
c8dfc6
--- a/hw/usb/redirect.c
c8dfc6
+++ b/hw/usb/redirect.c
c8dfc6
@@ -107,27 +107,27 @@ static void usbredir_interface_info(void *priv,
c8dfc6
     struct usb_redir_interface_info_header *interface_info);
c8dfc6
 static void usbredir_ep_info(void *priv,
c8dfc6
     struct usb_redir_ep_info_header *ep_info);
c8dfc6
-static void usbredir_configuration_status(void *priv, uint32_t id,
c8dfc6
+static void usbredir_configuration_status(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_configuration_status_header *configuration_status);
c8dfc6
-static void usbredir_alt_setting_status(void *priv, uint32_t id,
c8dfc6
+static void usbredir_alt_setting_status(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_alt_setting_status_header *alt_setting_status);
c8dfc6
-static void usbredir_iso_stream_status(void *priv, uint32_t id,
c8dfc6
+static void usbredir_iso_stream_status(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_iso_stream_status_header *iso_stream_status);
c8dfc6
-static void usbredir_interrupt_receiving_status(void *priv, uint32_t id,
c8dfc6
+static void usbredir_interrupt_receiving_status(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_interrupt_receiving_status_header
c8dfc6
     *interrupt_receiving_status);
c8dfc6
-static void usbredir_bulk_streams_status(void *priv, uint32_t id,
c8dfc6
+static void usbredir_bulk_streams_status(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_bulk_streams_status_header *bulk_streams_status);
c8dfc6
-static void usbredir_control_packet(void *priv, uint32_t id,
c8dfc6
+static void usbredir_control_packet(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_control_packet_header *control_packet,
c8dfc6
     uint8_t *data, int data_len);
c8dfc6
-static void usbredir_bulk_packet(void *priv, uint32_t id,
c8dfc6
+static void usbredir_bulk_packet(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_bulk_packet_header *bulk_packet,
c8dfc6
     uint8_t *data, int data_len);
c8dfc6
-static void usbredir_iso_packet(void *priv, uint32_t id,
c8dfc6
+static void usbredir_iso_packet(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_iso_packet_header *iso_packet,
c8dfc6
     uint8_t *data, int data_len);
c8dfc6
-static void usbredir_interrupt_packet(void *priv, uint32_t id,
c8dfc6
+static void usbredir_interrupt_packet(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_interrupt_packet_header *interrupt_header,
c8dfc6
     uint8_t *data, int data_len);
c8dfc6
 
c8dfc6
@@ -815,6 +815,7 @@ static void usbredir_chardev_open(USBRedirDevice *dev)
c8dfc6
 
c8dfc6
     usbredirparser_caps_set_cap(caps, usb_redir_cap_connect_device_version);
c8dfc6
     usbredirparser_caps_set_cap(caps, usb_redir_cap_filter);
c8dfc6
+    usbredirparser_caps_set_cap(caps, usb_redir_cap_64bits_ids);
c8dfc6
     usbredirparser_init(dev->parser, version, caps, USB_REDIR_CAPS_SIZE, 0);
c8dfc6
     usbredirparser_do_write(dev->parser);
c8dfc6
 }
c8dfc6
@@ -1209,15 +1210,15 @@ static void usbredir_ep_info(void *priv,
c8dfc6
     }
c8dfc6
 }
c8dfc6
 
c8dfc6
-static void usbredir_configuration_status(void *priv, uint32_t id,
c8dfc6
+static void usbredir_configuration_status(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_configuration_status_header *config_status)
c8dfc6
 {
c8dfc6
     USBRedirDevice *dev = priv;
c8dfc6
     USBPacket *p;
c8dfc6
     int len = 0;
c8dfc6
 
c8dfc6
-    DPRINTF("set config status %d config %d id %u\n", config_status->status,
c8dfc6
-            config_status->configuration, id);
c8dfc6
+    DPRINTF("set config status %d config %d id %"PRIu64"\n",
c8dfc6
+            config_status->status, config_status->configuration, id);
c8dfc6
 
c8dfc6
     p = usbredir_find_packet_by_id(dev, 0, id);
c8dfc6
     if (p) {
c8dfc6
@@ -1230,16 +1231,15 @@ static void usbredir_configuration_status(void *priv, uint32_t id,
c8dfc6
     }
c8dfc6
 }
c8dfc6
 
c8dfc6
-static void usbredir_alt_setting_status(void *priv, uint32_t id,
c8dfc6
+static void usbredir_alt_setting_status(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_alt_setting_status_header *alt_setting_status)
c8dfc6
 {
c8dfc6
     USBRedirDevice *dev = priv;
c8dfc6
     USBPacket *p;
c8dfc6
     int len = 0;
c8dfc6
 
c8dfc6
-    DPRINTF("alt status %d intf %d alt %d id: %u\n",
c8dfc6
-            alt_setting_status->status,
c8dfc6
-            alt_setting_status->interface,
c8dfc6
+    DPRINTF("alt status %d intf %d alt %d id: %"PRIu64"\n",
c8dfc6
+            alt_setting_status->status, alt_setting_status->interface,
c8dfc6
             alt_setting_status->alt, id);
c8dfc6
 
c8dfc6
     p = usbredir_find_packet_by_id(dev, 0, id);
c8dfc6
@@ -1254,13 +1254,13 @@ static void usbredir_alt_setting_status(void *priv, uint32_t id,
c8dfc6
     }
c8dfc6
 }
c8dfc6
 
c8dfc6
-static void usbredir_iso_stream_status(void *priv, uint32_t id,
c8dfc6
+static void usbredir_iso_stream_status(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_iso_stream_status_header *iso_stream_status)
c8dfc6
 {
c8dfc6
     USBRedirDevice *dev = priv;
c8dfc6
     uint8_t ep = iso_stream_status->endpoint;
c8dfc6
 
c8dfc6
-    DPRINTF("iso status %d ep %02X id %u\n", iso_stream_status->status,
c8dfc6
+    DPRINTF("iso status %d ep %02X id %"PRIu64"\n", iso_stream_status->status,
c8dfc6
             ep, id);
c8dfc6
 
c8dfc6
     if (!dev->dev.attached || !dev->endpoint[EP2I(ep)].iso_started) {
c8dfc6
@@ -1274,14 +1274,14 @@ static void usbredir_iso_stream_status(void *priv, uint32_t id,
c8dfc6
     }
c8dfc6
 }
c8dfc6
 
c8dfc6
-static void usbredir_interrupt_receiving_status(void *priv, uint32_t id,
c8dfc6
+static void usbredir_interrupt_receiving_status(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_interrupt_receiving_status_header
c8dfc6
     *interrupt_receiving_status)
c8dfc6
 {
c8dfc6
     USBRedirDevice *dev = priv;
c8dfc6
     uint8_t ep = interrupt_receiving_status->endpoint;
c8dfc6
 
c8dfc6
-    DPRINTF("interrupt recv status %d ep %02X id %u\n",
c8dfc6
+    DPRINTF("interrupt recv status %d ep %02X id %"PRIu64"\n",
c8dfc6
             interrupt_receiving_status->status, ep, id);
c8dfc6
 
c8dfc6
     if (!dev->dev.attached || !dev->endpoint[EP2I(ep)].interrupt_started) {
c8dfc6
@@ -1296,12 +1296,12 @@ static void usbredir_interrupt_receiving_status(void *priv, uint32_t id,
c8dfc6
     }
c8dfc6
 }
c8dfc6
 
c8dfc6
-static void usbredir_bulk_streams_status(void *priv, uint32_t id,
c8dfc6
+static void usbredir_bulk_streams_status(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_bulk_streams_status_header *bulk_streams_status)
c8dfc6
 {
c8dfc6
 }
c8dfc6
 
c8dfc6
-static void usbredir_control_packet(void *priv, uint32_t id,
c8dfc6
+static void usbredir_control_packet(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_control_packet_header *control_packet,
c8dfc6
     uint8_t *data, int data_len)
c8dfc6
 {
c8dfc6
@@ -1309,7 +1309,7 @@ static void usbredir_control_packet(void *priv, uint32_t id,
c8dfc6
     USBPacket *p;
c8dfc6
     int len = control_packet->length;
c8dfc6
 
c8dfc6
-    DPRINTF("ctrl-in status %d len %d id %u\n", control_packet->status,
c8dfc6
+    DPRINTF("ctrl-in status %d len %d id %"PRIu64"\n", control_packet->status,
c8dfc6
             len, id);
c8dfc6
 
c8dfc6
     p = usbredir_find_packet_by_id(dev, 0, id);
c8dfc6
@@ -1331,7 +1331,7 @@ static void usbredir_control_packet(void *priv, uint32_t id,
c8dfc6
     free(data);
c8dfc6
 }
c8dfc6
 
c8dfc6
-static void usbredir_bulk_packet(void *priv, uint32_t id,
c8dfc6
+static void usbredir_bulk_packet(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_bulk_packet_header *bulk_packet,
c8dfc6
     uint8_t *data, int data_len)
c8dfc6
 {
c8dfc6
@@ -1340,8 +1340,8 @@ static void usbredir_bulk_packet(void *priv, uint32_t id,
c8dfc6
     int len = bulk_packet->length;
c8dfc6
     USBPacket *p;
c8dfc6
 
c8dfc6
-    DPRINTF("bulk-in status %d ep %02X len %d id %u\n", bulk_packet->status,
c8dfc6
-            ep, len, id);
c8dfc6
+    DPRINTF("bulk-in status %d ep %02X len %d id %"PRIu64"\n",
c8dfc6
+            bulk_packet->status, ep, len, id);
c8dfc6
 
c8dfc6
     p = usbredir_find_packet_by_id(dev, ep, id);
c8dfc6
     if (p) {
c8dfc6
@@ -1362,15 +1362,15 @@ static void usbredir_bulk_packet(void *priv, uint32_t id,
c8dfc6
     free(data);
c8dfc6
 }
c8dfc6
 
c8dfc6
-static void usbredir_iso_packet(void *priv, uint32_t id,
c8dfc6
+static void usbredir_iso_packet(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_iso_packet_header *iso_packet,
c8dfc6
     uint8_t *data, int data_len)
c8dfc6
 {
c8dfc6
     USBRedirDevice *dev = priv;
c8dfc6
     uint8_t ep = iso_packet->endpoint;
c8dfc6
 
c8dfc6
-    DPRINTF2("iso-in status %d ep %02X len %d id %u\n", iso_packet->status, ep,
c8dfc6
-             data_len, id);
c8dfc6
+    DPRINTF2("iso-in status %d ep %02X len %d id %"PRIu64"\n",
c8dfc6
+             iso_packet->status, ep, data_len, id);
c8dfc6
 
c8dfc6
     if (dev->endpoint[EP2I(ep)].type != USB_ENDPOINT_XFER_ISOC) {
c8dfc6
         ERROR("received iso packet for non iso endpoint %02X\n", ep);
c8dfc6
@@ -1388,14 +1388,14 @@ static void usbredir_iso_packet(void *priv, uint32_t id,
c8dfc6
     bufp_alloc(dev, data, data_len, iso_packet->status, ep);
c8dfc6
 }
c8dfc6
 
c8dfc6
-static void usbredir_interrupt_packet(void *priv, uint32_t id,
c8dfc6
+static void usbredir_interrupt_packet(void *priv, uint64_t id,
c8dfc6
     struct usb_redir_interrupt_packet_header *interrupt_packet,
c8dfc6
     uint8_t *data, int data_len)
c8dfc6
 {
c8dfc6
     USBRedirDevice *dev = priv;
c8dfc6
     uint8_t ep = interrupt_packet->endpoint;
c8dfc6
 
c8dfc6
-    DPRINTF("interrupt-in status %d ep %02X len %d id %u\n",
c8dfc6
+    DPRINTF("interrupt-in status %d ep %02X len %d id %"PRIu64"\n",
c8dfc6
             interrupt_packet->status, ep, data_len, id);
c8dfc6
 
c8dfc6
     if (dev->endpoint[EP2I(ep)].type != USB_ENDPOINT_XFER_INT) {
c8dfc6
-- 
c8dfc6
1.7.12
c8dfc6