linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Noever <andreas.noever@gmail.com>
To: linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
	bhelgaas@google.com
Cc: Andreas Noever <andreas.noever@gmail.com>
Subject: [PATCH 6/8] PCI: Remove pci_fixup_parent_subordinate_busnr.
Date: Thu, 23 Jan 2014 21:59:26 +0100	[thread overview]
Message-ID: <1390510768-5652-7-git-send-email-andreas.noever@gmail.com> (raw)
In-Reply-To: <1390510768-5652-1-git-send-email-andreas.noever@gmail.com>

The function has no effect.

If pcibios_assign_all_busses() is not set then the function does nothing.

If it is set then in pci_scan_bridge we are always in the branch where
we assign the bus numbers ourselves and the subordinate values of all
parent busses will be set to 0xff since that is what they inherited from
their parent bus and ultimately from the root bus.

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
---
 drivers/pci/probe.c | 30 ------------------------------
 1 file changed, 30 deletions(-)

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 42ee0c0..90d5c48 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -731,22 +731,6 @@ struct pci_bus *__ref pci_add_new_bus(struct pci_bus *parent, struct pci_dev *de
 	return child;
 }
 
-static void pci_fixup_parent_subordinate_busnr(struct pci_bus *child, int max)
-{
-	struct pci_bus *parent = child->parent;
-
-	/* Attempts to fix that up are really dangerous unless
-	   we're going to re-assign all bus numbers. */
-	if (!pcibios_assign_all_busses())
-		return;
-
-	while (parent->parent && parent->busn_res.end < max) {
-		parent->busn_res.end = max;
-		pci_write_config_byte(parent->self, PCI_SUBORDINATE_BUS, max);
-		parent = parent->parent;
-	}
-}
-
 /*
  * If it's a bridge, configure it and scan the bus behind it.
  * For CardBus bridges, we don't scan behind as the devices will
@@ -879,20 +863,7 @@ int pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max, int pass)
 
 		if (!is_cardbus) {
 			child->bridge_ctl = bctl;
-			/*
-			 * Adjust subordinate busnr in parent buses.
-			 * We do this before scanning for children because
-			 * some devices may not be detected if the bios
-			 * was lazy.
-			 */
-			pci_fixup_parent_subordinate_busnr(child, max);
-			/* Now we can scan all subordinate buses... */
 			max = pci_scan_child_bus(child);
-			/*
-			 * now fix it up again since we have found
-			 * the real value of max.
-			 */
-			pci_fixup_parent_subordinate_busnr(child, max);
 		} else {
 			/*
 			 * For CardBus bridges, we leave 4 bus numbers
@@ -923,7 +894,6 @@ int pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max, int pass)
 				}
 			}
 			max += i;
-			pci_fixup_parent_subordinate_busnr(child, max);
 		}
 		/*
 		 * Set the subordinate bus number to its real value.
-- 
1.8.5.3


  parent reply	other threads:[~2014-01-23 20:59 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-23 20:59 [PATCH 0/8] PCI: cleanup pci_scan_bridge Andreas Noever
2014-01-23 20:59 ` [PATCH 1/8] PCI: Increment max correctly in pci_scan_bridge Andreas Noever
2014-01-23 20:59 ` [PATCH 2/8] PCI: Clarify the "scan anyway" comment " Andreas Noever
2014-01-23 20:59 ` [PATCH 3/8] PCI: Assign CardBus bus number only during the second pass Andreas Noever
2014-01-23 20:59 ` [PATCH 4/8] PCI: Use request_resource_conflict instead of insert_ for bus numbers Andreas Noever
2014-01-23 20:59 ` [PATCH 5/8] PCI: Make sure bus number resources stay within their parents bounds Andreas Noever
2014-01-23 20:59 ` Andreas Noever [this message]
2014-01-23 20:59 ` [PATCH 7/8] PCI: Check for child busses which use more bus numbers than allocated Andreas Noever
2014-01-23 20:59 ` [PATCH 8/8] PCI: Don't scan random busses in pci_scan_bridge Andreas Noever
2014-02-11  0:16 ` [PATCH 0/8] PCI: cleanup pci_scan_bridge Bjorn Helgaas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1390510768-5652-7-git-send-email-andreas.noever@gmail.com \
    --to=andreas.noever@gmail.com \
    --cc=bhelgaas@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).