Commit c747ce47 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Russell King (Oracle)

ARM: 9117/1: asm-generic: div64: Remove always-true __div64_const32_is_OK()

Since commit cafa0010 ("Raise the minimum required gcc version
to 4.6"), the kernel can no longer be compiled using gcc-3.
Hence __div64_const32_is_OK() is always true, and the corresponding
check can thus be removed.

While at it, remove the whitespace error that hurts my eyes, and add the
missing curly braces for the final else statement, as per coding style.
Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
parent 88210317
...@@ -57,17 +57,11 @@ ...@@ -57,17 +57,11 @@
/* /*
* If the divisor happens to be constant, we determine the appropriate * If the divisor happens to be constant, we determine the appropriate
* inverse at compile time to turn the division into a few inline * inverse at compile time to turn the division into a few inline
* multiplications which ought to be much faster. And yet only if compiling * multiplications which ought to be much faster.
* with a sufficiently recent gcc version to perform proper 64-bit constant
* propagation.
* *
* (It is unfortunate that gcc doesn't perform all this internally.) * (It is unfortunate that gcc doesn't perform all this internally.)
*/ */
#ifndef __div64_const32_is_OK
#define __div64_const32_is_OK (__GNUC__ >= 4)
#endif
#define __div64_const32(n, ___b) \ #define __div64_const32(n, ___b) \
({ \ ({ \
/* \ /* \
...@@ -230,8 +224,7 @@ extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor); ...@@ -230,8 +224,7 @@ extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor);
is_power_of_2(__base)) { \ is_power_of_2(__base)) { \
__rem = (n) & (__base - 1); \ __rem = (n) & (__base - 1); \
(n) >>= ilog2(__base); \ (n) >>= ilog2(__base); \
} else if (__div64_const32_is_OK && \ } else if (__builtin_constant_p(__base) && \
__builtin_constant_p(__base) && \
__base != 0) { \ __base != 0) { \
uint32_t __res_lo, __n_lo = (n); \ uint32_t __res_lo, __n_lo = (n); \
(n) = __div64_const32(n, __base); \ (n) = __div64_const32(n, __base); \
...@@ -241,8 +234,9 @@ extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor); ...@@ -241,8 +234,9 @@ extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor);
} else if (likely(((n) >> 32) == 0)) { \ } else if (likely(((n) >> 32) == 0)) { \
__rem = (uint32_t)(n) % __base; \ __rem = (uint32_t)(n) % __base; \
(n) = (uint32_t)(n) / __base; \ (n) = (uint32_t)(n) / __base; \
} else \ } else { \
__rem = __div64_32(&(n), __base); \ __rem = __div64_32(&(n), __base); \
} \
__rem; \ __rem; \
}) })
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment