From 9d0c378dbc3193d5381003e65a84e2c9475ba2f2 Mon Sep 17 00:00:00 2001 From: Andrew Webster Date: Thu, 21 Jan 2016 19:05:51 -0600 Subject: [PATCH] Kinetis enet: switch to built-in byte swapper. Depends on GCC __builtin functions --- arch/arm/src/kinetis/kinetis_enet.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm/src/kinetis/kinetis_enet.c b/arch/arm/src/kinetis/kinetis_enet.c index 6c37704a8a..55091ea26e 100644 --- a/arch/arm/src/kinetis/kinetis_enet.c +++ b/arch/arm/src/kinetis/kinetis_enet.c @@ -200,8 +200,13 @@ static struct kinetis_driver_s g_enet[CONFIG_ENET_NETHIFS]; # define kinesis_swap32(value) (value) # define kinesis_swap16(value) (value) #else +#if 0 /* Use builtins if the compiler supports them */ static inline uint32_t kinesis_swap32(uint32_t value); static inline uint16_t kinesis_swap16(uint16_t value); +#else +# define kinesis_swap32 __builtin_bswap32 +# define kinesis_swap16 __builtin_bswap16 +#endif #endif /* Common TX logic */ @@ -261,6 +266,7 @@ static void kinetis_reset(struct kinetis_driver_s *priv); * ****************************************************************************/ +#if 0 /* Use builtins if the compiler supports them */ #ifndef CONFIG_ENDIAN_BIG static inline uint32_t kinesis_swap32(uint32_t value) { @@ -288,6 +294,7 @@ static inline uint16_t kinesis_swap16(uint16_t value) return result; } #endif +#endif /**************************************************************************** * Function: kinetics_txringfull