2020-02-25 02:50:01

by Hongbo Yao

[permalink] [raw]
Subject: [PATCH -next] crypto: hisilicon - qm depends on UACCE

If UACCE=m and CRYPTO_DEV_HISI_QM=y, the following error
is seen while building qm.o:

drivers/crypto/hisilicon/qm.o: In function `hisi_qm_init':
(.text+0x23c6): undefined reference to `uacce_alloc'
(.text+0x2474): undefined reference to `uacce_remove'
(.text+0x286b): undefined reference to `uacce_remove'
drivers/crypto/hisilicon/qm.o: In function `hisi_qm_uninit':
(.text+0x2918): undefined reference to `uacce_remove'
make[1]: *** [vmlinux] Error 1
make: *** [autoksyms_recursive] Error 2

It has the similar issue while CONFIG_CRYPTO_DEV_HISI_ZIP=y, fix
the config dependency for QM or ZIP here.

reported-by: Hulk Robot <[email protected]>
Signed-off-by: Hongbo Yao <[email protected]>
---
drivers/crypto/hisilicon/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/crypto/hisilicon/Kconfig b/drivers/crypto/hisilicon/Kconfig
index 8851161f722f..b35c2ec15bc2 100644
--- a/drivers/crypto/hisilicon/Kconfig
+++ b/drivers/crypto/hisilicon/Kconfig
@@ -40,6 +40,7 @@ config CRYPTO_DEV_HISI_QM
tristate
depends on ARM64 || COMPILE_TEST
depends on PCI && PCI_MSI
+ depends on UACCE
help
HiSilicon accelerator engines use a common queue management
interface. Specific engine driver may use this module.
--
2.17.1


2020-02-25 10:25:05

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH -next] crypto: hisilicon - qm depends on UACCE

On Tue, Feb 25, 2020 at 04:44:57PM +0800, Zhou Wang wrote:
>
> > diff --git a/drivers/crypto/hisilicon/Kconfig b/drivers/crypto/hisilicon/Kconfig
> > index 8851161f722f..b35c2ec15bc2 100644
> > --- a/drivers/crypto/hisilicon/Kconfig
> > +++ b/drivers/crypto/hisilicon/Kconfig
> > @@ -40,6 +40,7 @@ config CRYPTO_DEV_HISI_QM
> > tristate
> > depends on ARM64 || COMPILE_TEST
> > depends on PCI && PCI_MSI
> > + depends on UACCE
> > help
> > HiSilicon accelerator engines use a common queue management
> > interface. Specific engine driver may use this module.
> >
>
> Indeed, this driver does not depend on uacce fully, as if there is no uacce, it still can
> register to kernel crypto.
>
> Seems that changing uacce config to bool can avoid this problem.

You shouldn't make it a bool. The standard way to solve this is to
add this:

depends on UACCE || UACCE=n

Cheers,
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt