1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Driver for the Conexant CX25821 PCIe bridge 4 * 5 * Copyright (C) 2009 Conexant Systems Inc. 6 * Authors <shu.lin@conexant.com>, <hiep.huynh@conexant.com> 7 */ 8 9 #ifndef _BITFUNCS_H 10 #define _BITFUNCS_H 11 12 #define SetBit(Bit) (1 << Bit) 13 14 static inline u8 getBit(u32 sample, u8 index) 15 { 16 return (u8) ((sample >> index) & 1); 17 } 18 19 static inline u32 clearBitAtPos(u32 value, u8 bit) 20 { 21 return value & ~(1 << bit); 22 } 23 24 static inline u32 setBitAtPos(u32 sample, u8 bit) 25 { 26 sample |= (1 << bit); 27 return sample; 28 29 } 30 31 #endif 32