1*47e1ca7fSJean-Sébastien Pédron /* 2*47e1ca7fSJean-Sébastien Pédron * SPDX-License-Identifier: BSD-2-Clause 3*47e1ca7fSJean-Sébastien Pédron * 4*47e1ca7fSJean-Sébastien Pédron * Copyright (c) 2016 Kip Macy 5*47e1ca7fSJean-Sébastien Pédron * Copyright (c) 2018 Johannes Lundberg 6*47e1ca7fSJean-Sébastien Pédron */ 7*47e1ca7fSJean-Sébastien Pédron 8*47e1ca7fSJean-Sébastien Pédron #ifndef _LINUXKPI_LINUX_BITS_H_ 9*47e1ca7fSJean-Sébastien Pédron #define _LINUXKPI_LINUX_BITS_H_ 10*47e1ca7fSJean-Sébastien Pédron 11*47e1ca7fSJean-Sébastien Pédron #define GENMASK(h, l) (((~0UL) >> (BITS_PER_LONG - (h) - 1)) & ((~0UL) << (l))) 12*47e1ca7fSJean-Sébastien Pédron #define GENMASK_ULL(h, l) (((~0ULL) >> (BITS_PER_LONG_LONG - (h) - 1)) & ((~0ULL) << (l))) 13*47e1ca7fSJean-Sébastien Pédron 14*47e1ca7fSJean-Sébastien Pédron #endif /* _LINUXKPI_LINUX_BITS_H_ */ 15