Merge tag 'efi-2020-01-rc2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
[oweals/u-boot.git] / include / linux / err.h
index 4e08c4fe685bf65cc3e381e8b805a9f8e2812a0f..22e5756eddc25865fc594c12c979319b16d68829 100644 (file)
@@ -1,14 +1,10 @@
 #ifndef _LINUX_ERR_H
 #define _LINUX_ERR_H
 
-/* XXX U-BOOT XXX */
-#if 0
 #include <linux/compiler.h>
-#else
-#include <linux/mtd/compat.h>
-#endif
+#include <linux/compat.h>
 
-#include <asm/errno.h>
+#include <linux/errno.h>
 
 
 /*
@@ -40,6 +36,24 @@ static inline long IS_ERR(const void *ptr)
        return IS_ERR_VALUE((unsigned long)ptr);
 }
 
+static inline bool IS_ERR_OR_NULL(const void *ptr)
+{
+       return !ptr || IS_ERR_VALUE((unsigned long)ptr);
+}
+
+/**
+ * ERR_CAST - Explicitly cast an error-valued pointer to another pointer type
+ * @ptr: The pointer to cast.
+ *
+ * Explicitly cast an error-valued pointer to another pointer type in such a
+ * way as to make it clear that's what's going on.
+ */
+static inline void * __must_check ERR_CAST(__force const void *ptr)
+{
+       /* cast away the const */
+       return (void *) ptr;
+}
+
 #endif
 
 #endif /* _LINUX_ERR_H */