diff options
Diffstat (limited to 'drivers/staging/csr/csr_macro.h')
| -rw-r--r-- | drivers/staging/csr/csr_macro.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/drivers/staging/csr/csr_macro.h b/drivers/staging/csr/csr_macro.h new file mode 100644 index 00000000..c47f1d91 --- /dev/null +++ b/drivers/staging/csr/csr_macro.h @@ -0,0 +1,39 @@ +#ifndef CSR_MACRO_H__ +#define CSR_MACRO_H__ +/***************************************************************************** + + (c) Cambridge Silicon Radio Limited 2010 + All rights reserved and confidential information of CSR + + Refer to LICENSE.txt included with this source for details + on the license terms. + +*****************************************************************************/ + +#include <linux/types.h> + +#define FALSE (0) +#define TRUE (1) + +/*------------------------------------------------------------------*/ +/* Endian conversion */ +/*------------------------------------------------------------------*/ +#define CSR_GET_UINT16_FROM_LITTLE_ENDIAN(ptr) (((u16) ((u8 *) (ptr))[0]) | ((u16) ((u8 *) (ptr))[1]) << 8) +#define CSR_GET_UINT32_FROM_LITTLE_ENDIAN(ptr) (((u32) ((u8 *) (ptr))[0]) | ((u32) ((u8 *) (ptr))[1]) << 8 | \ + ((u32) ((u8 *) (ptr))[2]) << 16 | ((u32) ((u8 *) (ptr))[3]) << 24) +#define CSR_COPY_UINT16_TO_LITTLE_ENDIAN(uint, ptr) ((u8 *) (ptr))[0] = ((u8) ((uint) & 0x00FF)); \ + ((u8 *) (ptr))[1] = ((u8) ((uint) >> 8)) +#define CSR_COPY_UINT32_TO_LITTLE_ENDIAN(uint, ptr) ((u8 *) (ptr))[0] = ((u8) ((uint) & 0x000000FF)); \ + ((u8 *) (ptr))[1] = ((u8) (((uint) >> 8) & 0x000000FF)); \ + ((u8 *) (ptr))[2] = ((u8) (((uint) >> 16) & 0x000000FF)); \ + ((u8 *) (ptr))[3] = ((u8) (((uint) >> 24) & 0x000000FF)) + +/*------------------------------------------------------------------*/ +/* Misc */ +/*------------------------------------------------------------------*/ +/* Use this macro on unused local variables that cannot be removed (such as + unused function parameters). This will quell warnings from certain compilers + and static code analysis tools like Lint and Valgrind. */ +#define CSR_UNUSED(x) ((void) (x)) + +#endif |
