> -----Original Message----- > From: Arnd Bergmann [mailto:arnd@xxxxxxxx] > Sent: Wednesday, October 14, 2015 10:42 AM > To: Gabriele Paoloni > Cc: Wangzhou (B); Bjorn Helgaas; Bjorn Helgaas; jingoohan1@xxxxxxxxx; > pratyush.anand@xxxxxxxxx; linux@xxxxxxxxxxxxxxxx; > thomas.petazzoni@xxxxxxxxxxxxxxxxxx; lorenzo.pieralisi@xxxxxxx; > james.morse@xxxxxxx; Liviu.Dudau@xxxxxxx; jason@xxxxxxxxxxxxxx; > robh@xxxxxxxxxx; gabriel.fernandez@xxxxxxxxxx; > Minghuan.Lian@xxxxxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx; linux-arm- > kernel@xxxxxxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; zhangjukuo; qiuzhenfa; liudongdong (C); > qiujiang; xuwei (O); Liguozhu (Kenneth); Wangkefeng (Kevin); Rob > Herring > Subject: Re: [PATCH v10 4/6] PCI: hisi: Add PCIe host support for > HiSilicon SoC Hip05 > > On Wednesday 14 October 2015 09:31:48 Gabriele Paoloni wrote: > > > > > > > To me it sounds more appropriate to adopt subsys_initcall() for > all > > > the > > > > PCI Host Bridge controllers rather than having them as loadable > > > modules... > > > > > > > > What is your view? > > > > > > subsys_initcall() sounds odd because it's a driver rather than a > > > subsystem, > > > but I realize that most of the other levels don't fit any better. > > > > Yes well I was seeing for example the vgaarb > > http://lxr.free-electrons.com/source/drivers/gpu/vga/vgaarb.c#L1357 > > > > That in the init is calling pci_get_subsys() > > > > So I was wondering that the PCI devices may not be registered unless > > we also init the PCI host bridge through subsys_initcall()... > > I think this should work as is: the code first looks for devices > that are already there and then registers a notifier for devices > that show up later. This is meant to work for both devices that > are hotplugged at a later point as well as PCI buses that are > already there but not yet probed. > > > But then maybe is the vgaarb to be buggy... > > Possible. It may well be that the code is only tested on x86, > which always probes its PCI very early. > > > > As I said, it's not really a choice we have to make in the source > code, > > > we can use subsys_initcall together with module_exit(), or we can > > > create a helper macro that is similar to module_platform_driver() > > > specifically for PCI that uses a particular initcall level. > > > > Ok got it. But I guess this needs to be thought and applied to all > > the PCI host bridge controllers... > > > > So maybe for this driver I can use module_platform_driver_probe() > > and then we can see... > > Sounds good. Let's focus on getting the driver merged first and > then follow up with a patch to get this right for all PCI hosts. Ok good let's do like this then will change in v11 Again Many Thanks Gab > > Arnd -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html