Re: [PATCH] pci, rename subordinate bus to secondary bus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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, &reg16);
>                 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


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux