From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56035) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xytsl-0008A6-D1 for qemu-devel@nongnu.org; Wed, 10 Dec 2014 21:53:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xytsg-0001Uq-IN for qemu-devel@nongnu.org; Wed, 10 Dec 2014 21:53:35 -0500 Received: from [59.151.112.132] (port=47014 helo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xytsg-0001UU-6q for qemu-devel@nongnu.org; Wed, 10 Dec 2014 21:53:30 -0500 From: Hu Tao Date: Thu, 11 Dec 2014 10:50:08 +0800 Message-ID: <5db0aea61b55e338e87c6516f7dac89a30546110.1418266135.git.hutao@cn.fujitsu.com> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [PATCH v3 RESEND 6/6] pci: introduce PCI_DEVFN_AUTO List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Marcel Apfelbaum , "Michael S. Tsirkin" Introduce PCI_DEVFN_AUTO rather than using -1 in code. Signed-off-by: Hu Tao --- hw/pci/pci.c | 5 ++--- include/hw/pci/pci.h | 2 ++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 371699c..73c7dec 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -50,7 +50,7 @@ static char *pcibus_get_fw_dev_path(DeviceState *dev); static void pcibus_reset(BusState *qbus); static Property pci_props[] = { - DEFINE_PROP_PCI_DEVFN("addr", PCIDevice, devfn, -1), + DEFINE_PROP_PCI_DEVFN("addr", PCIDevice, devfn, PCI_DEVFN_AUTO), DEFINE_PROP_STRING("romfile", PCIDevice, romfile), DEFINE_PROP_UINT32("rombar", PCIDevice, rom_bar, 1), DEFINE_PROP_BIT("multifunction", PCIDevice, cap_present, @@ -801,7 +801,6 @@ static void do_pci_unregister_device(PCIDevice *pci_dev) address_space_destroy(&pci_dev->bus_master_as); } -/* -1 for devfn means auto assign */ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev, PCIBus *bus, const char *name, int devfn) { @@ -810,7 +809,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev, PCIBus *bus, PCIConfigWriteFunc *config_write = pc->config_write; AddressSpace *dma_as; - if (devfn < 0) { + if (devfn == PCI_DEVFN_AUTO) { for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices); devfn += PCI_FUNC_MAX) { if (!bus->devices[devfn]) diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h index b18759a..9206b12 100644 --- a/include/hw/pci/pci.h +++ b/include/hw/pci/pci.h @@ -164,6 +164,8 @@ enum { QEMU_PCIE_SLTCAP_PCP = (1 << QEMU_PCIE_SLTCAP_PCP_BITNR), }; +#define PCI_DEVFN_AUTO -1 + #define TYPE_PCI_DEVICE "pci-device" #define PCI_DEVICE(obj) \ OBJECT_CHECK(PCIDevice, (obj), TYPE_PCI_DEVICE) -- 1.9.3