mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 02:03:56 -06:00
qdev/usb: add usb bus support to qdev, convert drivers.
* Add USBBus. * Add USBDeviceInfo, move device callbacks here. * Add usb-qdev helper functions. * Switch drivers to qdev. TODO: * make the rest of qemu aware of usb busses and kill the FIXMEs added by this patch. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
7557008854
commit
806b602482
17 changed files with 428 additions and 197 deletions
|
@ -392,21 +392,31 @@ static void usb_wacom_handle_destroy(USBDevice *dev)
|
|||
qemu_free(s);
|
||||
}
|
||||
|
||||
static int usb_wacom_initfn(USBDevice *dev)
|
||||
{
|
||||
USBWacomState *s = DO_UPCAST(USBWacomState, dev, dev);
|
||||
s->dev.speed = USB_SPEED_FULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
USBDevice *usb_wacom_init(void)
|
||||
{
|
||||
USBWacomState *s;
|
||||
|
||||
s = qemu_mallocz(sizeof(USBWacomState));
|
||||
s->dev.speed = USB_SPEED_FULL;
|
||||
s->dev.handle_packet = usb_generic_handle_packet;
|
||||
|
||||
s->dev.handle_reset = usb_wacom_handle_reset;
|
||||
s->dev.handle_control = usb_wacom_handle_control;
|
||||
s->dev.handle_data = usb_wacom_handle_data;
|
||||
s->dev.handle_destroy = usb_wacom_handle_destroy;
|
||||
|
||||
pstrcpy(s->dev.devname, sizeof(s->dev.devname),
|
||||
"QEMU PenPartner Tablet");
|
||||
|
||||
return (USBDevice *) s;
|
||||
return usb_create_simple(NULL /* FIXME */, "QEMU PenPartner Tablet");
|
||||
}
|
||||
|
||||
static struct USBDeviceInfo wacom_info = {
|
||||
.qdev.name = "QEMU PenPartner Tablet",
|
||||
.qdev.size = sizeof(USBWacomState),
|
||||
.init = usb_wacom_initfn,
|
||||
.handle_packet = usb_generic_handle_packet,
|
||||
.handle_reset = usb_wacom_handle_reset,
|
||||
.handle_control = usb_wacom_handle_control,
|
||||
.handle_data = usb_wacom_handle_data,
|
||||
.handle_destroy = usb_wacom_handle_destroy,
|
||||
};
|
||||
|
||||
static void usb_wacom_register_devices(void)
|
||||
{
|
||||
usb_qdev_register(&wacom_info);
|
||||
}
|
||||
device_init(usb_wacom_register_devices)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue