aboutsummaryrefslogtreecommitdiff
path: root/hw/pci_bridge.c
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2012-02-20 01:34:01 +0200
committerMichael S. Tsirkin <mst@redhat.com>2012-03-15 17:04:58 +0200
commit8a3d80faf7794820da5e9666e4adf6a7d4f80f7b (patch)
tree847bb7bbc5ad9ad4157a565ae5a360c25adff3cc /hw/pci_bridge.c
parentd662210a440bf90bf0f5fb5eb8abd6244478c97d (diff)
pci_bridge: user-friendly default bus name
For a pci bridge device, if we don't override the name with custom code, the bus will be addressed as <id>.0, where id is the id specified by the user. Since PCI Bridge devices have a single bus each, we don't need the index: address the bus using the parent device name. This is better since this way users don't care about our internal bus/device distinctions. As far as I could see, we only have built-in bridges at this point which always override the name. So this change will only affect ioh3420.c. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/pci_bridge.c')
-rw-r--r--hw/pci_bridge.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/pci_bridge.c b/hw/pci_bridge.c
index fea3873943..eeee8a6ad0 100644
--- a/hw/pci_bridge.c
+++ b/hw/pci_bridge.c
@@ -314,6 +314,16 @@ int pci_bridge_initfn(PCIDevice *dev)
pci_set_word(dev->config + PCI_SEC_STATUS,
PCI_STATUS_66MHZ | PCI_STATUS_FAST_BACK);
+ /*
+ * If we don't specify the name, the bus will be addressed as <id>.0, where
+ * id is the device id.
+ * Since PCI Bridge devices have a single bus each, we don't need the index:
+ * let users address the bus using the device name.
+ */
+ if (!br->bus_name && dev->qdev.id && *dev->qdev.id) {
+ br->bus_name = dev->qdev.id;
+ }
+
qbus_create_inplace(&sec_bus->qbus, &pci_bus_info, &dev->qdev,
br->bus_name);
sec_bus->parent_dev = dev;