Browse Source

MIPS: math-emu: Cleanup ieee754si_indef() / ieee754di_indef().

LONG_LONG_MAX is a symbol defined in <limits.h> which may not be available
so better rely on something provided by a kernel header.  While at it,
turn these function-like macros into inline functions.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle 11 years ago
parent
commit
e812a73932
1 changed files with 10 additions and 6 deletions
  1. 10 6
      arch/mips/math-emu/ieee754.h

+ 10 - 6
arch/mips/math-emu/ieee754.h

@@ -26,6 +26,7 @@
 
 #include <linux/compiler.h>
 #include <asm/byteorder.h>
+#include <linux/kernel.h>
 #include <linux/types.h>
 #include <linux/sched.h>
 #include <asm/bitfield.h>
@@ -394,12 +395,15 @@ extern const struct ieee754sp_const __ieee754sp_spcvals[];
 /*
  * Indefinite integer value
  */
-#define ieee754si_indef()	INT_MAX
-#ifdef LONG_LONG_MAX
-#define ieee754di_indef()	LONG_LONG_MAX
-#else
-#define ieee754di_indef()	((s64)(~0ULL>>1))
-#endif
+static inline int ieee754si_indef(void)
+{
+	return INT_MAX;
+}
+
+static inline s64 ieee754di_indef(void)
+{
+	return S64_MAX;
+}
 
 /* IEEE exception context, passed to handler */
 struct ieee754xctx {