diff mbox series

[-next] crypto: hisilicon - qm depends on UACCE

Message ID 20200225030356.44008-1-yaohongbo@huawei.com
State Superseded
Delegated to: Herbert Xu
Headers show
Series [-next] crypto: hisilicon - qm depends on UACCE | expand

Commit Message

Hongbo Yao Feb. 25, 2020, 3:03 a.m. UTC
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 <hulkci@huawei.com>
Signed-off-by: Hongbo Yao <yaohongbo@huawei.com>
---
 drivers/crypto/hisilicon/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Zhou Wang Feb. 25, 2020, 8:44 a.m. UTC | #1
On 2020/2/25 11:03, Hongbo Yao wrote:
> 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 <hulkci@huawei.com>
> Signed-off-by: Hongbo Yao <yaohongbo@huawei.com>
> ---
>  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.
>

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.

Best,
Zhou
Herbert Xu Feb. 25, 2020, 10:22 a.m. UTC | #2
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,
Zhou Wang Feb. 26, 2020, 1:42 a.m. UTC | #3
On 2020/2/25 18:22, Herbert Xu wrote:
> 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

Thanks! Let's fix together with zip Kconfig.

Best,
Zhou

> 
> Cheers,
>
diff mbox series

Patch

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.