> 
> +#if defined(CONFIG_M68000) || defined(CONFIG_MCPU32) || 
> defined(CONFIG_COLDFIRE)
> +
> +/*
> + *     The newer ColdFire family members support a "bitrev" instruction
> + *     and we can use that to implement a fast ffs. Older Coldfire parts,
> + *     and normal 68000 parts don't have anything special, so we use the
> + *     generic functions for those.
> + */
> +#if (defined(__mcfisaaplus__) || defined(__mcfisac__)) && \
> +    !defined(CONFIG_M68000) && !defined(CONFIG_MCPU32)

Aren't the !defined(CONFIG_M68000) && !defined(CONFIG_MCPU32) terms 
redundant?

Finn

> +static inline int __ffs(int x)
> +{
> +        __asm__ __volatile__ ("bitrev %0; ff1 %0"
> +               : "=d" (x)
> +               : "0" (x));
> +        return x;
> +}
> +
> +static inline int ffs(int x)
> +{
> +        if (!x)
> +                return 0;
> +       return __ffs(x) + 1;
> +}
> +
> +#else
> +#include <asm-generic/bitops/ffs.h>
> +#include <asm-generic/bitops/__ffs.h>
> +#endif
> +
> +#include <asm-generic/bitops/fls.h>
> +#include <asm-generic/bitops/__fls.h>
> +
>  #else
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to