On Fri, 2016-08-05 at 21:20 +0000, york sun wrote: > On 08/05/2016 02:09 PM, Scott Wood wrote: > > > > On Fri, 2016-08-05 at 20:29 +0000, york sun wrote: > > > > > > On 08/04/2016 08:43 PM, Michael Ellerman wrote: > > > > > > > > > > > > Does the driver really need to use these routines? They're meant for > > > > use > > > > early in boot, before PCI is setup. > > > > > > > > AFAICS this is just a regular driver, so when it's probed the PCI > > > > devices should have already been scanned. In which case > > > > pci_get_device() > > > > could work couldn't it? (I see other edac drivers doing that). > > > I am trying to fix this but need some help. We are dealing with PCIe > > > controller here. Does it have a bus number assigned at this point? If > > > yes, how can I find it? I seem not able to find out where the > > > platform_data is filled as well. Can someone kindly point it out to me? > > > > The platform data comes from add_err_dev() in > > arch/powerpc/sysdev/fsl_pci.c. > > > Thanks, Scott. > > When add_err_dev() is called, pci is not scanned, is using > early_find_capability() justified?
The edac driver is registered with a normal device-level initcall. The PCI scanning appears to happen at the subsys initcall level. -Scott