Thread (46 messages) 46 messages, 6 authors, 2015-02-26

[PATCH v2 23/30] PCI/mvebu: Use pci_common_init_dev() to simplify code

From: Lorenzo Pieralisi <hidden>
Date: 2015-02-16 17:46:18
Also in: linux-alpha, linux-m68k, linux-pci, lkml

Hi Thomas,

On Thu, Jan 22, 2015 at 05:40:00PM +0000, Thomas Petazzoni wrote:
Dear Yijing Wang,

On Wed, 21 Jan 2015 08:30:18 +0800, Yijing Wang wrote:
quoted
Mvebu_pcie_scan_bus() is not necessary, we could use
pci_common_init_dev() instead of pci_common_init(),
and pass the device pointer as the parent. Then
pci_scan_root_bus() will be called to scan the pci busses.

Signed-off-by: Yijing Wang <redacted>
CC: Thomas Petazzoni <redacted>
CC: Jason Cooper <redacted>
While I'm fine with the change to pci_common_init_dev(), I am not so
sure about the removal of mvebu_pcie_scan_bus(). I vaguely remember
that we intentionally did not use the default function for a specific
reason. Of course, this was a long time ago, and I don't remember the
reason. I would have to take a bit of time to 1/ review the archives of
the discussion surrounding the pcie-mvebu driver, and 2/ test your
patch to validate it works fine on HW.
I guess the reason: by providing the scan pointer to pcibios through
the hw_pci struct you were preventing calling pci_scan_root_bus() in
bios32.c that in turn can add devices before the resources are assigned.

Basically mvebu_pci_scan_bus() was doing what pci_scan_root_bus() does
except for calling pci_bus_add_devices().

Yijing patches remove pci_bus_add_devices() from pci_scan_root_bus() so
his change should be fine and it actually improves the current behaviour
which is quite hard to untangle, and not just on mvebu (I suspect
drivers/pci/host/pcie-xilinx.c can suffer from the same problem).

Lorenzo
Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help