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>
This commit is contained in:
parent
d662210a44
commit
8a3d80faf7
@ -314,6 +314,16 @@ int pci_bridge_initfn(PCIDevice *dev)
|
|||||||
pci_set_word(dev->config + PCI_SEC_STATUS,
|
pci_set_word(dev->config + PCI_SEC_STATUS,
|
||||||
PCI_STATUS_66MHZ | PCI_STATUS_FAST_BACK);
|
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,
|
qbus_create_inplace(&sec_bus->qbus, &pci_bus_info, &dev->qdev,
|
||||||
br->bus_name);
|
br->bus_name);
|
||||||
sec_bus->parent_dev = dev;
|
sec_bus->parent_dev = dev;
|
||||||
|
Loading…
Reference in New Issue
Block a user