mirror of https://gitee.com/openkylin/linux.git
ba764dd703
Currently zpci_create_device() is only called in clp_add_pci_device() which allocates the memory for the struct zpci_dev being created. There is little separation of concerns as only both functions together can create a zpci_dev and the only CLP specific code in clp_add_pci_device() is a call to clp_query_pci_fn(). Improve this by removing clp_add_pci_device() and refactor zpci_create_device() such that it alone creates and initializes the zpci_dev given the FID and Function Handle. For this we need to make clp_query_pci_fn() non-static. While at it remove the function handle parameter since we can just take that from the zpci_dev. Also move adding to the zpci_list to after the zdev has been fully created which eliminates a window where a partially initialized zdev can be found by get_zdev_by_fid(). Acked-by: Pierre Morel <pmorel@linux.ibm.com> Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> |
||
---|---|---|
.. | ||
Makefile | ||
pci.c | ||
pci_bus.c | ||
pci_bus.h | ||
pci_clp.c | ||
pci_debug.c | ||
pci_dma.c | ||
pci_event.c | ||
pci_insn.c | ||
pci_iov.c | ||
pci_iov.h | ||
pci_irq.c | ||
pci_mmio.c | ||
pci_sysfs.c |