powerpc/eeh: Refactor to use pci_dn Currently, EEH depends on device_node or pci_dev heavily. Unfortunately, SRIOV VFs are supported depending on pci_dn heavily, which is conflicting with EEH implementation. In order for better support EEH on SRIOV VF, the EEH is better to be changed a bit to depend on pci_dn, which is exactly what the patchset does.
The patchset is expected to merged after the patchset "EEH cleanup to remove chip layer for PowerNV", before "SRIOV patchset". The first two patches are extracted from SRIOV patchset to make this patchset self-contained. Changelog ========= v1 -> v2: * Remove SRIOV PF/VFs related logics in pci_dn.c and the flag for VF's pci_dn in pci-bridge.h; * Dereference "struct pci_dn *pci_data", not "void *firmware_data" from "struct dev_archdata" and "struct pci_controller"; * Move changes to eeh_restore_dev_state() from PATCH[7/7] to PATCH[6/7] to avoid build error caused by PATCH[6/7]; Gavin Shan (7): powerpc/pci: Refactor pci_dn powerpc/powernv: Use pci_dn, not device_node, in PCI config accessor powerpc/pci: Trace more information from pci_dn powerpc/eeh: Create eeh_dev from pci_dn instead of device_node powerpc/eeh: Do probe on pci_dn powerpc/eeh: Replace device_node with pci_dn in eeh_ops powerpc/eeh: Remove device_node dependency arch/powerpc/include/asm/device.h | 6 + arch/powerpc/include/asm/eeh.h | 28 ++-- arch/powerpc/include/asm/pci-bridge.h | 28 ++-- arch/powerpc/include/asm/ppc-pci.h | 3 + arch/powerpc/kernel/eeh.c | 127 ++++++++---------- arch/powerpc/kernel/eeh_cache.c | 25 ++-- arch/powerpc/kernel/eeh_dev.c | 14 +- arch/powerpc/kernel/eeh_driver.c | 22 --- arch/powerpc/kernel/eeh_pe.c | 116 +++++++++------- arch/powerpc/kernel/of_platform.c | 2 +- arch/powerpc/kernel/pci-hotplug.c | 2 +- arch/powerpc/kernel/pci_dn.c | 180 ++++++++++++++++++++++++- arch/powerpc/kernel/pci_of_scan.c | 2 +- arch/powerpc/kernel/rtas_pci.c | 2 +- arch/powerpc/platforms/powernv/eeh-powernv.c | 192 +++++++++++++++++++-------- arch/powerpc/platforms/powernv/pci.c | 69 ++++------ arch/powerpc/platforms/powernv/pci.h | 4 +- arch/powerpc/platforms/pseries/eeh_pseries.c | 98 +++++--------- arch/powerpc/platforms/pseries/msi.c | 6 +- arch/powerpc/platforms/pseries/pci_dlpar.c | 2 +- arch/powerpc/platforms/pseries/setup.c | 2 +- drivers/pci/hotplug/rpadlpar_core.c | 2 +- 22 files changed, 563 insertions(+), 369 deletions(-) -- 1.8.3.2 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev