OSDN Git Service

staging: ks7010: replace custom rotation operations in favour of the kernel ones
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Sun, 11 Mar 2018 11:11:44 +0000 (12:11 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Mar 2018 11:57:06 +0000 (12:57 +0100)
This patch replaces custom ROR32 and ROL32 macros for the ones included in
bitops header of 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 80497ef..1df4366 100644 (file)
 
 #include <linux/types.h>
 #include <linux/string.h>
+#include <linux/bitops.h>
 #include "michael_mic.h"
 
-// Rotation functions on 32 bit values
-#define ROL32(A, n)    (((A) << (n)) | (((A) >> (32 - (n))) & ((1UL << (n)) - 1)))
-#define ROR32(A, n)    ROL32((A), 32 - (n))
 // 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))
@@ -50,13 +48,13 @@ void MichaelInitializeFunction(struct michael_mic_t *Mic, uint8_t *key)
 
 #define MichaelBlockFunction(L, R)                             \
 do {                                                           \
-       R ^= ROL32(L, 17);                                      \
+       R ^= rol32(L, 17);                                      \
        L += R;                                                 \
        R ^= ((L & 0xff00ff00) >> 8) | ((L & 0x00ff00ff) << 8); \
        L += R;                                                 \
-       R ^= ROL32(L, 3);                                       \
+       R ^= rol32(L, 3);                                       \
        L += R;                                                 \
-       R ^= ROR32(L, 2);                                       \
+       R ^= ror32(L, 2);                                       \
        L += R;                                                 \
 } while (0)