b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
2 | /* | ||||
3 | * OpenRISC Linux | ||||
4 | * | ||||
5 | * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> | ||||
6 | */ | ||||
7 | |||||
8 | #ifndef __ASM_OPENRISC_FFS_H | ||||
9 | #define __ASM_OPENRISC_FFS_H | ||||
10 | |||||
11 | #ifdef CONFIG_OPENRISC_HAVE_INST_FF1 | ||||
12 | |||||
13 | static inline int ffs(int x) | ||||
14 | { | ||||
15 | int ret; | ||||
16 | |||||
17 | __asm__ ("l.ff1 %0,%1" | ||||
18 | : "=r" (ret) | ||||
19 | : "r" (x)); | ||||
20 | |||||
21 | return ret; | ||||
22 | } | ||||
23 | |||||
24 | #else | ||||
25 | #include <asm-generic/bitops/ffs.h> | ||||
26 | #endif | ||||
27 | |||||
28 | #endif /* __ASM_OPENRISC_FFS_H */ |