]> git.proxmox.com Git - mirror_qemu.git/commitdiff
Merge remote-tracking branch 'mst/for_anthony' into staging
authorAnthony Liguori <aliguori@us.ibm.com>
Thu, 5 May 2011 18:05:32 +0000 (13:05 -0500)
committerAnthony Liguori <aliguori@us.ibm.com>
Thu, 5 May 2011 18:05:32 +0000 (13:05 -0500)
1  2 
hw/usb-ohci.c

diff --combined hw/usb-ohci.c
index 8090c17c63b49873458b012cc0e8911d4658d6a7,d21c82028267c8482fe5db972af94f41f45fa9b0..32913ebb064204f5d091a0645027f60849598927
@@@ -575,9 -575,9 +575,9 @@@ static void ohci_copy_iso_td(OHCIState 
  
  static void ohci_process_lists(OHCIState *ohci, int completion);
  
 -static void ohci_async_complete_packet(USBPacket *packet, void *opaque)
 +static void ohci_async_complete_packet(USBDevice *dev, USBPacket *packet)
  {
 -    OHCIState *ohci = opaque;
 +    OHCIState *ohci = container_of(packet, OHCIState, usb_packet);
  #ifdef DEBUG_PACKET
      DPRINTF("Async packet complete\n");
  #endif
@@@ -748,6 -748,8 +748,6 @@@ static int ohci_service_iso_td(OHCIStat
              ohci->usb_packet.devep = OHCI_BM(ed->flags, ED_EN);
              ohci->usb_packet.data = ohci->usb_buf;
              ohci->usb_packet.len = len;
 -            ohci->usb_packet.complete_cb = ohci_async_complete_packet;
 -            ohci->usb_packet.complete_opaque = ohci;
              ret = dev->info->handle_packet(dev, &ohci->usb_packet);
              if (ret != USB_RET_NODEV)
                  break;
@@@ -944,6 -946,8 +944,6 @@@ static int ohci_service_td(OHCIState *o
              ohci->usb_packet.devep = OHCI_BM(ed->flags, ED_EN);
              ohci->usb_packet.data = ohci->usb_buf;
              ohci->usb_packet.len = len;
 -            ohci->usb_packet.complete_cb = ohci_async_complete_packet;
 -            ohci->usb_packet.complete_opaque = ohci;
              ret = dev->info->handle_packet(dev, &ohci->usb_packet);
              if (ret != USB_RET_NODEV)
                  break;
@@@ -1661,7 -1665,6 +1661,7 @@@ static CPUWriteMemoryFunc * const ohci_
  static USBPortOps ohci_port_ops = {
      .attach = ohci_attach,
      .detach = ohci_detach,
 +    .complete = ohci_async_complete_packet,
  };
  
  static void usb_ohci_init(OHCIState *ohci, DeviceState *dev,
@@@ -1708,13 -1711,6 +1708,6 @@@ typedef struct 
      OHCIState state;
  } OHCIPCIState;
  
- static void ohci_mapfunc(PCIDevice *pci_dev, int i,
-             pcibus_t addr, pcibus_t size, int type)
- {
-     OHCIPCIState *ohci = DO_UPCAST(OHCIPCIState, pci_dev, pci_dev);
-     cpu_register_physical_memory(addr, size, ohci->state.mem);
- }
  static int usb_ohci_initfn_pci(struct PCIDevice *dev)
  {
      OHCIPCIState *ohci = DO_UPCAST(OHCIPCIState, pci_dev, dev);
      ohci->state.irq = ohci->pci_dev.irq[0];
  
      /* TODO: avoid cast below by using dev */
-     pci_register_bar(&ohci->pci_dev, 0, 256,
-                            PCI_BASE_ADDRESS_SPACE_MEMORY, ohci_mapfunc);
+     pci_register_bar_simple(&ohci->pci_dev, 0, 256, 0, ohci->state.mem);
      return 0;
  }