1 /*
2 * Driver for the Conexant CX25821 PCIe bridge
3 *
4 * Copyright (C) 2009 Conexant Systems Inc.
5 * Authors <shu.lin@conexant.com>, <hiep.huynh@conexant.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 *
16 * GNU General Public License for more details.
17 */
18
19 #ifndef _BITFUNCS_H
20 #define _BITFUNCS_H
21
22 #define SetBit(Bit) (1 << Bit)
23
getBit(u32 sample,u8 index)24 static inline u8 getBit(u32 sample, u8 index)
25 {
26 return (u8) ((sample >> index) & 1);
27 }
28
clearBitAtPos(u32 value,u8 bit)29 static inline u32 clearBitAtPos(u32 value, u8 bit)
30 {
31 return value & ~(1 << bit);
32 }
33
setBitAtPos(u32 sample,u8 bit)34 static inline u32 setBitAtPos(u32 sample, u8 bit)
35 {
36 sample |= (1 << bit);
37 return sample;
38
39 }
40
41 #endif
42