The EEH was implemented for PowerNV platform with 2 layers, which are supported by "struct eeh_ops" and "struct pnv_eeh_ops" separately. The latter, called chip layer, was introduced for EEH guest support initially. However, the EEH guest support was implemented depending on "struct eeh_ops" completely. So it's uncessary to maintain 2 layers for EEH implementation on PowerNV platform, as Ben pointed out.
The series of patches is pretty much mechanically to move all functions in eeh-ioda.c to eeh-powernv.c, which enables us to remove the chip layer, equivalently to remove "struct pnv_eeh_ops" and eeh-ioda.c, to have simplifed EEH implementation on PowerNV platform. Gavin Shan (10): powerpc/powernv: Shorten EEH function names powerpc/powernv: Drop PHB operation err_inject() powerpc/powernv: Drop PHB operation post_init() powerpc/powernv: Drop PHB operation get_log() powerpc/powernv: Drop PHB operation configure_bridge() powerpc/powernv: Drop PHB operation set_option() powerpc/powernv: Drop PHB operation get_state() powerpc/powernv: Drop PHB operation next_error() powerpc/powernv: Drop PHB operation reset() powerpc/powernv: Remove unused file arch/powerpc/platforms/powernv/Makefile | 2 +- arch/powerpc/platforms/powernv/eeh-ioda.c | 1149 -------------------------- arch/powerpc/platforms/powernv/eeh-powernv.c | 1146 ++++++++++++++++++++++--- arch/powerpc/platforms/powernv/pci-ioda.c | 7 +- arch/powerpc/platforms/powernv/pci.h | 25 +- 5 files changed, 1041 insertions(+), 1288 deletions(-) delete mode 100644 arch/powerpc/platforms/powernv/eeh-ioda.c -- 1.8.3.2 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev