diff options
Diffstat (limited to 'qemu/hw/usb/quirks.c')
-rw-r--r-- | qemu/hw/usb/quirks.c | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/qemu/hw/usb/quirks.c b/qemu/hw/usb/quirks.c deleted file mode 100644 index 38a9c5634..000000000 --- a/qemu/hw/usb/quirks.c +++ /dev/null @@ -1,54 +0,0 @@ -/* - * USB quirk handling - * - * Copyright (c) 2012 Red Hat, Inc. - * - * Red Hat Authors: - * Hans de Goede <hdegoede@redhat.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - */ - -#include "qemu/osdep.h" -#include "quirks.h" -#include "hw/usb.h" - -static bool usb_id_match(const struct usb_device_id *ids, - uint16_t vendor_id, uint16_t product_id, - uint8_t interface_class, uint8_t interface_subclass, - uint8_t interface_protocol) { - int i; - - for (i = 0; ids[i].vendor_id != -1; i++) { - if (ids[i].vendor_id == vendor_id && - ids[i].product_id == product_id && - (ids[i].interface_class == -1 || - (ids[i].interface_class == interface_class && - ids[i].interface_subclass == interface_subclass && - ids[i].interface_protocol == interface_protocol))) { - return true; - } - } - return false; -} - -int usb_get_quirks(uint16_t vendor_id, uint16_t product_id, - uint8_t interface_class, uint8_t interface_subclass, - uint8_t interface_protocol) -{ - int quirks = 0; - - if (usb_id_match(usbredir_raw_serial_ids, vendor_id, product_id, - interface_class, interface_subclass, interface_protocol)) { - quirks |= USB_QUIRK_BUFFER_BULK_IN; - } - if (usb_id_match(usbredir_ftdi_serial_ids, vendor_id, product_id, - interface_class, interface_subclass, interface_protocol)) { - quirks |= USB_QUIRK_BUFFER_BULK_IN | USB_QUIRK_IS_FTDI; - } - - return quirks; -} |