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 | |