On Wed, Mar 16, 2011 at 11:29 AM, Isaku Yamahata <yamah...@valinux.co.jp> wrote: > apply pci_p2pbr for dec_pci.c. > > Cc: Michael S. Tsirkin <m...@redhat.com> > Cc: Blue Swirl <blauwir...@gmail.com> > Signed-off-by: Isaku Yamahata <yamah...@valinux.co.jp> > --- > hw/dec_pci.c | 49 ++++++++++++++----------------------------------- > 1 files changed, 14 insertions(+), 35 deletions(-) > > diff --git a/hw/dec_pci.c b/hw/dec_pci.c > index 3cc4f04..fbd1363 100644 > --- a/hw/dec_pci.c > +++ b/hw/dec_pci.c > @@ -29,6 +29,7 @@ > #include "pci_host.h" > #include "pci_bridge.h" > #include "pci_internals.h" > +#include "pci_p2pbr.h" > > /* debug DEC */ > //#define DEBUG_DEC > @@ -50,42 +51,21 @@ static int dec_map_irq(void *opaque, PCIDevice *pci_dev, > int irq_num) > return irq_num; > } > > -static int dec_21154_initfn(PCIDevice *dev) > -{ > - int rc; > - > - rc = pci_bridge_initfn(dev); > - if (rc < 0) { > - return rc; > - } > - > - pci_config_set_vendor_id(dev->config, PCI_VENDOR_ID_DEC); > - pci_config_set_device_id(dev->config, PCI_DEVICE_ID_DEC_21154); > - return 0; > -} > - > -static PCIDeviceInfo dec_21154_pci_bridge_info = { > - .qdev.name = "dec-21154-p2p-bridge", > - .qdev.desc = "DEC 21154 PCI-PCI bridge", > - .qdev.size = sizeof(PCIBridge), > - .qdev.vmsd = &vmstate_pci_device, > - .qdev.reset = pci_bridge_reset, > - .init = dec_21154_initfn, > - .exit = pci_bridge_exitfn, > - .config_write = pci_bridge_write_config, > - .is_bridge = 1, > -}; > - > PCIBus *pci_dec_21154_init(PCIBus *parent_bus, int devfn) > { > - PCIDevice *dev; > - PCIBridge *br; > - > - dev = pci_create_multifunction(parent_bus, devfn, false, > - "dec-21154-p2p-bridge"); > - br = DO_UPCAST(PCIBridge, dev, dev); > - pci_bridge_map_irq(br, "DEC 21154 PCI-PCI bridge", dec_map_irq); > - qdev_init_nofail(&dev->qdev); > + const PCIP2PBridgeInit init = { > + .bus = parent_bus, > + .devfn = devfn, > + .multifunction = false, > + > + .bus_name = "DEC 21154 PCI-PCI bridge", > + .map_irq = dec_map_irq, > + }; > + const PCIP2PBridgeProp prop = { > + .vendor_id = PCI_VENDOR_ID_DEC, > + .device_id = PCI_DEVICE_ID_DEC_21154, > + };
I'd make the above structures static. > + PCIBridge *br = pci_p2pbr_create_simple(&init, &prop); > return pci_bridge_get_sec_bus(br); > } > > @@ -127,7 +107,6 @@ static void dec_register_devices(void) > sysbus_register_dev("dec-21154", sizeof(DECState), > pci_dec_21154_init_device); > pci_qdev_register(&dec_21154_pci_host_info); > - pci_qdev_register(&dec_21154_pci_bridge_info); > } > > device_init(dec_register_devices) > -- > 1.7.1.1 > >