# define __kernel /* default address space */
# define __safe __attribute__((safe))
# define __force __attribute__((force))
+# define __nocast __attribute__((nocast))
# define __iomem __attribute__((noderef, address_space(2)))
# define __acquires(x) __attribute__((context(0,1)))
# define __releases(x) __attribute__((context(1,0)))
# define __kernel
# define __safe
# define __force
+# define __nocast
# define __iomem
# define __chk_user_ptr(x) (void)0
# define __chk_io_ptr(x) (void)0
#ifdef __KERNEL__
-#if __GNUC__ > 3
-# include <linux/compiler-gcc+.h> /* catch-all for GCC 4, 5, etc. */
+#if __GNUC__ > 4
+#error no compiler-gcc.h file for this gcc version
+#elif __GNUC__ == 4
+# include <linux/compiler-gcc4.h>
#elif __GNUC__ == 3
# include <linux/compiler-gcc3.h>
-#elif __GNUC__ == 2
-# include <linux/compiler-gcc2.h>
#else
# error Sorry, your compiler is too old/not recognized.
#endif
(typeof(ptr)) (__ptr + (off)); })
#endif
-#endif /* __ASSEMBLY__ */
-
#endif /* __KERNEL__ */
+#endif /* __ASSEMBLY__ */
+
/*
* Allow us to mark functions as 'deprecated' and have gcc emit a nice
* warning for each use, in hopes of speeding the functions removal.
# define __deprecated /* unimplemented */
#endif
+#ifdef MODULE
+#define __deprecated_for_modules __deprecated
+#else
+#define __deprecated_for_modules
+#endif
+
#ifndef __must_check
#define __must_check
#endif