From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com ([217.140.101.70]:52034 "EHLO usa-sjc-mx-foss1.foss.arm.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753250AbbBPRqQ (ORCPT ); Mon, 16 Feb 2015 12:46:16 -0500 Date: Mon, 16 Feb 2015 17:46:29 +0000 From: Lorenzo Pieralisi To: Thomas Petazzoni Cc: Yijing Wang , Bjorn Helgaas , Jiang Liu , "linux-pci@vger.kernel.org" , Yinghai Lu , "linux-kernel@vger.kernel.org" , Marc Zyngier , "linux-arm-kernel@lists.infradead.org" , Russell King , "x86@kernel.org" , Thomas Gleixner , Benjamin Herrenschmidt , Rusty Russell , Tony Luck , "linux-ia64@vger.kernel.org" , "David S. Miller" , Guan Xuetao , "linux-alpha@vger.kernel.org" , "linux-m68k@vger.kernel.org" , Liviu Dudau , Arnd Bergmann , Geert Uytterhoeven , Jason Cooper , Gregory =?iso-8859-1?Q?Cl=E9ment?= , Lior Amsalem , Nadav Haklai Subject: Re: [PATCH v2 23/30] PCI/mvebu: Use pci_common_init_dev() to simplify code Message-ID: <20150216174628.GA13861@red-moon> References: <1421800225-26230-1-git-send-email-wangyijing@huawei.com> <1421800225-26230-24-git-send-email-wangyijing@huawei.com> <20150122184000.63ba06bb@free-electrons.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <20150122184000.63ba06bb@free-electrons.com> Sender: linux-pci-owner@vger.kernel.org List-ID: 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: > > 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 > > CC: Thomas Petazzoni > > CC: Jason Cooper > > 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >