/* SPDX-License-Identifier: GPL-2.0-or-later */ | |
/* | |
* OpenRISC Linux | |
* | |
* Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> | |
*/ | |
#ifndef __ASM_OPENRISC___FFS_H | |
#define __ASM_OPENRISC___FFS_H | |
#ifdef CONFIG_OPENRISC_HAVE_INST_FF1 | |
static inline unsigned long __ffs(unsigned long x) | |
{ | |
int ret; | |
__asm__ ("l.ff1 %0,%1" | |
: "=r" (ret) | |
: "r" (x)); | |
return ret-1; | |
} | |
#else | |
#include <asm-generic/bitops/__ffs.h> | |
#endif | |
#endif /* __ASM_OPENRISC___FFS_H */ |