staging: ks7010: replace PutUInt32 macro with put_unaligned_le32()
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Wed, 28 Mar 2018 15:24:22 +0000 (17:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 Mar 2018 09:49:12 +0000 (11:49 +0200)
 This commit replaces PutUInt32 custom macro with put_unaligned_le32
 function included in the linux kernel.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/ks7010/michael_mic.c

index 82ac1229001bac17171c10865c3b621424009343..79efaf31eefc25825dcae5bca89469346147b6f1 100644 (file)
 #include <linux/types.h>
 #include <linux/string.h>
 #include <linux/bitops.h>
+#include <asm/unaligned.h>
 #include "michael_mic.h"
 
 // Convert from Byte[] to UInt32 in a portable way
 #define getUInt32(A, B)        ((uint32_t)(A[B + 0] << 0) \
                + (A[B + 1] << 8) + (A[B + 2] << 16) + (A[B + 3] << 24))
 
-// Convert from UInt32 to Byte[] in a portable way
-#define putUInt32(A, B, C)                                     \
-do {                                                           \
-       A[B + 0] = (uint8_t)(C & 0xff);                         \
-       A[B + 1] = (uint8_t)((C >> 8) & 0xff);                  \
-       A[B + 2] = (uint8_t)((C >> 16) & 0xff);                 \
-       A[B + 3] = (uint8_t)((C >> 24) & 0xff);                 \
-} while (0)
-
 // Reset the state to the empty message.
 static inline void michael_clear(struct michael_mic_t *mic)
 {
@@ -113,8 +105,8 @@ static void michael_get_mic(struct michael_mic_t *mic, uint8_t *dst)
        MichaelBlockFunction(mic->l, mic->r);
        MichaelBlockFunction(mic->l, mic->r);
        // The appendByte function has already computed the result.
-       putUInt32(dst, 0, mic->l);
-       putUInt32(dst, 4, mic->r);
+       put_unaligned_le32(mic->l, dst);
+       put_unaligned_le32(mic->r, dst + 4);
 
        // Reset to the empty message.
        michael_clear(mic);