On Fri, Aug 3, 2012 at 6:49 AM, Prarit Bhargava <prarit@xxxxxxxxxx> wrote: > The PCI-to-PCI Bridge Architecture Specification defines a secondary > interface (commonly known as a secondary bus) as "The PCI interface of the > bridge that is connected to the PCI bus farthest from the CPU is referred > to as the secondary PCI interface." > > The term subordinate bus number is used to define "the bus number of the > highest numbered PCI bus segment which is behind (or subordinate to) the > bridge". > > The current code tree mixes up these terms such that pci_dev->subordinate > is really the secondary interface. This gets confusing as other areas > of the code use proper terminology for subordinate and secondary. > > This is a cleanup that renames pci_dev->subordinate to pci_dev->secondary, > and cleans up some comments referring to the secondary and subordinate > busses. I think this or something similar might be worthwhile eventually, but I'm not sure we're quite ready yet. I hesitate because this feels like one small piece of PCI namespace cleanup, and I think it would be good to settle on a plan for a more extensive reorganization that we could do all at once. I don't think it's obvious yet what that would look like. This might be one part, collecting P2P bridge-related things into one place (they're currently scattered around pci_dev and pci_bus), giving busn_res a better name might be another, etc. Also, I think this specific change would affect all architectures, and this patch only fixes x86. When we're ready to do this, I wonder if it could be done completely mechanically by Coccinelle? If it could, that would be a nice way of encapsulating the effort so the patch doesn't bit-rot. > arch/x86/pci/fixup.c | 3 ++- > arch/x86/pci/sta2x11-fixup.c | 4 ++-- > drivers/acpi/pci_bind.c | 12 ++++++------ > drivers/acpi/pci_root.c | 4 ++-- > drivers/acpi/pci_slot.c | 6 +++--- > drivers/infiniband/hw/mthca/mthca_reset.c | 2 +- > drivers/iommu/dmar.c | 6 +++--- > drivers/iommu/intel-iommu.c | 18 +++++++++--------- > drivers/net/ethernet/broadcom/tg3.c | 16 ++++++++-------- > drivers/pci/bus.c | 14 +++++++------- > drivers/pci/hotplug-pci.c | 2 +- > drivers/pci/hotplug/acpiphp_glue.c | 26 +++++++++++++------------- > drivers/pci/hotplug/cpcihp_generic.c | 2 +- > drivers/pci/hotplug/cpcihp_zt5550.c | 2 +- > drivers/pci/hotplug/cpqphp_core.c | 2 +- > drivers/pci/hotplug/cpqphp_pci.c | 2 +- > drivers/pci/hotplug/ibmphp_core.c | 2 +- > drivers/pci/hotplug/pciehp_core.c | 6 +++--- > drivers/pci/hotplug/pciehp_ctrl.c | 6 +++--- > drivers/pci/hotplug/pciehp_hpc.c | 4 ++-- > drivers/pci/hotplug/pciehp_pci.c | 4 ++-- > drivers/pci/hotplug/pcihp_slot.c | 6 +++--- > drivers/pci/hotplug/rpadlpar_core.c | 4 ++-- > drivers/pci/hotplug/sgi_hotplug.c | 14 +++++++------- > drivers/pci/hotplug/shpchp_core.c | 6 +++--- > drivers/pci/hotplug/shpchp_ctrl.c | 4 ++-- > drivers/pci/hotplug/shpchp_hpc.c | 4 ++-- > drivers/pci/hotplug/shpchp_pci.c | 4 ++-- > drivers/pci/hotplug/shpchp_sysfs.c | 2 +- > drivers/pci/pci-acpi.c | 4 ++-- > drivers/pci/pci-sysfs.c | 16 ++++++++-------- > drivers/pci/pci.c | 10 +++++----- > drivers/pci/pci.h | 2 +- > drivers/pci/pcie/aer/aerdrv.c | 4 ++-- > drivers/pci/pcie/aer/aerdrv_core.c | 11 ++++++----- > drivers/pci/pcie/aspm.c | 18 +++++++++--------- > drivers/pci/pcie/pme.c | 8 ++++---- > drivers/pci/pcie/portdrv_pci.c | 6 +++--- > drivers/pci/probe.c | 4 ++-- > drivers/pci/quirks.c | 27 ++++++++++++--------------- > drivers/pci/remove.c | 22 +++++++++++----------- > drivers/pci/setup-bus.c | 26 +++++++++++++------------- > drivers/pcmcia/cardbus.c | 6 +++--- > drivers/pcmcia/yenta_socket.c | 22 +++++++++++++--------- > drivers/platform/x86/eeepc-laptop.c | 2 +- > include/linux/pci.h | 2 +- > 46 files changed, 190 insertions(+), 187 deletions(-) > > diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c > index af8a224..5b9198d 100644 > --- a/arch/x86/pci/fixup.c > +++ b/arch/x86/pci/fixup.c > @@ -256,7 +256,8 @@ static void pcie_rootport_aspm_quirk(struct pci_dev *pdev) > struct pci_bus *pbus; > struct pci_dev *dev; > > - if ((pbus = pdev->subordinate) == NULL) > + pbus = pdev->secondary; > + if (!pbus) > return; > > /* > diff --git a/arch/x86/pci/sta2x11-fixup.c b/arch/x86/pci/sta2x11-fixup.c > index 9d8a509..73da22d 100644 > --- a/arch/x86/pci/sta2x11-fixup.c > +++ b/arch/x86/pci/sta2x11-fixup.c > @@ -64,8 +64,8 @@ static void sta2x11_new_instance(struct pci_dev *pdev) > instance = kzalloc(sizeof(*instance), GFP_ATOMIC); > if (!instance) > return; > - /* This has a subordinate bridge, with 4 more-subordinate ones */ > - instance->bus0 = pdev->subordinate->number + 1; > + /* This has a secondary bus, with 4 more-secondary ones */ > + instance->bus0 = pdev->secondary->number + 1; > > if (list_empty(&sta2x11_instance_list)) { > int size = STA2X11_SWIOTLB_SIZE; > diff --git a/drivers/acpi/pci_bind.c b/drivers/acpi/pci_bind.c > index 2ef0409..9a3aa32 100644 > --- a/drivers/acpi/pci_bind.c > +++ b/drivers/acpi/pci_bind.c > @@ -46,10 +46,10 @@ static int acpi_pci_unbind(struct acpi_device *device) > device_set_run_wake(&dev->dev, false); > pci_acpi_remove_pm_notifier(device); > > - if (!dev->subordinate) > + if (!dev->secondary) > goto out; > > - acpi_pci_irq_del_prt(dev->subordinate); > + acpi_pci_irq_del_prt(dev->secondary); > > device->ops.bind = NULL; > device->ops.unbind = NULL; > @@ -78,7 +78,7 @@ static int acpi_pci_bind(struct acpi_device *device) > * Install the 'bind' function to facilitate callbacks for > * children of the P2P bridge. > */ > - if (dev->subordinate) { > + if (dev->secondary) { > ACPI_DEBUG_PRINT((ACPI_DB_INFO, > "Device %04x:%02x:%02x.%d is a PCI bridge\n", > pci_domain_nr(dev->bus), dev->bus->number, > @@ -91,7 +91,7 @@ static int acpi_pci_bind(struct acpi_device *device) > * Evaluate and parse _PRT, if exists. This code allows parsing of > * _PRT objects within the scope of non-bridge devices. Note that > * _PRTs within the scope of a PCI bridge assume the bridge's > - * subordinate bus number. > + * secondary bus number. > * > * TBD: Can _PRTs exist within the scope of non-bridge PCI devices? > */ > @@ -99,8 +99,8 @@ static int acpi_pci_bind(struct acpi_device *device) > if (ACPI_FAILURE(status)) > goto out; > > - if (dev->subordinate) > - bus = dev->subordinate; > + if (dev->secondary) > + bus = dev->secondary; > else > bus = dev->bus; > > diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c > index ec54014..5522602 100644 > --- a/drivers/acpi/pci_root.c > +++ b/drivers/acpi/pci_root.c > @@ -356,13 +356,13 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle) > if (!pdev || hnd == handle) > break; > > - pbus = pdev->subordinate; > + pbus = pdev->secondary; > pci_dev_put(pdev); > > /* > * This function may be called for a non-PCI device that has a > * PCI parent (eg. a disk under a PCI SATA controller). In that > - * case pdev->subordinate will be NULL for the parent. > + * case pdev->secondary will be NULL for the parent. > */ > if (!pbus) { > dev_dbg(&pdev->dev, "Not a PCI-to-PCI bridge\n"); > diff --git a/drivers/acpi/pci_slot.c b/drivers/acpi/pci_slot.c > index e50e31a..416009c 100644 > --- a/drivers/acpi/pci_slot.c > +++ b/drivers/acpi/pci_slot.c > @@ -211,14 +211,14 @@ walk_p2p_bridge(acpi_handle handle, u32 lvl, void *context, void **rv) > function = adr & 0xffff; > > dev = pci_get_slot(pci_bus, PCI_DEVFN(device, function)); > - if (!dev || !dev->subordinate) > + if (!dev || !dev->secondary) > goto out; > > - child_context.pci_bus = dev->subordinate; > + child_context.pci_bus = dev->secondary; > child_context.user_function = user_function; > child_context.root_handle = parent_context->root_handle; > > - dbg("p2p bridge walk, pci_bus = %x\n", dev->subordinate->number); > + dbg("p2p bridge walk, pci_bus = %x\n", dev->secondary->number); > status = acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, (u32)1, > user_function, NULL, &child_context, NULL); > if (ACPI_FAILURE(status)) > diff --git a/drivers/infiniband/hw/mthca/mthca_reset.c b/drivers/infiniband/hw/mthca/mthca_reset.c > index 4fa3534..9923902 100644 > --- a/drivers/infiniband/hw/mthca/mthca_reset.c > +++ b/drivers/infiniband/hw/mthca/mthca_reset.c > @@ -73,7 +73,7 @@ int mthca_reset(struct mthca_dev *mdev) > mdev->pdev->device + 2, > bridge)) != NULL) { > if (bridge->hdr_type == PCI_HEADER_TYPE_BRIDGE && > - bridge->subordinate == mdev->pdev->bus) { > + bridge->secondary == mdev->pdev->bus) { > mthca_dbg(mdev, "Found bridge: %s\n", > pci_name(bridge)); > break; > diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c > index 86e2f4a..3bee7ea 100644 > --- a/drivers/iommu/dmar.c > +++ b/drivers/iommu/dmar.c > @@ -93,7 +93,7 @@ static int __init dmar_parse_one_dev_scope(struct acpi_dmar_device_scope *scope, > } > path ++; > count --; > - bus = pdev->subordinate; > + bus = pdev->secondary; > } > if (!pdev) { > pr_warn("Device scope device [%04x:%02x:%02x.%02x] not found\n", > @@ -102,8 +102,8 @@ static int __init dmar_parse_one_dev_scope(struct acpi_dmar_device_scope *scope, > return 0; > } > if ((scope->entry_type == ACPI_DMAR_SCOPE_TYPE_ENDPOINT && \ > - pdev->subordinate) || (scope->entry_type == \ > - ACPI_DMAR_SCOPE_TYPE_BRIDGE && !pdev->subordinate)) { > + pdev->secondary) || (scope->entry_type == \ > + ACPI_DMAR_SCOPE_TYPE_BRIDGE && !pdev->secondary)) { > pci_dev_put(pdev); > pr_warn("Device scope type does not match for %s\n", > pci_name(pdev)); > diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c > index 7469b53..e333f99 100644 > --- a/drivers/iommu/intel-iommu.c > +++ b/drivers/iommu/intel-iommu.c > @@ -659,9 +659,9 @@ static struct intel_iommu *device_to_iommu(int segment, u8 bus, u8 devfn) > drhd->devices[i]->devfn == devfn) > return drhd->iommu; > if (drhd->devices[i] && > - drhd->devices[i]->subordinate && > - drhd->devices[i]->subordinate->number <= bus && > - drhd->devices[i]->subordinate->busn_res.end >= bus) > + drhd->devices[i]->secondary && > + drhd->devices[i]->secondary->number <= bus && > + drhd->devices[i]->secondary->busn_res.end >= bus) > return drhd->iommu; > } > > @@ -1700,8 +1700,8 @@ domain_context_mapping(struct dmar_domain *domain, struct pci_dev *pdev, > } > if (pci_is_pcie(tmp)) /* this is a PCIe-to-PCI bridge */ > return domain_context_mapping_one(domain, > - pci_domain_nr(tmp->subordinate), > - tmp->subordinate->number, 0, > + pci_domain_nr(tmp->secondary), > + tmp->secondary->number, 0, > translation); > else /* this is a legacy PCI bridge */ > return domain_context_mapping_one(domain, > @@ -1739,7 +1739,7 @@ static int domain_context_mapped(struct pci_dev *pdev) > parent = parent->bus->self; > } > if (pci_is_pcie(tmp)) > - return device_context_mapped(iommu, tmp->subordinate->number, > + return device_context_mapped(iommu, tmp->secondary->number, > 0); > else > return device_context_mapped(iommu, tmp->bus->number, > @@ -1977,7 +1977,7 @@ static struct dmar_domain *get_domain_for_dev(struct pci_dev *pdev, int gaw) > dev_tmp = pci_find_upstream_pcie_bridge(pdev); > if (dev_tmp) { > if (pci_is_pcie(dev_tmp)) { > - bus = dev_tmp->subordinate->number; > + bus = dev_tmp->secondary->number; > devfn = 0; > } else { > bus = dev_tmp->bus->number; > @@ -3710,7 +3710,7 @@ static void iommu_detach_dependent_devices(struct intel_iommu *iommu, > } > if (pci_is_pcie(tmp)) /* this is a PCIe-to-PCI bridge */ > iommu_detach_dev(iommu, > - tmp->subordinate->number, 0); > + tmp->secondary->number, 0); > else /* this is a legacy PCI bridge */ > iommu_detach_dev(iommu, tmp->bus->number, > tmp->devfn); > @@ -4118,7 +4118,7 @@ static int intel_iommu_add_device(struct device *dev) > if (pci_is_pcie(bridge)) > dma_pdev = pci_get_domain_bus_and_slot( > pci_domain_nr(pdev->bus), > - bridge->subordinate->number, 0); > + bridge->secondary->number, 0); > else > dma_pdev = pci_dev_get(bridge); > } else > diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c > index bf906c5..65608a5 100644 > --- a/drivers/net/ethernet/broadcom/tg3.c > +++ b/drivers/net/ethernet/broadcom/tg3.c > @@ -14396,8 +14396,8 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) > if (bridge->revision > pci_id->rev) > continue; > } > - if (bridge->subordinate && > - (bridge->subordinate->number == > + if (bridge->secondary && > + (bridge->secondary->number == > tp->pdev->bus->number)) { > tg3_flag_set(tp, ICH_WORKAROUND); > pci_dev_put(bridge); > @@ -14426,10 +14426,10 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) > pci_id++; > continue; > } > - if (bridge->subordinate && > - (bridge->subordinate->number <= > + if (bridge->secondary && > + (bridge->secondary->number <= > tp->pdev->bus->number) && > - (bridge->subordinate->busn_res.end >= > + (bridge->secondary->busn_res.end >= > tp->pdev->bus->number)) { > tg3_flag_set(tp, 5701_DMA_BUG); > pci_dev_put(bridge); > @@ -14454,10 +14454,10 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) > bridge = pci_get_device(PCI_VENDOR_ID_SERVERWORKS, > PCI_DEVICE_ID_SERVERWORKS_EPB, > bridge); > - if (bridge && bridge->subordinate && > - (bridge->subordinate->number <= > + if (bridge && bridge->secondary && > + (bridge->secondary->number <= > tp->pdev->bus->number) && > - (bridge->subordinate->busn_res.end >= > + (bridge->secondary->busn_res.end >= > tp->pdev->bus->number)) { > tg3_flag_set(tp, 40BIT_DMA_BUG); > pci_dev_put(bridge); > diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c > index 4b0970b..9f31b97 100644 > --- a/drivers/pci/bus.c > +++ b/drivers/pci/bus.c > @@ -231,9 +231,9 @@ void pci_bus_add_devices(const struct pci_bus *bus) > list_for_each_entry(dev, &bus->devices, bus_list) { > BUG_ON(!dev->is_added); > > - child = dev->subordinate; > + child = dev->secondary; > /* > - * If there is an unattached subordinate bus, attach > + * If there is an unattached secondary bus, attach > * it and then scan for unattached PCI devices. > */ > if (!child) > @@ -263,14 +263,14 @@ void pci_enable_bridges(struct pci_bus *bus) > int retval; > > list_for_each_entry(dev, &bus->devices, bus_list) { > - if (dev->subordinate) { > + if (dev->secondary) { > if (!pci_is_enabled(dev)) { > retval = pci_enable_device(dev); > if (retval) > dev_err(&dev->dev, "Error enabling bridge (%d), continuing\n", retval); > pci_set_master(dev); > } > - pci_enable_bridges(dev->subordinate); > + pci_enable_bridges(dev->secondary); > } > } > } > @@ -309,10 +309,10 @@ void pci_walk_bus(struct pci_bus *top, int (*cb)(struct pci_dev *, void *), > continue; > } > dev = list_entry(next, struct pci_dev, bus_list); > - if (dev->subordinate) { > + if (dev->secondary) { > /* this is a pci-pci bridge, do its devices next */ > - next = dev->subordinate->devices.next; > - bus = dev->subordinate; > + next = dev->secondary->devices.next; > + bus = dev->secondary; > } else > next = dev->bus_list.next; > > diff --git a/drivers/pci/hotplug-pci.c b/drivers/pci/hotplug-pci.c > index 6258dc2..c1e99ce 100644 > --- a/drivers/pci/hotplug-pci.c > +++ b/drivers/pci/hotplug-pci.c > @@ -21,7 +21,7 @@ int __ref pci_hp_add_bridge(struct pci_dev *dev) > } > for (pass = 0; pass < 2; pass++) > busnr = pci_scan_bridge(parent, dev, busnr, pass); > - if (!dev->subordinate) > + if (!dev->secondary) > return -1; > > return 0; > diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c > index ad6fd66..f8501a2 100644 > --- a/drivers/pci/hotplug/acpiphp_glue.c > +++ b/drivers/pci/hotplug/acpiphp_glue.c > @@ -35,7 +35,7 @@ > * - The one in acpiphp_bridge has its refcount elevated by pci_get_slot() > * when the bridge is scanned and it loses a refcount when the bridge > * is removed. > - * - When a P2P bridge is present, we elevate the refcount on the subordinate > + * - When a P2P bridge is present, we elevate the refcount on the secondary > * bus. It loses the refcount when the the driver unloads. > */ > > @@ -416,14 +416,14 @@ static void add_p2p_bridge(acpi_handle *handle) > config_p2p_bridge_flags(bridge); > > bridge->pci_dev = acpi_get_pci_dev(handle); > - bridge->pci_bus = bridge->pci_dev->subordinate; > + bridge->pci_bus = bridge->pci_dev->secondary; > if (!bridge->pci_bus) { > err("This is not a PCI-to-PCI bridge!\n"); > goto err; > } > > /* > - * Grab a ref to the subordinate PCI bus in case the bus is > + * Grab a ref to the secondary PCI bus in case the bus is > * removed via PCI core logical hotplug. The ref pins the bus > * (which we access during module unload). > */ > @@ -446,7 +446,7 @@ find_p2p_bridge(acpi_handle handle, u32 lvl, void *context, void **rv) > struct pci_dev *dev; > > dev = acpi_get_pci_dev(handle); > - if (!dev || !dev->subordinate) > + if (!dev || !dev->secondary) > goto out; > > /* check if this bridge has ejectable slots */ > @@ -689,9 +689,9 @@ static unsigned char acpiphp_max_busnr(struct pci_bus *bus) > /* > * pci_bus_max_busnr will return the highest > * reserved busnr for all these children. > - * that is equivalent to the bus->subordinate > + * that is equivalent to the bus->secondary > * value. We don't want to use the parent's > - * bus->subordinate value because it could have > + * bus->secondary value because it could have > * padding in it. > */ > max = bus->busn_res.start; > @@ -817,8 +817,8 @@ static int __ref enable_device(struct acpiphp_slot *slot) > if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE || > dev->hdr_type == PCI_HEADER_TYPE_CARDBUS) { > max = pci_scan_bridge(bus, dev, max, pass); > - if (pass && dev->subordinate) > - pci_bus_size_bridges(dev->subordinate); > + if (pass && dev->secondary) > + pci_bus_size_bridges(dev->secondary); > } > } > } > @@ -873,8 +873,8 @@ static void disable_bridges(struct pci_bus *bus) > { > struct pci_dev *dev; > list_for_each_entry(dev, &bus->devices, bus_list) { > - if (dev->subordinate) { > - disable_bridges(dev->subordinate); > + if (dev->secondary) { > + disable_bridges(dev->secondary); > pci_disable_device(dev); > } > } > @@ -932,8 +932,8 @@ static int disable_device(struct acpiphp_slot *slot) > */ > while ((pdev = dev_in_slot(slot))) { > pci_stop_bus_device(pdev); > - if (pdev->subordinate) { > - disable_bridges(pdev->subordinate); > + if (pdev->secondary) { > + disable_bridges(pdev->secondary); > pci_disable_device(pdev); > } > __pci_remove_bus_device(pdev); > @@ -1109,7 +1109,7 @@ static int acpiphp_configure_bridge (acpi_handle handle) > bus = root->bus; > } else { > struct pci_dev *pdev = acpi_get_pci_dev(handle); > - bus = pdev->subordinate; > + bus = pdev->secondary; > pci_dev_put(pdev); > } > > diff --git a/drivers/pci/hotplug/cpcihp_generic.c b/drivers/pci/hotplug/cpcihp_generic.c > index 81af764..ce32f3b 100644 > --- a/drivers/pci/hotplug/cpcihp_generic.c > +++ b/drivers/pci/hotplug/cpcihp_generic.c > @@ -165,7 +165,7 @@ static int __init cpcihp_generic_init(void) > pci_dev_put(dev); > return -EINVAL; > } > - bus = dev->subordinate; > + bus = dev->secondary; > pci_dev_put(dev); > > memset(&generic_hpc, 0, sizeof (struct cpci_hp_controller)); > diff --git a/drivers/pci/hotplug/cpcihp_zt5550.c b/drivers/pci/hotplug/cpcihp_zt5550.c > index 6bf8d2a..4a721e3 100644 > --- a/drivers/pci/hotplug/cpcihp_zt5550.c > +++ b/drivers/pci/hotplug/cpcihp_zt5550.c > @@ -243,7 +243,7 @@ static int zt5550_hc_init_one (struct pci_dev *pdev, const struct pci_device_id > status = -ENODEV; > goto init_register_error; > } > - bus0 = bus0_dev->subordinate; > + bus0 = bus0_dev->secondary; > pci_dev_put(bus0_dev); > > status = cpci_hp_register_bus(bus0, 0x0a, 0x0f); > diff --git a/drivers/pci/hotplug/cpqphp_core.c b/drivers/pci/hotplug/cpqphp_core.c > index c8eaeb4..d55a73a 100644 > --- a/drivers/pci/hotplug/cpqphp_core.c > +++ b/drivers/pci/hotplug/cpqphp_core.c > @@ -835,7 +835,7 @@ static int cpqhpc_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > return err; > } > > - bus = pdev->subordinate; > + bus = pdev->secondary; > if (!bus) { > dev_notice(&pdev->dev, "the device is not a bridge, " > "skipping\n"); > diff --git a/drivers/pci/hotplug/cpqphp_pci.c b/drivers/pci/hotplug/cpqphp_pci.c > index 09801c6..eab5606 100644 > --- a/drivers/pci/hotplug/cpqphp_pci.c > +++ b/drivers/pci/hotplug/cpqphp_pci.c > @@ -106,7 +106,7 @@ int cpqhp_configure_device (struct controller* ctrl, struct pci_func* func) > > if (func->pci_dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { > pci_hp_add_bridge(func->pci_dev); > - child = func->pci_dev->subordinate; > + child = func->pci_dev->secondary; > if (child) > pci_bus_add_devices(child); > } > diff --git a/drivers/pci/hotplug/ibmphp_core.c b/drivers/pci/hotplug/ibmphp_core.c > index cbd72d8..c5de318 100644 > --- a/drivers/pci/hotplug/ibmphp_core.c > +++ b/drivers/pci/hotplug/ibmphp_core.c > @@ -805,7 +805,7 @@ static int ibm_configure_device(struct pci_func *func) > } > if (!(flag) && (func->dev->hdr_type == PCI_HEADER_TYPE_BRIDGE)) { > pci_hp_add_bridge(func->dev); > - child = func->dev->subordinate; > + child = func->dev->secondary; > if (child) > pci_bus_add_devices(child); > } > diff --git a/drivers/pci/hotplug/pciehp_core.c b/drivers/pci/hotplug/pciehp_core.c > index 365c6b9..0659e05 100644 > --- a/drivers/pci/hotplug/pciehp_core.c > +++ b/drivers/pci/hotplug/pciehp_core.c > @@ -128,10 +128,10 @@ static int init_slot(struct controller *ctrl) > snprintf(name, SLOT_NAME_SIZE, "%u", PSN(ctrl)); > > ctrl_dbg(ctrl, "Registering domain:bus:dev=%04x:%02x:00 sun=%x\n", > - pci_domain_nr(ctrl->pcie->port->subordinate), > - ctrl->pcie->port->subordinate->number, PSN(ctrl)); > + pci_domain_nr(ctrl->pcie->port->secondary), > + ctrl->pcie->port->secondary->number, PSN(ctrl)); > retval = pci_hp_register(hotplug, > - ctrl->pcie->port->subordinate, 0, name); > + ctrl->pcie->port->secondary, 0, name); > if (retval) > ctrl_err(ctrl, > "pci_hp_register failed with error %d\n", retval); > diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c > index 27f4429..4ff1817 100644 > --- a/drivers/pci/hotplug/pciehp_ctrl.c > +++ b/drivers/pci/hotplug/pciehp_ctrl.c > @@ -194,7 +194,7 @@ static int board_added(struct slot *p_slot) > { > int retval = 0; > struct controller *ctrl = p_slot->ctrl; > - struct pci_bus *parent = ctrl->pcie->port->subordinate; > + struct pci_bus *parent = ctrl->pcie->port->secondary; > > if (POWER_CTRL(ctrl)) { > /* Power on slot */ > @@ -297,8 +297,8 @@ static void pciehp_power_thread(struct work_struct *work) > mutex_unlock(&p_slot->lock); > ctrl_dbg(p_slot->ctrl, > "Disabling domain:bus:device=%04x:%02x:00\n", > - pci_domain_nr(p_slot->ctrl->pcie->port->subordinate), > - p_slot->ctrl->pcie->port->subordinate->number); > + pci_domain_nr(p_slot->ctrl->pcie->port->secondary), > + p_slot->ctrl->pcie->port->secondary->number); > pciehp_disable_slot(p_slot); > mutex_lock(&p_slot->lock); > p_slot->state = STATIC_STATE; > diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c > index 302451e..ee5baae 100644 > --- a/drivers/pci/hotplug/pciehp_hpc.c > +++ b/drivers/pci/hotplug/pciehp_hpc.c > @@ -327,7 +327,7 @@ int pciehp_check_link_status(struct controller *ctrl) > > /* wait 100ms before read pci conf, and try in 1s */ > msleep(100); > - found = pci_bus_check_dev(ctrl->pcie->port->subordinate, > + found = pci_bus_check_dev(ctrl->pcie->port->secondary, > PCI_DEVFN(0, 0)); > > retval = pciehp_readw(ctrl, PCI_EXP_LNKSTA, &lnk_status); > @@ -344,7 +344,7 @@ int pciehp_check_link_status(struct controller *ctrl) > return retval; > } > > - pcie_update_link_speed(ctrl->pcie->port->subordinate, lnk_status); > + pcie_update_link_speed(ctrl->pcie->port->secondary, lnk_status); > > if (!found && !retval) > retval = -1; > diff --git a/drivers/pci/hotplug/pciehp_pci.c b/drivers/pci/hotplug/pciehp_pci.c > index 09cecaf..2dd0a51 100644 > --- a/drivers/pci/hotplug/pciehp_pci.c > +++ b/drivers/pci/hotplug/pciehp_pci.c > @@ -38,7 +38,7 @@ int pciehp_configure_device(struct slot *p_slot) > { > struct pci_dev *dev; > struct pci_dev *bridge = p_slot->ctrl->pcie->port; > - struct pci_bus *parent = bridge->subordinate; > + struct pci_bus *parent = bridge->secondary; > int num, fn; > struct controller *ctrl = p_slot->ctrl; > > @@ -92,7 +92,7 @@ int pciehp_unconfigure_device(struct slot *p_slot) > int j; > u8 bctl = 0; > u8 presence = 0; > - struct pci_bus *parent = p_slot->ctrl->pcie->port->subordinate; > + struct pci_bus *parent = p_slot->ctrl->pcie->port->secondary; > u16 command; > struct controller *ctrl = p_slot->ctrl; > > diff --git a/drivers/pci/hotplug/pcihp_slot.c b/drivers/pci/hotplug/pcihp_slot.c > index 8c05a18..4189a59 100644 > --- a/drivers/pci/hotplug/pcihp_slot.c > +++ b/drivers/pci/hotplug/pcihp_slot.c > @@ -119,7 +119,7 @@ static void program_hpp_type2(struct pci_dev *dev, struct hpp_type2 *hpp) > pci_write_config_word(dev, pos + PCI_EXP_DEVCTL, reg16); > > /* Initialize Link Control Register */ > - if (dev->subordinate) { > + if (dev->secondary) { > pci_read_config_word(dev, pos + PCI_EXP_LNKCTL, ®16); > reg16 = (reg16 & hpp->pci_exp_lnkctl_and) > | hpp->pci_exp_lnkctl_or; > @@ -183,8 +183,8 @@ void pci_configure_slot(struct pci_dev *dev) > program_hpp_type1(dev, hpp.t1); > program_hpp_type0(dev, hpp.t0); > > - if (dev->subordinate) { > - list_for_each_entry(cdev, &dev->subordinate->devices, > + if (dev->secondary) { > + list_for_each_entry(cdev, &dev->secondary->devices, > bus_list) > pci_configure_slot(cdev); > } > diff --git a/drivers/pci/hotplug/rpadlpar_core.c b/drivers/pci/hotplug/rpadlpar_core.c > index 1e117c2..8e0a84e 100644 > --- a/drivers/pci/hotplug/rpadlpar_core.c > +++ b/drivers/pci/hotplug/rpadlpar_core.c > @@ -161,8 +161,8 @@ static void dlpar_pci_add_bus(struct device_node *dn) > dev->hdr_type == PCI_HEADER_TYPE_CARDBUS) > of_scan_pci_bridge(dev); > > - /* Map IO space for child bus, which may or may not succeed */ > - pcibios_map_io_space(dev->subordinate); > + /* Map IO space for secondary bus, which may or may not succeed */ > + pcibios_map_io_space(dev->secondary); > > /* Finish adding it : resource allocation, adding devices, etc... > * Note that we need to perform the finish pass on the -parent- > diff --git a/drivers/pci/hotplug/sgi_hotplug.c b/drivers/pci/hotplug/sgi_hotplug.c > index f64ca92..ad52c37 100644 > --- a/drivers/pci/hotplug/sgi_hotplug.c > +++ b/drivers/pci/hotplug/sgi_hotplug.c > @@ -208,13 +208,13 @@ static struct hotplug_slot * sn_hp_destroy(void) > > static void sn_bus_free_data(struct pci_dev *dev) > { > - struct pci_bus *subordinate_bus; > + struct pci_bus *secondary_bus; > struct pci_dev *child; > > /* Recursively clean up sn_irq_info structs */ > - if (dev->subordinate) { > - subordinate_bus = dev->subordinate; > - list_for_each_entry(child, &subordinate_bus->devices, bus_list) > + if (dev->secondary) { > + secondary_bus = dev->secondary; > + list_for_each_entry(child, &secondary_bus->devices, bus_list) > sn_bus_free_data(child); > } > /* > @@ -398,8 +398,8 @@ static int enable_slot(struct hotplug_slot *bss_hotplug_slot) > sn_io_slot_fixup(dev); > if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { > pci_hp_add_bridge(dev); > - if (dev->subordinate) { > - new_bus = dev->subordinate; > + if (dev->secondary) { > + new_bus = dev->secondary; > new_ppb = 1; > } > } > @@ -466,7 +466,7 @@ static int enable_slot(struct hotplug_slot *bss_hotplug_slot) > > /* Call the driver for the new device */ > pci_bus_add_devices(slot->pci_bus); > - /* Call the drivers for the new devices subordinate to PPB */ > + /* Call the drivers for the new devices on the PPB secondary bus */ > if (new_ppb) > pci_bus_add_devices(new_bus); > > diff --git a/drivers/pci/hotplug/shpchp_core.c b/drivers/pci/hotplug/shpchp_core.c > index b6de307..730b8e6 100644 > --- a/drivers/pci/hotplug/shpchp_core.c > +++ b/drivers/pci/hotplug/shpchp_core.c > @@ -125,7 +125,7 @@ static int init_slots(struct controller *ctrl) > > slot->hp_slot = i; > slot->ctrl = ctrl; > - slot->bus = ctrl->pci_dev->subordinate->number; > + slot->bus = ctrl->pci_dev->secondary->number; > slot->device = ctrl->slot_device_offset + i; > slot->hpc_ops = ctrl->hpc_ops; > slot->number = ctrl->first_slot + (ctrl->slot_num_inc * i); > @@ -140,11 +140,11 @@ static int init_slots(struct controller *ctrl) > > ctrl_dbg(ctrl, "Registering domain:bus:dev=%04x:%02x:%02x " > "hp_slot=%x sun=%x slot_device_offset=%x\n", > - pci_domain_nr(ctrl->pci_dev->subordinate), > + pci_domain_nr(ctrl->pci_dev->secondary), > slot->bus, slot->device, slot->hp_slot, slot->number, > ctrl->slot_device_offset); > retval = pci_hp_register(slot->hotplug_slot, > - ctrl->pci_dev->subordinate, slot->device, name); > + ctrl->pci_dev->secondary, slot->device, name); > if (retval) { > ctrl_err(ctrl, "pci_hp_register failed with error %d\n", > retval); > diff --git a/drivers/pci/hotplug/shpchp_ctrl.c b/drivers/pci/hotplug/shpchp_ctrl.c > index f9b5a52..e5539a0 100644 > --- a/drivers/pci/hotplug/shpchp_ctrl.c > +++ b/drivers/pci/hotplug/shpchp_ctrl.c > @@ -246,7 +246,7 @@ static int board_added(struct slot *p_slot) > int rc = 0; > enum pci_bus_speed asp, bsp, msp; > struct controller *ctrl = p_slot->ctrl; > - struct pci_bus *parent = ctrl->pci_dev->subordinate; > + struct pci_bus *parent = ctrl->pci_dev->secondary; > > hp_slot = p_slot->device - ctrl->slot_device_offset; > > @@ -286,7 +286,7 @@ static int board_added(struct slot *p_slot) > msp = ctrl->pci_dev->bus->max_bus_speed; > > /* Check if there are other slots or devices on the same bus */ > - if (!list_empty(&ctrl->pci_dev->subordinate->devices)) > + if (!list_empty(&ctrl->pci_dev->secondary->devices)) > slots_not_empty = 1; > > ctrl_dbg(ctrl, "%s: slots_not_empty %d, adapter_speed %d, bus_speed %d," > diff --git a/drivers/pci/hotplug/shpchp_hpc.c b/drivers/pci/hotplug/shpchp_hpc.c > index 75ba231..a61fad0 100644 > --- a/drivers/pci/hotplug/shpchp_hpc.c > +++ b/drivers/pci/hotplug/shpchp_hpc.c > @@ -654,7 +654,7 @@ static int hpc_slot_disable(struct slot * slot) > static int shpc_get_cur_bus_speed(struct controller *ctrl) > { > int retval = 0; > - struct pci_bus *bus = ctrl->pci_dev->subordinate; > + struct pci_bus *bus = ctrl->pci_dev->secondary; > enum pci_bus_speed bus_speed = PCI_SPEED_UNKNOWN; > u16 sec_bus_reg = shpc_readw(ctrl, SEC_BUS_CONFIG); > u8 pi = shpc_readb(ctrl, PROG_INTERFACE); > @@ -868,7 +868,7 @@ static irqreturn_t shpc_isr(int irq, void *dev_id) > static int shpc_get_max_bus_speed(struct controller *ctrl) > { > int retval = 0; > - struct pci_bus *bus = ctrl->pci_dev->subordinate; > + struct pci_bus *bus = ctrl->pci_dev->secondary; > enum pci_bus_speed bus_speed = PCI_SPEED_UNKNOWN; > u8 pi = shpc_readb(ctrl, PROG_INTERFACE); > u32 slot_avail1 = shpc_readl(ctrl, SLOT_AVAIL1); > diff --git a/drivers/pci/hotplug/shpchp_pci.c b/drivers/pci/hotplug/shpchp_pci.c > index c627ed9..33d416d 100644 > --- a/drivers/pci/hotplug/shpchp_pci.c > +++ b/drivers/pci/hotplug/shpchp_pci.c > @@ -39,7 +39,7 @@ int __ref shpchp_configure_device(struct slot *p_slot) > struct pci_dev *dev; > struct controller *ctrl = p_slot->ctrl; > struct pci_dev *bridge = ctrl->pci_dev; > - struct pci_bus *parent = bridge->subordinate; > + struct pci_bus *parent = bridge->secondary; > int num, fn; > > dev = pci_get_slot(parent, PCI_DEVFN(p_slot->device, 0)); > @@ -87,7 +87,7 @@ int shpchp_unconfigure_device(struct slot *p_slot) > int rc = 0; > int j; > u8 bctl = 0; > - struct pci_bus *parent = p_slot->ctrl->pci_dev->subordinate; > + struct pci_bus *parent = p_slot->ctrl->pci_dev->secondary; > struct controller *ctrl = p_slot->ctrl; > > ctrl_dbg(ctrl, "%s: domain:bus:dev = %04x:%02x:%02x\n", > diff --git a/drivers/pci/hotplug/shpchp_sysfs.c b/drivers/pci/hotplug/shpchp_sysfs.c > index eeb23ce..71251a2 100644 > --- a/drivers/pci/hotplug/shpchp_sysfs.c > +++ b/drivers/pci/hotplug/shpchp_sysfs.c > @@ -44,7 +44,7 @@ static ssize_t show_ctrl (struct device *dev, struct device_attribute *attr, cha > struct pci_bus *bus; > > pdev = container_of (dev, struct pci_dev, dev); > - bus = pdev->subordinate; > + bus = pdev->secondary; > > out += sprintf(buf, "Free resources: memory\n"); > pci_bus_for_each_resource(bus, res, index) { > diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c > index fbf7b26..a091c1e 100644 > --- a/drivers/pci/pci-acpi.c > +++ b/drivers/pci/pci-acpi.c > @@ -63,8 +63,8 @@ static void pci_acpi_wake_dev(acpi_handle handle, u32 event, void *context) > pm_runtime_resume(&pci_dev->dev); > } > > - if (pci_dev->subordinate) > - pci_pme_wakeup_bus(pci_dev->subordinate); > + if (pci_dev->secondary) > + pci_pme_wakeup_bus(pci_dev->secondary); > } > > /** > diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c > index 6869009..2294faf 100644 > --- a/drivers/pci/pci-sysfs.c > +++ b/drivers/pci/pci-sysfs.c > @@ -155,7 +155,7 @@ resource_show(struct device * dev, struct device_attribute *attr, char * buf) > int max; > resource_size_t start, end; > > - if (pci_dev->subordinate) > + if (pci_dev->secondary) > max = DEVICE_COUNT_RESOURCE; > else > max = PCI_BRIDGE_RESOURCES; > @@ -245,11 +245,11 @@ msi_bus_show(struct device *dev, struct device_attribute *attr, char *buf) > { > struct pci_dev *pdev = to_pci_dev(dev); > > - if (!pdev->subordinate) > + if (!pdev->secondary) > return 0; > > return sprintf (buf, "%u\n", > - !(pdev->subordinate->bus_flags & PCI_BUS_FLAGS_NO_MSI)); > + !(pdev->secondary->bus_flags & PCI_BUS_FLAGS_NO_MSI)); > } > > static ssize_t > @@ -267,17 +267,17 @@ msi_bus_store(struct device *dev, struct device_attribute *attr, > if (!capable(CAP_SYS_ADMIN)) > return -EPERM; > > - /* Maybe pci devices without subordinate busses shouldn't even have this > + /* Maybe pci devices without secondary busses shouldn't even have this > * attribute in the first place? */ > - if (!pdev->subordinate) > + if (!pdev->secondary) > return count; > > /* Is the flag going to change, or keep the value it already had? */ > - if (!(pdev->subordinate->bus_flags & PCI_BUS_FLAGS_NO_MSI) ^ > + if (!(pdev->secondary->bus_flags & PCI_BUS_FLAGS_NO_MSI) ^ > !!val) { > - pdev->subordinate->bus_flags ^= PCI_BUS_FLAGS_NO_MSI; > + pdev->secondary->bus_flags ^= PCI_BUS_FLAGS_NO_MSI; > > - dev_warn(&pdev->dev, "forced subordinate bus to%s support MSI," > + dev_warn(&pdev->dev, "forced secondary bus to%s support MSI," > " bad things could happen\n", val ? "" : " not"); > } > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index f3ea977..8ee7a10 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -700,7 +700,7 @@ static void __pci_start_power_transition(struct pci_dev *dev, pci_power_t state) > * D0uninitialized state, resume them to give > * them a chance to suspend again > */ > - pci_wakeup_bus(dev->subordinate); > + pci_wakeup_bus(dev->secondary); > } > } > } > @@ -745,7 +745,7 @@ int __pci_complete_power_transition(struct pci_dev *dev, pci_power_t state) > ret = pci_platform_power_transition(dev, state); > /* Power off the bridge may power off the whole hierarchy */ > if (!ret && state == PCI_D3cold) > - __pci_bus_set_current_state(dev->subordinate, PCI_D3cold); > + __pci_bus_set_current_state(dev->secondary, PCI_D3cold); > return ret; > } > EXPORT_SYMBOL_GPL(__pci_complete_power_transition); > @@ -1589,8 +1589,8 @@ static void pci_pme_list_scan(struct work_struct *work) > bridge = pme_dev->dev->bus->self; > /* > * If bridge is in low power state, the > - * configuration space of subordinate devices > - * may be not accessible > + * configuration space of devices on the > + * secondary bus may be not accessible > */ > if (bridge && bridge->current_state != PCI_D0) > continue; > @@ -3302,7 +3302,7 @@ static int pci_parent_bus_reset(struct pci_dev *dev, int probe) > u16 ctrl; > struct pci_dev *pdev; > > - if (pci_is_root_bus(dev->bus) || dev->subordinate || !dev->bus->self) > + if (pci_is_root_bus(dev->bus) || dev->secondary || !dev->bus->self) > return -ENOTTY; > > list_for_each_entry(pdev, &dev->bus->devices, bus_list) > diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h > index bacbcba..9a35426 100644 > --- a/drivers/pci/pci.h > +++ b/drivers/pci/pci.h > @@ -85,7 +85,7 @@ static inline void pci_wakeup_event(struct pci_dev *dev) > > static inline bool pci_is_bridge(struct pci_dev *pci_dev) > { > - return !!(pci_dev->subordinate); > + return !!(pci_dev->secondary); > } > > struct pci_vpd_ops { > diff --git a/drivers/pci/pcie/aer/aerdrv.c b/drivers/pci/pcie/aer/aerdrv.c > index 58ad791..a475d61 100644 > --- a/drivers/pci/pcie/aer/aerdrv.c > +++ b/drivers/pci/pcie/aer/aerdrv.c > @@ -107,9 +107,9 @@ static void set_downstream_devices_error_reporting(struct pci_dev *dev, > { > set_device_error_reporting(dev, &enable); > > - if (!dev->subordinate) > + if (!dev->secondary) > return; > - pci_walk_bus(dev->subordinate, set_device_error_reporting, &enable); > + pci_walk_bus(dev->secondary, set_device_error_reporting, &enable); > } > > /** > diff --git a/drivers/pci/pcie/aer/aerdrv_core.c b/drivers/pci/pcie/aer/aerdrv_core.c > index 0ca0535..81f1eda 100644 > --- a/drivers/pci/pcie/aer/aerdrv_core.c > +++ b/drivers/pci/pcie/aer/aerdrv_core.c > @@ -226,7 +226,7 @@ static bool find_source_device(struct pci_dev *parent, > if (result) > return true; > > - pci_walk_bus(parent->subordinate, find_device_iter, e_info); > + pci_walk_bus(parent->secondary, find_device_iter, e_info); > > if (!e_info->error_dev_num) { > dev_printk(KERN_DEBUG, &parent->dev, > @@ -352,12 +352,13 @@ static pci_ers_result_t broadcast_error_message(struct pci_dev *dev, > /* > * If the error is reported by a bridge, we think this error > * is related to the downstream link of the bridge, so we > - * do error recovery on all subordinates of the bridge instead > - * of the bridge and clear the error status of the bridge. > + * do error recovery on all secondary busses of the bridge > + * instead of the bridge and clear the error status of the > + * bridge. > */ > if (cb == report_error_detected) > dev->error_state = state; > - pci_walk_bus(dev->subordinate, cb, &result_data); > + pci_walk_bus(dev->secondary, cb, &result_data); > if (cb == report_resume) { > pci_cleanup_aer_uncorrect_error_status(dev); > dev->error_state = pci_channel_io_normal; > @@ -453,7 +454,7 @@ static pci_ers_result_t reset_link(struct pci_dev *dev) > struct pcie_port_service_driver *driver; > > if (dev->hdr_type & PCI_HEADER_TYPE_BRIDGE) { > - /* Reset this port for all subordinates */ > + /* Reset this port for all secondary busses */ > udev = dev; > } else { > /* Reset the upstream component (likely downstream port) */ > diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c > index b500840..a2ed860 100644 > --- a/drivers/pci/pcie/aspm.c > +++ b/drivers/pci/pcie/aspm.c > @@ -128,7 +128,7 @@ static void pcie_set_clkpm_nocheck(struct pcie_link_state *link, int enable) > int pos; > u16 reg16; > struct pci_dev *child; > - struct pci_bus *linkbus = link->pdev->subordinate; > + struct pci_bus *linkbus = link->pdev->secondary; > > list_for_each_entry(child, &linkbus->devices, bus_list) { > pos = pci_pcie_cap(child); > @@ -161,7 +161,7 @@ static void pcie_clkpm_cap_init(struct pcie_link_state *link, int blacklist) > u32 reg32; > u16 reg16; > struct pci_dev *child; > - struct pci_bus *linkbus = link->pdev->subordinate; > + struct pci_bus *linkbus = link->pdev->secondary; > > /* All functions should have the same cap and state, take the worst */ > list_for_each_entry(child, &linkbus->devices, bus_list) { > @@ -194,7 +194,7 @@ static void pcie_aspm_configure_common_clock(struct pcie_link_state *link) > u16 reg16, parent_reg, child_reg[8]; > unsigned long start_jiffies; > struct pci_dev *child, *parent = link->pdev; > - struct pci_bus *linkbus = parent->subordinate; > + struct pci_bus *linkbus = parent->secondary; > /* > * All functions of a slot should have the same Slot Clock > * Configuration, so just check one function > @@ -360,7 +360,7 @@ static void pcie_aspm_check_latency(struct pci_dev *endpoint) > static void pcie_aspm_cap_init(struct pcie_link_state *link, int blacklist) > { > struct pci_dev *child, *parent = link->pdev; > - struct pci_bus *linkbus = parent->subordinate; > + struct pci_bus *linkbus = parent->secondary; > struct aspm_register_info upreg, dwreg; > > if (blacklist) { > @@ -457,7 +457,7 @@ static void pcie_config_aspm_link(struct pcie_link_state *link, u32 state) > { > u32 upstream = 0, dwstream = 0; > struct pci_dev *child, *parent = link->pdev; > - struct pci_bus *linkbus = parent->subordinate; > + struct pci_bus *linkbus = parent->secondary; > > /* Nothing to do if the link is already in the requested state */ > state &= (link->aspm_capable & ~link->aspm_disable); > @@ -512,7 +512,7 @@ static int pcie_aspm_sanity_check(struct pci_dev *pdev) > * Some functions in a slot might not all be PCIe functions, > * very strange. Disable ASPM for the whole slot > */ > - list_for_each_entry(child, &pdev->subordinate->devices, bus_list) { > + list_for_each_entry(child, &pdev->secondary->devices, bus_list) { > pos = pci_pcie_cap(child); > if (!pos) > return -EINVAL; > @@ -595,7 +595,7 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev) > return; > > down_read(&pci_bus_sem); > - if (list_empty(&pdev->subordinate->devices)) > + if (list_empty(&pdev->secondary->devices)) > goto out; > > mutex_lock(&aspm_lock); > @@ -643,7 +643,7 @@ static void pcie_update_aspm_capable(struct pcie_link_state *root) > } > list_for_each_entry(link, &link_list, sibling) { > struct pci_dev *child; > - struct pci_bus *linkbus = link->pdev->subordinate; > + struct pci_bus *linkbus = link->pdev->secondary; > if (link->root != root) > continue; > list_for_each_entry(child, &linkbus->devices, bus_list) { > @@ -673,7 +673,7 @@ void pcie_aspm_exit_link_state(struct pci_dev *pdev) > * All PCIe functions are in one slot, remove one function will remove > * the whole slot, so just wait until we are the last function left. > */ > - if (!list_is_last(&pdev->bus_list, &parent->subordinate->devices)) > + if (!list_is_last(&pdev->bus_list, &parent->secondary->devices)) > goto out; > > link = parent->link_state; > diff --git a/drivers/pci/pcie/pme.c b/drivers/pci/pcie/pme.c > index 001f1b7..6fa9852 100644 > --- a/drivers/pci/pcie/pme.c > +++ b/drivers/pci/pcie/pme.c > @@ -92,7 +92,7 @@ static bool pcie_pme_walk_bus(struct pci_bus *bus) > ret = true; > } > > - if (dev->subordinate && pcie_pme_walk_bus(dev->subordinate)) > + if (dev->secondary && pcie_pme_walk_bus(dev->secondary)) > ret = true; > } > > @@ -161,7 +161,7 @@ static void pcie_pme_handle_request(struct pci_dev *port, u16 req_id) > * Specification, Rev. 2.0, Section 6.1.9). > */ > down_read(&pci_bus_sem); > - found = pcie_pme_walk_bus(port->subordinate); > + found = pcie_pme_walk_bus(port->secondary); > up_read(&pci_bus_sem); > } > goto out; > @@ -328,8 +328,8 @@ static int pcie_pme_set_native(struct pci_dev *dev, void *ign) > static void pcie_pme_mark_devices(struct pci_dev *port) > { > pcie_pme_set_native(port, NULL); > - if (port->subordinate) { > - pci_walk_bus(port->subordinate, pcie_pme_set_native, NULL); > + if (port->secondary) { > + pci_walk_bus(port->secondary, pcie_pme_set_native, NULL); > } else { > struct pci_bus *bus = port->bus; > struct pci_dev *dev; > diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c > index 3a7eefc..963dc8d 100644 > --- a/drivers/pci/pcie/portdrv_pci.c > +++ b/drivers/pci/pcie/portdrv_pci.c > @@ -126,11 +126,11 @@ static int pcie_port_runtime_suspend(struct device *dev) > }; > > /* > - * If any subordinate device disable D3cold, we should not put > + * If any secondary bus device disables D3cold, we should not put > * the port into D3cold. The D3cold delay of port should be > - * the max of that of all subordinate devices. > + * the max of that of all devices on the secondary bus. > */ > - pci_walk_bus(pdev->subordinate, pci_dev_d3cold_info, &d3cold_info); > + pci_walk_bus(pdev->secondary, pci_dev_d3cold_info, &d3cold_info); > pdev->no_d3cold = d3cold_info.no_d3cold; > pdev->d3cold_delay = d3cold_info.d3cold_delay; > return 0; > diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c > index 6c143b4..96b069c 100644 > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -658,7 +658,7 @@ static struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent, > child->resource[i] = &bridge->resource[PCI_BRIDGE_RESOURCES+i]; > child->resource[i]->name = child->name; > } > - bridge->subordinate = child; > + bridge->secondary = child; > > return child; > } > @@ -1887,7 +1887,7 @@ EXPORT_SYMBOL(pci_scan_bus); > unsigned int __ref pci_rescan_bus_bridge_resize(struct pci_dev *bridge) > { > unsigned int max; > - struct pci_bus *bus = bridge->subordinate; > + struct pci_bus *bus = bridge->secondary; > > max = pci_scan_child_bus(bus); > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > index 5155317..06680ca 100644 > --- a/drivers/pci/quirks.c > +++ b/drivers/pci/quirks.c > @@ -713,7 +713,7 @@ static void __devinit quirk_xio2000a(struct pci_dev *dev) > > dev_warn(&dev->dev, "TI XIO2000a quirk detected; " > "secondary bus fast back-to-back transfers disabled\n"); > - list_for_each_entry(pdev, &dev->subordinate->devices, bus_list) { > + list_for_each_entry(pdev, &dev->secondary->devices, bus_list) { > pci_read_config_word(pdev, PCI_COMMAND, &command); > if (command & PCI_COMMAND_FAST_BACK) > pci_write_config_word(pdev, PCI_COMMAND, command & ~PCI_COMMAND_FAST_BACK); > @@ -803,10 +803,10 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_ANY_ID, quirk_ioapic_rmw); > */ > static void __devinit quirk_amd_8131_mmrbc(struct pci_dev *dev) > { > - if (dev->subordinate && dev->revision <= 0x12) { > + if (dev->secondary && dev->revision <= 0x12) { > dev_info(&dev->dev, "AMD8131 rev %x detected; " > "disabling PCI-X MMRBC\n", dev->revision); > - dev->subordinate->bus_flags |= PCI_BUS_FLAGS_NO_MMRBC; > + dev->secondary->bus_flags |= PCI_BUS_FLAGS_NO_MMRBC; > } > } > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8131_BRIDGE, quirk_amd_8131_mmrbc); > @@ -2148,10 +2148,9 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8380_0, quirk_disab > /* Disable MSI on chipsets that are known to not support it */ > static void __devinit quirk_disable_msi(struct pci_dev *dev) > { > - if (dev->subordinate) { > - dev_warn(&dev->dev, "MSI quirk detected; " > - "subordinate MSI disabled\n"); > - dev->subordinate->bus_flags |= PCI_BUS_FLAGS_NO_MSI; > + if (dev->secondary) { > + dev_warn(&dev->dev, "MSI quirk detected; secondary bus MSI disabled\n"); > + dev->secondary->bus_flags |= PCI_BUS_FLAGS_NO_MSI; > } > } > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8131_BRIDGE, quirk_disable_msi); > @@ -2206,10 +2205,9 @@ static int msi_ht_cap_enabled(struct pci_dev *dev) > /* Check the hypertransport MSI mapping to know whether MSI is enabled or not */ > static void quirk_msi_ht_cap(struct pci_dev *dev) > { > - if (dev->subordinate && !msi_ht_cap_enabled(dev)) { > - dev_warn(&dev->dev, "MSI quirk detected; " > - "subordinate MSI disabled\n"); > - dev->subordinate->bus_flags |= PCI_BUS_FLAGS_NO_MSI; > + if (dev->secondary && !msi_ht_cap_enabled(dev)) { > + dev_warn(&dev->dev, "MSI quirk detected; secondary bus MSI disabled\n"); > + dev->secondary->bus_flags |= PCI_BUS_FLAGS_NO_MSI; > } > } > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_HT2000_PCIE, > @@ -2222,7 +2220,7 @@ static void quirk_nvidia_ck804_msi_ht_cap(struct pci_dev *dev) > { > struct pci_dev *pdev; > > - if (!dev->subordinate) > + if (!dev->secondary) > return; > > /* check HT MSI cap on this chipset and the root one. > @@ -2232,9 +2230,8 @@ static void quirk_nvidia_ck804_msi_ht_cap(struct pci_dev *dev) > if (!pdev) > return; > if (!msi_ht_cap_enabled(dev) && !msi_ht_cap_enabled(pdev)) { > - dev_warn(&dev->dev, "MSI quirk detected; " > - "subordinate MSI disabled\n"); > - dev->subordinate->bus_flags |= PCI_BUS_FLAGS_NO_MSI; > + dev_warn(&dev->dev, "MSI quirk detected; secondary bus MSI disabled\n"); > + dev->secondary->bus_flags |= PCI_BUS_FLAGS_NO_MSI; > } > pci_dev_put(pdev); > } > diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c > index 04a4861..7cadc71 100644 > --- a/drivers/pci/remove.c > +++ b/drivers/pci/remove.c > @@ -84,7 +84,7 @@ static void __pci_remove_behind_bridge(struct pci_dev *dev); > * @dev: the device to remove > * > * Remove a PCI device from the device lists, informing the drivers > - * that the device has been removed. We also remove any subordinate > + * that the device has been removed. We also remove any secondary > * buses and children in a depth-first manner. > * > * For each device we remove, delete the device structure from the > @@ -93,12 +93,12 @@ static void __pci_remove_behind_bridge(struct pci_dev *dev); > */ > void __pci_remove_bus_device(struct pci_dev *dev) > { > - if (dev->subordinate) { > - struct pci_bus *b = dev->subordinate; > + if (dev->secondary) { > + struct pci_bus *b = dev->secondary; > > __pci_remove_behind_bridge(dev); > pci_remove_bus(b); > - dev->subordinate = NULL; > + dev->secondary = NULL; > } > > pci_destroy_dev(dev); > @@ -115,8 +115,8 @@ static void __pci_remove_behind_bridge(struct pci_dev *dev) > { > struct list_head *l, *n; > > - if (dev->subordinate) > - list_for_each_safe(l, n, &dev->subordinate->devices) > + if (dev->secondary) > + list_for_each_safe(l, n, &dev->secondary->devices) > __pci_remove_bus_device(pci_dev_b(l)); > } > > @@ -124,8 +124,8 @@ static void pci_stop_behind_bridge(struct pci_dev *dev) > { > struct list_head *l, *n; > > - if (dev->subordinate) > - list_for_each_safe(l, n, &dev->subordinate->devices) > + if (dev->secondary) > + list_for_each_safe(l, n, &dev->secondary->devices) > pci_stop_bus_device(pci_dev_b(l)); > } > > @@ -167,13 +167,13 @@ static void pci_stop_bus_devices(struct pci_bus *bus) > * @dev: the device to stop > * > * Stop a PCI device (detach the driver, remove from the global list > - * and so on). This also stop any subordinate buses and children in a > + * and so on). This also stop any secondary buses and children in a > * depth-first manner. > */ > void pci_stop_bus_device(struct pci_dev *dev) > { > - if (dev->subordinate) > - pci_stop_bus_devices(dev->subordinate); > + if (dev->secondary) > + pci_stop_bus_devices(dev->secondary); > > pci_stop_dev(dev); > } > diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c > index fb50613..06522da 100644 > --- a/drivers/pci/setup-bus.c > +++ b/drivers/pci/setup-bus.c > @@ -1013,7 +1013,7 @@ void __ref __pci_bus_size_bridges(struct pci_bus *bus, > resource_size_t additional_mem_size = 0, additional_io_size = 0; > > list_for_each_entry(dev, &bus->devices, bus_list) { > - struct pci_bus *b = dev->subordinate; > + struct pci_bus *b = dev->secondary; > if (!b) > continue; > > @@ -1086,7 +1086,7 @@ static void __ref __pci_bus_assign_resources(const struct pci_bus *bus, > pbus_assign_resources_sorted(bus, realloc_head, fail_head); > > list_for_each_entry(dev, &bus->devices, bus_list) { > - b = dev->subordinate; > + b = dev->secondary; > if (!b) > continue; > > @@ -1125,7 +1125,7 @@ static void __ref __pci_bridge_assign_resources(const struct pci_dev *bridge, > pdev_assign_resources_sorted((struct pci_dev *)bridge, > add_head, fail_head); > > - b = bridge->subordinate; > + b = bridge->secondary; > if (!b) > return; > > @@ -1204,7 +1204,7 @@ static void __ref pci_bus_release_bridge_resources(struct pci_bus *bus, > bool is_leaf_bridge = true; > > list_for_each_entry(dev, &bus->devices, bus_list) { > - struct pci_bus *b = dev->subordinate; > + struct pci_bus *b = dev->secondary; > if (!b) > continue; > > @@ -1250,7 +1250,7 @@ static void pci_bus_dump_resources(struct pci_bus *bus) > pci_bus_dump_res(bus); > > list_for_each_entry(dev, &bus->devices, bus_list) { > - b = dev->subordinate; > + b = dev->secondary; > if (!b) > continue; > > @@ -1265,7 +1265,7 @@ static int __init pci_bus_get_depth(struct pci_bus *bus) > > list_for_each_entry(dev, &bus->devices, bus_list) { > int ret; > - struct pci_bus *b = dev->subordinate; > + struct pci_bus *b = dev->secondary; > if (!b) > continue; > > @@ -1383,7 +1383,7 @@ again: > if (tried_times + 1 == pci_try_num) > add_list = &realloc_head; > /* Depth first, calculate sizes and alignments of all > - subordinate buses. */ > + secondary buses. */ > list_for_each_entry(bus, &pci_root_buses, node) > __pci_bus_size_bridges(bus, add_list); > > @@ -1432,7 +1432,7 @@ again: > res->start = fail_res->start; > res->end = fail_res->end; > res->flags = fail_res->flags; > - if (fail_res->dev->subordinate) > + if (fail_res->dev->secondary) > res->flags = 0; > } > free_list(&fail_head); > @@ -1451,7 +1451,7 @@ enable_and_dump: > > void pci_assign_unassigned_bridge_resources(struct pci_dev *bridge) > { > - struct pci_bus *parent = bridge->subordinate; > + struct pci_bus *parent = bridge->secondary; > LIST_HEAD(add_list); /* list of resources that > want additional resources */ > int tried_times = 0; > @@ -1497,7 +1497,7 @@ again: > res->start = fail_res->start; > res->end = fail_res->end; > res->flags = fail_res->flags; > - if (fail_res->dev->subordinate) > + if (fail_res->dev->secondary) > res->flags = 0; > } > free_list(&fail_head); > @@ -1519,7 +1519,7 @@ EXPORT_SYMBOL_GPL(pci_assign_unassigned_bridge_resources); > * Scan a PCI bus and child buses for new devices, adds them, > * and enables them. > * > - * Returns the max number of subordinate bus discovered. > + * Returns the max number of secondary busses discovered. > */ > unsigned int __ref pci_rescan_bus(struct pci_bus *bus) > { > @@ -1534,8 +1534,8 @@ unsigned int __ref pci_rescan_bus(struct pci_bus *bus) > list_for_each_entry(dev, &bus->devices, bus_list) > if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE || > dev->hdr_type == PCI_HEADER_TYPE_CARDBUS) > - if (dev->subordinate) > - __pci_bus_size_bridges(dev->subordinate, > + if (dev->secondary) > + __pci_bus_size_bridges(dev->secondary, > &add_list); > up_read(&pci_bus_sem); > __pci_bus_assign_resources(bus, &add_list, NULL); > diff --git a/drivers/pcmcia/cardbus.c b/drivers/pcmcia/cardbus.c > index 24caeaf..2deff92 100644 > --- a/drivers/pcmcia/cardbus.c > +++ b/drivers/pcmcia/cardbus.c > @@ -52,8 +52,8 @@ static void cardbus_config_irq_and_cls(struct pci_bus *bus, int irq) > */ > pci_set_cacheline_size(dev); > > - if (dev->subordinate) > - cardbus_config_irq_and_cls(dev->subordinate, irq); > + if (dev->secondary) > + cardbus_config_irq_and_cls(dev->secondary, irq); > } > } > > @@ -66,7 +66,7 @@ static void cardbus_config_irq_and_cls(struct pci_bus *bus, int irq) > */ > int __ref cb_alloc(struct pcmcia_socket *s) > { > - struct pci_bus *bus = s->cb_dev->subordinate; > + struct pci_bus *bus = s->cb_dev->secondary; > struct pci_dev *dev; > unsigned int max, pass; > > diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c > index 667678d..e269ad6 100644 > --- a/drivers/pcmcia/yenta_socket.c > +++ b/drivers/pcmcia/yenta_socket.c > @@ -703,7 +703,7 @@ static int yenta_allocate_res(struct yenta_socket *socket, int nr, unsigned type > if (type & IORESOURCE_IO) > mask = ~3; > > - res->name = dev->subordinate->name; > + res->name = dev->secondary->name; > res->flags = type; > > region.start = config_readl(socket, addr_start) & mask; > @@ -760,7 +760,7 @@ static void yenta_allocate_resources(struct yenta_socket *socket) > program += yenta_allocate_res(socket, 3, IORESOURCE_MEM, > PCI_CB_MEMORY_BASE_1, PCI_CB_MEMORY_LIMIT_1); > if (program) > - pci_setup_cardbus(socket->dev->subordinate); > + pci_setup_cardbus(socket->dev->secondary); > } > > > @@ -1047,10 +1047,14 @@ static void yenta_config_init(struct yenta_socket *socket) > config_writeb(socket, PCI_CACHE_LINE_SIZE, L1_CACHE_BYTES / 4); > config_writeb(socket, PCI_LATENCY_TIMER, 168); > config_writel(socket, PCI_PRIMARY_BUS, > - (176 << 24) | /* sec. latency timer */ > - ((unsigned int)dev->subordinate->busn_res.end << 16) | /* subordinate bus */ > - ((unsigned int)dev->subordinate->busn_res.start << 8) | /* secondary bus */ > - dev->subordinate->primary); /* primary bus */ > + /* sec. latency timer */ > + (176 << 24) | > + /* subordinate bus */ > + ((unsigned int)dev->secondary->busn_res.end << 16) | > + /* secondary bus */ > + ((unsigned int)dev->secondary->busn_res.start << 8) | > + /* primary bus */ > + dev->secondary->primary); > > /* > * Set up the bridging state: > @@ -1149,10 +1153,10 @@ static int __devinit yenta_probe(struct pci_dev *dev, const struct pci_device_id > > /* > * If we failed to assign proper bus numbers for this cardbus > - * controller during PCI probe, its subordinate pci_bus is NULL. > + * controller during PCI probe, its secondary pci_bus is NULL. > * Bail out if so. > */ > - if (!dev->subordinate) { > + if (!dev->secondary) { > dev_printk(KERN_ERR, &dev->dev, "no bus associated! " > "(try 'pci=assign-busses')\n"); > return -ENODEV; > @@ -1257,7 +1261,7 @@ static int __devinit yenta_probe(struct pci_dev *dev, const struct pci_device_id > dev_printk(KERN_INFO, &dev->dev, > "Socket status: %08x\n", cb_readl(socket, CB_SOCKET_STATE)); > > - yenta_fixup_parent_bridge(dev->subordinate); > + yenta_fixup_parent_bridge(dev->secondary); > > /* Register it with the pcmcia layer.. */ > ret = pcmcia_register_socket(&socket->socket); > diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c > index dab91b4..70baae2 100644 > --- a/drivers/platform/x86/eeepc-laptop.c > +++ b/drivers/platform/x86/eeepc-laptop.c > @@ -606,7 +606,7 @@ static void eeepc_rfkill_hotplug(struct eeepc_laptop *eeepc, acpi_handle handle) > goto out_unlock; > } > > - bus = port->subordinate; > + bus = port->secondary; > > if (!bus) { > pr_warn("Unable to find PCI bus 1?\n"); > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 5faa831..ad5cbfa 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -239,7 +239,7 @@ struct pci_ats; > struct pci_dev { > struct list_head bus_list; /* node in per-bus list */ > struct pci_bus *bus; /* bus this device is on */ > - struct pci_bus *subordinate; /* bus this device bridges to */ > + struct pci_bus *secondary; /* bus this device bridges to */ > > void *sysdata; /* hook for sys-specific extension */ > struct proc_dir_entry *procent; /* device entry in /proc/bus/pci */ > -- > 1.7.9.3 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html