From: Ben Hutchings <ben@decadent.org.uk>
Date: Thu, 18 Feb 2016 03:34:25 +0000
Subject: lockdep: Add missing macros

liblockdep is broken again due to lockdep using kernel macros that it
doesn't have substitutes for.
---
--- a/tools/lib/lockdep/uinclude/linux/kernel.h
+++ b/tools/lib/lockdep/uinclude/linux/kernel.h
@@ -6,6 +6,7 @@
 #include <linux/rcu.h>
 #include <linux/hardirq.h>
 #include <linux/kern_levels.h>
+#include <linux/compiler.h>
 
 #ifndef container_of
 #define container_of(ptr, type, member) ({			\
--- a/tools/lib/lockdep/uinclude/linux/list.h
+++ b/tools/lib/lockdep/uinclude/linux/list.h
@@ -1 +1,4 @@
 #include "../../../include/linux/list.h"
+#define hlist_add_head_rcu hlist_add_head
+#define hlist_del_rcu hlist_del
+#define hlist_for_each_entry_rcu hlist_for_each_entry
--- a/tools/lib/lockdep/uinclude/linux/compiler.h
+++ b/tools/lib/lockdep/uinclude/linux/compiler.h
@@ -3,6 +3,7 @@
 
 #define __used		__attribute__((__unused__))
 #define unlikely
+#define READ_ONCE(x) (x)
 #define WRITE_ONCE(x, val) x=(val)
 #define RCU_INIT_POINTER(p, v) p=(v)
 
