mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-21 09:47:25 +00:00
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 commit637a642f5c("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:19d8e8c7be("crypto: octeontx2 - add virtual function driver support") Suggested-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Alexander Lobakin <alobakin@pm.me> Reviewed-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
35 lines
869 B
C
35 lines
869 B
C
/* SPDX-License-Identifier: GPL-2.0-only
|
|
* Copyright (C) 2021 Marvell.
|
|
*/
|
|
#ifndef __CN10K_CPT_H
|
|
#define __CN10K_CPT_H
|
|
|
|
#include "otx2_cpt_common.h"
|
|
#include "otx2_cptpf.h"
|
|
#include "otx2_cptvf.h"
|
|
|
|
static inline u8 cn10k_cpt_get_compcode(union otx2_cpt_res_s *result)
|
|
{
|
|
return ((struct cn10k_cpt_res_s *)result)->compcode;
|
|
}
|
|
|
|
static inline u8 cn10k_cpt_get_uc_compcode(union otx2_cpt_res_s *result)
|
|
{
|
|
return ((struct cn10k_cpt_res_s *)result)->uc_compcode;
|
|
}
|
|
|
|
static inline u8 otx2_cpt_get_compcode(union otx2_cpt_res_s *result)
|
|
{
|
|
return ((struct cn9k_cpt_res_s *)result)->compcode;
|
|
}
|
|
|
|
static inline u8 otx2_cpt_get_uc_compcode(union otx2_cpt_res_s *result)
|
|
{
|
|
return ((struct cn9k_cpt_res_s *)result)->uc_compcode;
|
|
}
|
|
|
|
int cn10k_cptpf_lmtst_init(struct otx2_cptpf_dev *cptpf);
|
|
int cn10k_cptvf_lmtst_init(struct otx2_cptvf_dev *cptvf);
|
|
|
|
#endif /* __CN10K_CPTLF_H */
|