Re: [PATCH] powerpc/pci: Improve device hotplug initialization
From: Guenter Roeck <linux@roeck-us.net>
Date: 2013-06-03 04:11:18
Also in:
lkml
On Mon, Jun 03, 2013 at 10:28:47AM +0800, Chen Yuanquan-B41889 wrote:
On 06/01/2013 09:58 PM, Guenter Roeck wrote:quoted
On Fri, May 31, 2013 at 03:44:07PM +1000, Benjamin Herrenschmidt wrote:quoted
On Thu, 2013-05-30 at 22:14 -0700, Guenter Roeck wrote:quoted
On Wed, May 29, 2013 at 05:30:41PM +0800, Chen Yuanquan-B41889 wrote:quoted
On 05/29/2013 01:35 AM, Guenter Roeck wrote:quoted
bios_add_device(). Drop explicit calls to pcibios_setup_device(); this makes pcibios_setup_bus_devices() a noop function which could eveYeah, it's more reasonable to do the irq and DMA related initialization in one code path for all devices.Any comments / feedback on the code itself ?Sorry, I haven't had a chance to review it yet, I'm fairly bogged down at the moment. I want to tread carefully because the previous iteration of changing that stuff did break a few platforms in the end.Hi Ben, the comment was actuially directed towards Yuanquan. No problem, take your time. I did my best to test it, but I agree that this is a critical area of the code, and it would be desirable to get additional scrutiny and test feedback. The code has been running in our system (P2020 and P5040) for several months. I was preparing a patch for upstream submission when I noticed commit 37f02195b. After testing ithis commit, I noticed the problems with it and wrote this patch, which aligns the code with our initial patch. I tested it as good as I could on our systems as well as with a P5040 evaluation board and an Intel GE PCIe card. Thanks, GuenterHi Guenter, Your patch makes sure the initialization of DMA and irq in one code path and also avoids the initialization called two times(in pci bus scanning and pci_enable_device() in device driver) for no-hot-plugged pci device. It's much more reasonable! I don't know why you also remove the function "set_dev_node()" ? As I know, the function just be called here. I think it should remain in your new function pcibios_add_device().
pcibios_add_device() is (only) called from pci_device_add(), which already calls set_dev_node(). Guenter