2020-04-08 18:27:40

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] crypto: hisilicon: add more dependencies

The added dependencies must be applied recursively to
other modules that select CRYPTO_DEV_HISI_QM, to avoid
running into the same problem again:

WARNING: unmet direct dependencies detected for CRYPTO_DEV_HISI_QM
Depends on [m]: CRYPTO [=y] && CRYPTO_HW [=y] && (ARM64 [=y] || COMPILE_TEST [=y]) && PCI [=y] && PCI_MSI [=y] && (UACCE [=m] || UACCE [=m]=n)
Selected by [y]:
- CRYPTO_DEV_HISI_SEC2 [=y] && CRYPTO [=y] && CRYPTO_HW [=y] && PCI [=y] && PCI_MSI [=y] && (ARM64 [=y] || COMPILE_TEST [=y] && 64BIT [=y])
- CRYPTO_DEV_HISI_HPRE [=y] && CRYPTO [=y] && CRYPTO_HW [=y] && PCI [=y] && PCI_MSI [=y] && (ARM64 [=y] || COMPILE_TEST [=y] && 64BIT [=y])
ld: drivers/crypto/hisilicon/qm.o: in function `hisi_qm_uninit': qm.c:(.text+0x23b8): undefined reference to `uacce_remove'

Fixes: 47c16b449921 ("crypto: hisilicon - qm depends on UACCE")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/crypto/hisilicon/Kconfig | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/crypto/hisilicon/Kconfig b/drivers/crypto/hisilicon/Kconfig
index 095850d01dcc..9c3004663fe8 100644
--- a/drivers/crypto/hisilicon/Kconfig
+++ b/drivers/crypto/hisilicon/Kconfig
@@ -28,6 +28,7 @@ config CRYPTO_DEV_HISI_SEC2
select CRYPTO_SHA512
depends on PCI && PCI_MSI
depends on ARM64 || (COMPILE_TEST && 64BIT)
+ depends on UACCE || UACCE=n
help
Support for HiSilicon SEC Engine of version 2 in crypto subsystem.
It provides AES, SM4, and 3DES algorithms with ECB
@@ -59,6 +60,7 @@ config CRYPTO_DEV_HISI_HPRE
tristate "Support for HISI HPRE accelerator"
depends on PCI && PCI_MSI
depends on ARM64 || (COMPILE_TEST && 64BIT)
+ depends on UACCE || UACCE=n
select CRYPTO_DEV_HISI_QM
select CRYPTO_DH
select CRYPTO_RSA
--
2.26.0


2020-04-09 01:47:29

by Zhou Wang

[permalink] [raw]
Subject: Re: [PATCH] crypto: hisilicon: add more dependencies

On 2020/4/9 0:27, Arnd Bergmann wrote:
> The added dependencies must be applied recursively to
> other modules that select CRYPTO_DEV_HISI_QM, to avoid
> running into the same problem again:
>
> WARNING: unmet direct dependencies detected for CRYPTO_DEV_HISI_QM
> Depends on [m]: CRYPTO [=y] && CRYPTO_HW [=y] && (ARM64 [=y] || COMPILE_TEST [=y]) && PCI [=y] && PCI_MSI [=y] && (UACCE [=m] || UACCE [=m]=n)
> Selected by [y]:
> - CRYPTO_DEV_HISI_SEC2 [=y] && CRYPTO [=y] && CRYPTO_HW [=y] && PCI [=y] && PCI_MSI [=y] && (ARM64 [=y] || COMPILE_TEST [=y] && 64BIT [=y])
> - CRYPTO_DEV_HISI_HPRE [=y] && CRYPTO [=y] && CRYPTO_HW [=y] && PCI [=y] && PCI_MSI [=y] && (ARM64 [=y] || COMPILE_TEST [=y] && 64BIT [=y])
> ld: drivers/crypto/hisilicon/qm.o: in function `hisi_qm_uninit': qm.c:(.text+0x23b8): undefined reference to `uacce_remove'
>
> Fixes: 47c16b449921 ("crypto: hisilicon - qm depends on UACCE")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/crypto/hisilicon/Kconfig | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/crypto/hisilicon/Kconfig b/drivers/crypto/hisilicon/Kconfig
> index 095850d01dcc..9c3004663fe8 100644
> --- a/drivers/crypto/hisilicon/Kconfig
> +++ b/drivers/crypto/hisilicon/Kconfig
> @@ -28,6 +28,7 @@ config CRYPTO_DEV_HISI_SEC2
> select CRYPTO_SHA512
> depends on PCI && PCI_MSI
> depends on ARM64 || (COMPILE_TEST && 64BIT)
> + depends on UACCE || UACCE=n
> help
> Support for HiSilicon SEC Engine of version 2 in crypto subsystem.
> It provides AES, SM4, and 3DES algorithms with ECB
> @@ -59,6 +60,7 @@ config CRYPTO_DEV_HISI_HPRE
> tristate "Support for HISI HPRE accelerator"
> depends on PCI && PCI_MSI
> depends on ARM64 || (COMPILE_TEST && 64BIT)
> + depends on UACCE || UACCE=n
> select CRYPTO_DEV_HISI_QM
> select CRYPTO_DH
> select CRYPTO_RSA
>

Hi Arnd,

Seems we already have a fix: https://lkml.org/lkml/2020/3/30/173 with your reviewed-by :)

Best,
Zhou


2020-04-09 09:31:04

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] crypto: hisilicon: add more dependencies

On Thu, Apr 9, 2020 at 3:45 AM Zhou Wang <[email protected]> wrote:
>
> On 2020/4/9 0:27, Arnd Bergmann wrote:
> > The added dependencies must be applied recursively to
> > other modules that select CRYPTO_DEV_HISI_QM, to avoid
> > running into the same problem again:
> >
> > WARNING: unmet direct dependencies detected for CRYPTO_DEV_HISI_QM
> > Depends on [m]: CRYPTO [=y] && CRYPTO_HW [=y] && (ARM64 [=y] || COMPILE_TEST [=y]) && PCI [=y] && PCI_MSI [=y] && (UACCE [=m] || UACCE [=m]=n)
> > Selected by [y]:
> > - CRYPTO_DEV_HISI_SEC2 [=y] && CRYPTO [=y] && CRYPTO_HW [=y] && PCI [=y] && PCI_MSI [=y] && (ARM64 [=y] || COMPILE_TEST [=y] && 64BIT [=y])
> > - CRYPTO_DEV_HISI_HPRE [=y] && CRYPTO [=y] && CRYPTO_HW [=y] && PCI [=y] && PCI_MSI [=y] && (ARM64 [=y] || COMPILE_TEST [=y] && 64BIT [=y])
> > ld: drivers/crypto/hisilicon/qm.o: in function `hisi_qm_uninit': qm.c:(.text+0x23b8): undefined reference to `uacce_remove'
> >
> > Fixes: 47c16b449921 ("crypto: hisilicon - qm depends on UACCE")
> > Signed-off-by: Arnd Bergmann <[email protected]>
> > ---
>
> Seems we already have a fix: https://lkml.org/lkml/2020/3/30/173 with your reviewed-by :)

Ah, of course. I even remembered that patch when I saw the problem in mainline,
but for some reason assumed it was yet another instance of the same bug, rather
than a patch that had I was just missing in my tree.

Arnd