mirror of https://gitee.com/openkylin/linux.git
staging: ks7010: replace custom rotation operations in favour of the kernel ones
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>
This commit is contained in:
parent
ae91ce5db5
commit
8b6f053790
|
@ -11,11 +11,9 @@
|
|||
|
||||
#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)
|
||||
|
||||
|
|
Loading…
Reference in New Issue