mirror of
https://git.proxmox.com/git/qemu
synced 2025-07-23 16:51:00 +00:00
usb-hid: use qdev for -usbdevice
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
0958b4cc8f
commit
fa7c70c35a
@ -882,6 +882,7 @@ static struct USBDeviceInfo hid_info[] = {
|
|||||||
{
|
{
|
||||||
.qdev.name = "QEMU USB Tablet",
|
.qdev.name = "QEMU USB Tablet",
|
||||||
.qdev.alias = "usb-tablet",
|
.qdev.alias = "usb-tablet",
|
||||||
|
.usbdevice_name = "tablet",
|
||||||
.qdev.size = sizeof(USBHIDState),
|
.qdev.size = sizeof(USBHIDState),
|
||||||
.init = usb_tablet_initfn,
|
.init = usb_tablet_initfn,
|
||||||
.handle_packet = usb_generic_handle_packet,
|
.handle_packet = usb_generic_handle_packet,
|
||||||
@ -892,6 +893,7 @@ static struct USBDeviceInfo hid_info[] = {
|
|||||||
},{
|
},{
|
||||||
.qdev.name = "QEMU USB Mouse",
|
.qdev.name = "QEMU USB Mouse",
|
||||||
.qdev.alias = "usb-mouse",
|
.qdev.alias = "usb-mouse",
|
||||||
|
.usbdevice_name = "mouse",
|
||||||
.qdev.size = sizeof(USBHIDState),
|
.qdev.size = sizeof(USBHIDState),
|
||||||
.init = usb_mouse_initfn,
|
.init = usb_mouse_initfn,
|
||||||
.handle_packet = usb_generic_handle_packet,
|
.handle_packet = usb_generic_handle_packet,
|
||||||
@ -902,6 +904,7 @@ static struct USBDeviceInfo hid_info[] = {
|
|||||||
},{
|
},{
|
||||||
.qdev.name = "QEMU USB Keyboard",
|
.qdev.name = "QEMU USB Keyboard",
|
||||||
.qdev.alias = "usb-kbd",
|
.qdev.alias = "usb-kbd",
|
||||||
|
.usbdevice_name = "keyboard",
|
||||||
.qdev.size = sizeof(USBHIDState),
|
.qdev.size = sizeof(USBHIDState),
|
||||||
.init = usb_keyboard_initfn,
|
.init = usb_keyboard_initfn,
|
||||||
.handle_packet = usb_generic_handle_packet,
|
.handle_packet = usb_generic_handle_packet,
|
||||||
|
@ -411,6 +411,7 @@ static int usb_wacom_initfn(USBDevice *dev)
|
|||||||
static struct USBDeviceInfo wacom_info = {
|
static struct USBDeviceInfo wacom_info = {
|
||||||
.qdev.name = "QEMU PenPartner Tablet",
|
.qdev.name = "QEMU PenPartner Tablet",
|
||||||
.qdev.alias = "wacom-tablet",
|
.qdev.alias = "wacom-tablet",
|
||||||
|
.usbdevice_name = "wacom-tablet",
|
||||||
.qdev.size = sizeof(USBWacomState),
|
.qdev.size = sizeof(USBWacomState),
|
||||||
.init = usb_wacom_initfn,
|
.init = usb_wacom_initfn,
|
||||||
.handle_packet = usb_generic_handle_packet,
|
.handle_packet = usb_generic_handle_packet,
|
||||||
|
29
vl.c
29
vl.c
@ -2527,31 +2527,10 @@ static void usb_msd_password_cb(void *opaque, int err)
|
|||||||
dev->info->handle_destroy(dev);
|
dev->info->handle_destroy(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct {
|
|
||||||
const char *name;
|
|
||||||
const char *qdev;
|
|
||||||
} usbdevs[] = {
|
|
||||||
{
|
|
||||||
.name = "mouse",
|
|
||||||
.qdev = "QEMU USB Mouse",
|
|
||||||
},{
|
|
||||||
.name = "tablet",
|
|
||||||
.qdev = "QEMU USB Tablet",
|
|
||||||
},{
|
|
||||||
.name = "keyboard",
|
|
||||||
.qdev = "QEMU USB Keyboard",
|
|
||||||
},{
|
|
||||||
.name = "wacom-tablet",
|
|
||||||
.qdev = "QEMU PenPartner Tablet",
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static int usb_device_add(const char *devname, int is_hotplug)
|
static int usb_device_add(const char *devname, int is_hotplug)
|
||||||
{
|
{
|
||||||
const char *p;
|
const char *p;
|
||||||
USBBus *bus = usb_bus_find(-1 /* any */);
|
|
||||||
USBDevice *dev = NULL;
|
USBDevice *dev = NULL;
|
||||||
int i;
|
|
||||||
|
|
||||||
if (!usb_enabled)
|
if (!usb_enabled)
|
||||||
return -1;
|
return -1;
|
||||||
@ -2561,14 +2540,6 @@ static int usb_device_add(const char *devname, int is_hotplug)
|
|||||||
if (dev)
|
if (dev)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
/* simple devices which don't need extra care */
|
|
||||||
for (i = 0; i < ARRAY_SIZE(usbdevs); i++) {
|
|
||||||
if (strcmp(devname, usbdevs[i].name) != 0)
|
|
||||||
continue;
|
|
||||||
dev = usb_create_simple(bus, usbdevs[i].qdev);
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* the other ones */
|
/* the other ones */
|
||||||
if (strstart(devname, "host:", &p)) {
|
if (strstart(devname, "host:", &p)) {
|
||||||
dev = usb_host_device_open(p);
|
dev = usb_host_device_open(p);
|
||||||
|
Loading…
Reference in New Issue
Block a user