On Sun, Nov 20, 2022 at 8:09 AM Alexander Lobakin <alobakin@xxxxx> wrote: > > cn10k_cpt.o, otx2_cptlf.o and otx2_cpt_mbox_common.o are linked > into both rvu_cptpf and rvu_cptvf modules: > > > scripts/Makefile.build:252: ./drivers/crypto/marvell/octeontx2/Makefile: > > cn10k_cpt.o is added to multiple modules: rvu_cptpf rvu_cptvf > > scripts/Makefile.build:252: ./drivers/crypto/marvell/octeontx2/Makefile: > > otx2_cptlf.o is added to multiple modules: rvu_cptpf rvu_cptvf > > scripts/Makefile.build:252: ./drivers/crypto/marvell/octeontx2/Makefile: > > otx2_cpt_mbox_common.o is added to multiple modules: rvu_cptpf rvu_cptvf > > Despite they're build under the same Kconfig option > (CONFIG_CRYPTO_DEV_OCTEONTX2_CPT), it's better do link the common > code into a standalone module and export the shared functions. Under > certain circumstances, this can lead to the same situation as fixed > by commit 637a642f5ca5 ("zstd: Fixing mixed module-builtin objects"). > Plus, those three common object files are relatively big to duplicate > them several times. > > Introduce the new module, rvu_cptcommon, to provide the common > functions to both modules. > > Fixes: 19d8e8c7be15 ("crypto: octeontx2 - add virtual function driver support") > Suggested-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > Signed-off-by: Alexander Lobakin <alobakin@xxxxx> > --- Reviewed-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> -- Best Regards Masahiro Yamada