summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/drm/include/linux/bitfield.h
blob: 909ddaa8bacb15b1ad49ccbebde04be6dc3de0a8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* Public domain. */

#ifndef _LINUX_BITFIELD_H
#define _LINUX_BITFIELD_H

#include <asm/byteorder.h>

#define __bf_shf(x) (__builtin_ffsll(x) - 1)

#define FIELD_GET(_m, _v) \
    ((typeof(_m))(((_v) & (_m)) >> __bf_shf(_m)))

#define FIELD_PREP(_m, _v) \
    (((typeof(_m))(_v) << __bf_shf(_m)) & (_m))

#endif