From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=51282 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q0rIY-0005Pp-N4 for qemu-devel@nongnu.org; Sat, 19 Mar 2011 04:14:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q0rIW-000232-L1 for qemu-devel@nongnu.org; Sat, 19 Mar 2011 04:14:09 -0400 Received: from mail-vx0-f173.google.com ([209.85.220.173]:53881) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q0rIW-00022v-A3 for qemu-devel@nongnu.org; Sat, 19 Mar 2011 04:14:08 -0400 Received: by vxb41 with SMTP id 41so4508543vxb.4 for ; Sat, 19 Mar 2011 01:14:07 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: From: Blue Swirl Date: Sat, 19 Mar 2011 10:13:47 +0200 Message-ID: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] Re: [PATCH 09/26] dec_pci: simplify dec_pci.c by using pci_p2pbr List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Isaku Yamahata Cc: qemu-devel@nongnu.org, "Michael S. Tsirkin" On Wed, Mar 16, 2011 at 11:29 AM, Isaku Yamahata w= rote: > apply pci_p2pbr for dec_pci.c. > > Cc: Michael S. Tsirkin > Cc: Blue Swirl > Signed-off-by: Isaku Yamahata > --- > =C2=A0hw/dec_pci.c | =C2=A0 49 ++++++++++++++----------------------------= ------- > =C2=A01 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 @@ > =C2=A0#include "pci_host.h" > =C2=A0#include "pci_bridge.h" > =C2=A0#include "pci_internals.h" > +#include "pci_p2pbr.h" > > =C2=A0/* debug DEC */ > =C2=A0//#define DEBUG_DEC > @@ -50,42 +51,21 @@ static int dec_map_irq(void *opaque, PCIDevice *pci_d= ev, int irq_num) > =C2=A0 =C2=A0 return irq_num; > =C2=A0} > > -static int dec_21154_initfn(PCIDevice *dev) > -{ > - =C2=A0 =C2=A0int rc; > - > - =C2=A0 =C2=A0rc =3D pci_bridge_initfn(dev); > - =C2=A0 =C2=A0if (rc < 0) { > - =C2=A0 =C2=A0 =C2=A0 =C2=A0return rc; > - =C2=A0 =C2=A0} > - > - =C2=A0 =C2=A0pci_config_set_vendor_id(dev->config, PCI_VENDOR_ID_DEC); > - =C2=A0 =C2=A0pci_config_set_device_id(dev->config, PCI_DEVICE_ID_DEC_21= 154); > - =C2=A0 =C2=A0return 0; > -} > - > -static PCIDeviceInfo dec_21154_pci_bridge_info =3D { > - =C2=A0 =C2=A0.qdev.name =3D "dec-21154-p2p-bridge", > - =C2=A0 =C2=A0.qdev.desc =3D "DEC 21154 PCI-PCI bridge", > - =C2=A0 =C2=A0.qdev.size =3D sizeof(PCIBridge), > - =C2=A0 =C2=A0.qdev.vmsd =3D &vmstate_pci_device, > - =C2=A0 =C2=A0.qdev.reset =3D pci_bridge_reset, > - =C2=A0 =C2=A0.init =3D dec_21154_initfn, > - =C2=A0 =C2=A0.exit =3D pci_bridge_exitfn, > - =C2=A0 =C2=A0.config_write =3D pci_bridge_write_config, > - =C2=A0 =C2=A0.is_bridge =3D 1, > -}; > - > =C2=A0PCIBus *pci_dec_21154_init(PCIBus *parent_bus, int devfn) > =C2=A0{ > - =C2=A0 =C2=A0PCIDevice *dev; > - =C2=A0 =C2=A0PCIBridge *br; > - > - =C2=A0 =C2=A0dev =3D pci_create_multifunction(parent_bus, devfn, false, > - =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "dec-21154-p2p-bridge"); > - =C2=A0 =C2=A0br =3D DO_UPCAST(PCIBridge, dev, dev); > - =C2=A0 =C2=A0pci_bridge_map_irq(br, "DEC 21154 PCI-PCI bridge", dec_map= _irq); > - =C2=A0 =C2=A0qdev_init_nofail(&dev->qdev); > + =C2=A0 =C2=A0const PCIP2PBridgeInit init =3D { > + =C2=A0 =C2=A0 =C2=A0 =C2=A0.bus =3D parent_bus, > + =C2=A0 =C2=A0 =C2=A0 =C2=A0.devfn =3D devfn, > + =C2=A0 =C2=A0 =C2=A0 =C2=A0.multifunction =3D false, > + > + =C2=A0 =C2=A0 =C2=A0 =C2=A0.bus_name =3D "DEC 21154 PCI-PCI bridge", > + =C2=A0 =C2=A0 =C2=A0 =C2=A0.map_irq =3D dec_map_irq, > + =C2=A0 =C2=A0}; > + =C2=A0 =C2=A0const PCIP2PBridgeProp prop =3D { > + =C2=A0 =C2=A0 =C2=A0 =C2=A0.vendor_id =3D PCI_VENDOR_ID_DEC, > + =C2=A0 =C2=A0 =C2=A0 =C2=A0.device_id =3D PCI_DEVICE_ID_DEC_21154, > + =C2=A0 =C2=A0}; I'd make the above structures static. > + =C2=A0 =C2=A0PCIBridge *br =3D pci_p2pbr_create_simple(&init, &prop); > =C2=A0 =C2=A0 return pci_bridge_get_sec_bus(br); > =C2=A0} > > @@ -127,7 +107,6 @@ static void dec_register_devices(void) > =C2=A0 =C2=A0 sysbus_register_dev("dec-21154", sizeof(DECState), > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 pci_dec_21154_init_device); > =C2=A0 =C2=A0 pci_qdev_register(&dec_21154_pci_host_info); > - =C2=A0 =C2=A0pci_qdev_register(&dec_21154_pci_bridge_info); > =C2=A0} > > =C2=A0device_init(dec_register_devices) > -- > 1.7.1.1 > >