linux/arch/openrisc/include/asm/bitops/__ffs.h
<<
>>
Prefs
   1/*
   2 * OpenRISC Linux
   3 *
   4 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
   5 *
   6 * This program is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License as published by
   8 * the Free Software Foundation; either version 2 of the License, or
   9 * (at your option) any later version.
  10 */
  11
  12#ifndef __ASM_OPENRISC___FFS_H
  13#define __ASM_OPENRISC___FFS_H
  14
  15
  16#ifdef CONFIG_OPENRISC_HAVE_INST_FF1
  17
  18static inline unsigned long __ffs(unsigned long x)
  19{
  20        int ret;
  21
  22        __asm__ ("l.ff1 %0,%1"
  23                 : "=r" (ret)
  24                 : "r" (x));
  25
  26        return ret-1;
  27}
  28
  29#else
  30#include <asm-generic/bitops/__ffs.h>
  31#endif
  32
  33#endif /* __ASM_OPENRISC___FFS_H */
  34