dcavalca / rpms / qemu

Forked from rpms/qemu 11 months ago
Clone

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

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