Subject: Re: [PATCH] net: thunderx: add 64-bit dependency

From: David Daney <[email-masked]>
Date: Thu, 28 May 2015 08:49:52 -0700

On 05/28/2015 07:00 AM, Arnd Bergmann wrote:
> The thunderx ethernet driver fails to build on architectures
> that do not have an atomic readq() and writeq() function for
> 64-bit PCI bus access:
>
> drivers/net/ethernet/cavium/thunder/thunder_bgx.c: In function 'bgx_reg_read':
> include/asm-generic/io.h:195:23: error: implicit declaration of function 'readq' [-Werror=implicit-function-declaration]
>
> It seems impossible to get this driver to work on most 32-bit
> hardware, so it's better to add an explicit dependency, in
> order to let us keep building 'allmodconfig' kernels on
> all architectures.
>
> As the driver is meant for the internal hardware on an arm64 SoC, this
> is not a problem for usability. Allowing the build on all 64-bit
> architectures rather than just CONFIG_ARM64 on the other hand means that
> we get the benefit of build testing on x86.
>
> Signed-off-by: Arnd Bergmann <[email-masked]>

Thanks for the quick fix.  I agree with your analysis...

Acked-by: David Daney <[email-masked]>

>
> diff --git a/drivers/net/ethernet/cavium/Kconfig b/drivers/net/ethernet/cavium/Kconfig
> index 6365fb4242be..fc3d8e3ee807 100644
> --- a/drivers/net/ethernet/cavium/Kconfig
> +++ b/drivers/net/ethernet/cavium/Kconfig
> @@ -4,7 +4,7 @@
>
>   config NET_VENDOR_CAVIUM
>   	tristate "Cavium ethernet drivers"
> -	depends on PCI
> +	depends on PCI && 64BIT
>   	---help---
>   	  Enable support for the Cavium ThunderX Network Interface
>   	  Controller (NIC). The NIC provides the controller and DMA
>