162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef __ASM_GENERIC_BITOPS_H
362306a36Sopenharmony_ci#define __ASM_GENERIC_BITOPS_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci/*
662306a36Sopenharmony_ci * For the benefit of those who are trying to port Linux to another
762306a36Sopenharmony_ci * architecture, here are some C-language equivalents.  They should
862306a36Sopenharmony_ci * generate reasonable code, so take a look at what your compiler spits
962306a36Sopenharmony_ci * out before rolling your own buggy implementation in assembly language.
1062306a36Sopenharmony_ci *
1162306a36Sopenharmony_ci * C language equivalents written by Theodore Ts'o, 9/26/92
1262306a36Sopenharmony_ci */
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci#include <linux/irqflags.h>
1562306a36Sopenharmony_ci#include <linux/compiler.h>
1662306a36Sopenharmony_ci#include <asm/barrier.h>
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#include <asm-generic/bitops/__ffs.h>
1962306a36Sopenharmony_ci#include <asm-generic/bitops/ffz.h>
2062306a36Sopenharmony_ci#include <asm-generic/bitops/fls.h>
2162306a36Sopenharmony_ci#include <asm-generic/bitops/__fls.h>
2262306a36Sopenharmony_ci#include <asm-generic/bitops/fls64.h>
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci#ifndef _LINUX_BITOPS_H
2562306a36Sopenharmony_ci#error only <linux/bitops.h> can be included directly
2662306a36Sopenharmony_ci#endif
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#include <asm-generic/bitops/sched.h>
2962306a36Sopenharmony_ci#include <asm-generic/bitops/ffs.h>
3062306a36Sopenharmony_ci#include <asm-generic/bitops/hweight.h>
3162306a36Sopenharmony_ci#include <asm-generic/bitops/lock.h>
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci#include <asm-generic/bitops/atomic.h>
3462306a36Sopenharmony_ci#include <asm-generic/bitops/non-atomic.h>
3562306a36Sopenharmony_ci#include <asm-generic/bitops/le.h>
3662306a36Sopenharmony_ci#include <asm-generic/bitops/ext2-atomic.h>
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci#endif /* __ASM_GENERIC_BITOPS_H */
39