On 1/23/18 7:14 PM, Michael Ellerman wrote: > "Bryant G. Ly" <bryantly@xxxxxxxxxxxxxxxxxx> writes: > >> To correctly use EEH code one has to make >> sure that the EEH_PE_VF is set for dynamic created >> VFs. Therefore this patch allocates an eeh_pe of >> eeh type EEH_PE_VF and associates PE with parent. >> >> Signed-off-by: Bryant G. Ly <bryantly@xxxxxxxxxxxxxxxxxx> >> Signed-off-by: Juan J. Alvarez <jjalvare@xxxxxxxxxxxxxxxxxx> >> --- >> arch/powerpc/include/asm/pci-bridge.h | 5 ++++- >> arch/powerpc/platforms/pseries/eeh_pseries.c | 17 +++++++++++++++++ >> 2 files changed, 21 insertions(+), 1 deletion(-) >> >> diff --git a/arch/powerpc/include/asm/pci-bridge.h b/arch/powerpc/include/asm/pci-bridge.h >> index 9f66ddebb799..16d70740a76f 100644 >> --- a/arch/powerpc/include/asm/pci-bridge.h >> +++ b/arch/powerpc/include/asm/pci-bridge.h >> @@ -211,7 +211,10 @@ struct pci_dn { >> unsigned int *pe_num_map; /* PE# for the first VF PE or array */ >> bool m64_single_mode; /* Use M64 BAR in Single Mode */ >> #define IODA_INVALID_M64 (-1) >> - int (*m64_map)[PCI_SRIOV_NUM_BARS]; >> + union { >> + int (*m64_map)[PCI_SRIOV_NUM_BARS]; /*Only used in powernv */ >> + int last_allow_rc; /* Only used in pSeries */ >> + }; >> #endif /* CONFIG_PCI_IOV */ >> int mps; /* Maximum Payload Size */ >> struct list_head child_list; > I don't see the point of using a union to save 4 bytes. > > And if you look at the current layout of the struct there's actually a 4 > byte hole after mps, so it doesn't actually save any space at all. > > I can remove it before applying, unless there's some compelling reason > for it I'm not seeing. > > cheers No specific reason for the union, you can go ahead and remove it before applying. Thanks! Bryant