Re: [PATCH] crypto: cavium: fix Kconfig dependencies

From: David Daney
Date: Tue Feb 14 2017 - 13:30:52 EST

On 02/14/2017 10:26 AM, Randy Dunlap wrote:
On 02/14/17 09:09, David Daney wrote:
On 02/14/2017 09:07 AM, Arnd Bergmann wrote:
The driver fails to build if MSI support is disabled:

In file included from /git/arm-soc/drivers/crypto/cavium/cpt/cptpf_main.c:18:0:
drivers/crypto/cavium/cpt/cptpf.h:57:20: error: array type has incomplete element type 'struct msix_entry'
struct msix_entry msix_entries[CPT_PF_MSIX_VECTORS];
drivers/crypto/cavium/cpt/cptpf_main.c: In function 'cpt_enable_msix':
drivers/crypto/cavium/cpt/cptpf_main.c:344:8: error: implicit declaration of function 'pci_enable_msix';did you mean 'cpt_enable_msix'? [-Werror=implicit-function-declaration]

On the other hand, it doesn't seem to have any build dependency on ARCH_THUNDER,
so let's allow compile-testing to catch this kind of problem more easily.
The 64-bit dependency is needed for the use of readq/writeq.

Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
drivers/crypto/cavium/cpt/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/crypto/cavium/cpt/Kconfig b/drivers/crypto/cavium/cpt/Kconfig
index 247f1cbbefc1..cbd51b1aa046 100644
--- a/drivers/crypto/cavium/cpt/Kconfig
+++ b/drivers/crypto/cavium/cpt/Kconfig
@@ -7,7 +7,8 @@ config CRYPTO_DEV_CPT

tristate "Cavium Cryptographic Accelerator driver"
- depends on ARCH_THUNDER
+ depends on PCI_MSI && 64BIT

Perhaps we should select PCI and PCI_MSI instead.

These systems cannot function without those.

Then the "depends" (and hence the patch) is correct.

A driver should not enable all of PCI if it is disabled
for some other reason.

I see your point. In that case, this patch:

Acked-by: David Daney <david.daney@xxxxxxxxxx>

Support for Cavium CPT block found in octeon-tx series of