diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-07-19 18:06:15 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-07-19 18:06:15 +0000 |
commit | 059809e45160fda714edf645902db95e262886e9 (patch) | |
tree | 06c7c0c578bbbf43e8c8d843c61a63dec484dd4e /usb-linux.c | |
parent | 3b2ccc57c74a3a7405dabd36f7abacd3eff46b46 (diff) |
usb destroy API change (Lonnie Mendez)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2066 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'usb-linux.c')
-rw-r--r-- | usb-linux.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/usb-linux.c b/usb-linux.c index 420382be92..0a13753d48 100644 --- a/usb-linux.c +++ b/usb-linux.c @@ -58,16 +58,8 @@ typedef struct USBHostDevice { int fd; } USBHostDevice; -static void usb_host_handle_reset(USBDevice *dev, int destroy) +static void usb_host_handle_reset(USBDevice *dev) { - USBHostDevice *s = (USBHostDevice *)dev; - - if (destroy) { - if (s->fd >= 0) - close(s->fd); - qemu_free(s); - return; - } #if 0 USBHostDevice *s = (USBHostDevice *)dev; /* USBDEVFS_RESET, but not the first time as it has already be @@ -76,6 +68,15 @@ static void usb_host_handle_reset(USBDevice *dev, int destroy) #endif } +static void usb_host_handle_destroy(USBDevice *dev) +{ + USBHostDevice *s = (USBHostDevice *)dev; + + if (s->fd >= 0) + close(s->fd); + qemu_free(s); +} + static int usb_host_handle_control(USBDevice *dev, int request, int value, @@ -244,6 +245,7 @@ USBDevice *usb_host_device_open(const char *devname) dev->dev.handle_reset = usb_host_handle_reset; dev->dev.handle_control = usb_host_handle_control; dev->dev.handle_data = usb_host_handle_data; + dev->dev.handle_destroy = usb_host_handle_destroy; if (product_name[0] == '\0') snprintf(dev->dev.devname, sizeof(dev->dev.devname), |