Subject: Re: [PATCH] net: can: Disable broken flexcan driver build for big endian CPU on ARM

From: Marc Kleine-Budde <[email-masked]>
Date: Mon, 06 Jan 2014 10:00:35 +0100

On 01/05/2014 06:51 PM, Guenter Roeck wrote:
> Building arm:allmodconfig fails with
> 
> flexcan.c: In function 'flexcan_read':
> flexcan.c:243:2: error: implicit declaration of function 'in_be32'
> flexcan.c: In function 'flexcan_write':
> flexcan.c:248:2: error: implicit declaration of function 'out_be32'
> 
> in_be32 and out_be32 do not (or no longer) exist for ARM targets.
> Mark the build for arm on big endian CPUs as broken.

I think there isn't any ARM with this CAN core that supports BE (at
least on Linux).

> Signed-off-by: Guenter Roeck <[email-masked]>
> ---
> If there is a better solution, please let me know and I'll be happy
> to provide a patch.
> 
>  drivers/net/can/Kconfig |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/can/Kconfig b/drivers/net/can/Kconfig
> index 3c06947..8d202f4 100644
> --- a/drivers/net/can/Kconfig
> +++ b/drivers/net/can/Kconfig
> @@ -104,7 +104,7 @@ config CAN_JANZ_ICAN3
>  
>  config CAN_FLEXCAN
>  	tristate "Support for Freescale FLEXCAN based chips"
> -	depends on ARM || PPC
> +	depends on (ARM || PPC) && (BROKEN || !ARM || CPU_LITTLE_ENDIAN)

Why not make it:

	depends on (ARM && CPU_LITTLE_ENDIAN) || PPC

>  	---help---
>  	  Say Y here if you want to support for Freescale FlexCAN.
>  
> 

Marc

-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |