From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47000) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SXr7W-00039z-Vq for qemu-devel@nongnu.org; Fri, 25 May 2012 05:47:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SXr7S-0001Pi-3X for qemu-devel@nongnu.org; Fri, 25 May 2012 05:47:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:16720) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SXr7R-0001PO-Ro for qemu-devel@nongnu.org; Fri, 25 May 2012 05:47:38 -0400 From: Gerd Hoffmann Date: Fri, 25 May 2012 11:47:27 +0200 Message-Id: <1337939254-14288-2-git-send-email-kraxel@redhat.com> In-Reply-To: <1337939254-14288-1-git-send-email-kraxel@redhat.com> References: <1337939254-14288-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [PATCH 1/8] xhci: Clean up reset function List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Jan Kiszka , Gerd Hoffmann From: Jan Kiszka Properly register reset function via the device class. Signed-off-by: Jan Kiszka Signed-off-by: Gerd Hoffmann --- hw/usb/hcd-xhci.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c index 5cf1a64..4bc1e0e 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -2296,9 +2296,9 @@ static void xhci_update_port(XHCIState *xhci, XHCIPort *port, int is_detach) } } -static void xhci_reset(void *opaque) +static void xhci_reset(DeviceState *dev) { - XHCIState *xhci = opaque; + XHCIState *xhci = DO_UPCAST(XHCIState, pci_dev.qdev, dev); int i; DPRINTF("xhci: full reset\n"); @@ -2506,7 +2506,7 @@ static void xhci_oper_write(XHCIState *xhci, uint32_t reg, uint32_t val) } xhci->usbcmd = val & 0xc0f; if (val & USBCMD_HCRST) { - xhci_reset(xhci); + xhci_reset(&xhci->pci_dev.qdev); } xhci_irq_update(xhci); break; @@ -2831,8 +2831,6 @@ static void usb_xhci_init(XHCIState *xhci, DeviceState *dev) for (i = 0; i < MAXSLOTS; i++) { xhci->slots[i].enabled = 0; } - - qemu_register_reset(xhci_reset, xhci); } static int usb_xhci_initfn(struct PCIDevice *dev) @@ -2895,6 +2893,7 @@ static void xhci_class_init(ObjectClass *klass, void *data) dc->vmsd = &vmstate_xhci; dc->props = xhci_properties; + dc->reset = xhci_reset; k->init = usb_xhci_initfn; k->vendor_id = PCI_VENDOR_ID_NEC; k->device_id = PCI_DEVICE_ID_NEC_UPD720200; -- 1.7.1