__fls.h (464B)
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___FLS_H 9#define __ASM_OPENRISC___FLS_H 10 11 12#ifdef CONFIG_OPENRISC_HAVE_INST_FL1 13 14static inline unsigned long __fls(unsigned long x) 15{ 16 int ret; 17 18 __asm__ ("l.fl1 %0,%1" 19 : "=r" (ret) 20 : "r" (x)); 21 22 return ret-1; 23} 24 25#else 26#include <asm-generic/bitops/__fls.h> 27#endif 28 29#endif /* __ASM_OPENRISC___FLS_H */