diff --git a/contrib/xc3028-firmware/firmware-tool.c b/contrib/xc3028-firmware/firmware-tool.c
index 5dd205e0..6bcb3237 100644
--- a/contrib/xc3028-firmware/firmware-tool.c
+++ b/contrib/xc3028-firmware/firmware-tool.c
@@ -29,6 +29,8 @@
 #include <string.h>
 #include <unistd.h>
 
+#include "linux/compiler.h"
+
 #include <asm/byteorder.h>
 #include <asm/types.h>
 
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index 379629be..5a6326f8 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -1,6 +1,7 @@
 #ifndef __linux_compiler_h
 #define __linux_compiler_h
 
+#define __SANE_USERSPACE_TYPES__
 #define __user
 
 #endif
diff --git a/utils/cec-compliance/cec-compliance.h b/utils/cec-compliance/cec-compliance.h
index aae72842..d5bd1d0a 100644
--- a/utils/cec-compliance/cec-compliance.h
+++ b/utils/cec-compliance/cec-compliance.h
@@ -8,6 +8,8 @@
 #ifndef _CEC_COMPLIANCE_H_
 #define _CEC_COMPLIANCE_H_
 
+#include "linux/compiler.h"
+
 #include <linux/cec-funcs.h>
 #include "cec-htng-funcs.h"
 
diff --git a/utils/cec-ctl/cec-ctl.cpp b/utils/cec-ctl/cec-ctl.cpp
index fb38320d..a2ffcb2b 100644
--- a/utils/cec-ctl/cec-ctl.cpp
+++ b/utils/cec-ctl/cec-ctl.cpp
@@ -21,6 +21,8 @@
 #include <sys/time.h>
 #include <unistd.h>
 
+#include "linux/compiler.h"
+
 #include <linux/cec-funcs.h>
 #include "cec-htng-funcs.h"
 #include "cec-log.h"
diff --git a/utils/cec-ctl/cec-ctl.h b/utils/cec-ctl/cec-ctl.h
index 2c82bedc..e0692c31 100644
--- a/utils/cec-ctl/cec-ctl.h
+++ b/utils/cec-ctl/cec-ctl.h
@@ -6,6 +6,8 @@
 #ifndef _CEC_CTL_H_
 #define _CEC_CTL_H_
 
+#include "linux/compiler.h"
+
 #include <cec-info.h>
 
 // cec-ctl.cpp
diff --git a/utils/cec-ctl/cec-pin.cpp b/utils/cec-ctl/cec-pin.cpp
index f3500555..0cdc19f7 100644
--- a/utils/cec-ctl/cec-pin.cpp
+++ b/utils/cec-ctl/cec-pin.cpp
@@ -3,6 +3,8 @@
  * Copyright 2017 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  */
 
+#include "linux/compiler.h"
+
 #include <string>
 
 #include <linux/cec.h>
diff --git a/utils/cec-follower/cec-processing.cpp b/utils/cec-follower/cec-processing.cpp
index 20c6165c..cc38f143 100644
--- a/utils/cec-follower/cec-processing.cpp
+++ b/utils/cec-follower/cec-processing.cpp
@@ -3,6 +3,8 @@
  * Copyright 2016 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  */
 
+#include "linux/compiler.h"
+
 #include <cerrno>
 #include <cinttypes>
 #include <ctime>
diff --git a/utils/common/v4l2-info.h b/utils/common/v4l2-info.h
index ac227971..eeb7bc6b 100644
--- a/utils/common/v4l2-info.h
+++ b/utils/common/v4l2-info.h
@@ -8,6 +8,8 @@
 
 #include <string>
 
+#include "linux/compiler.h"
+
 #include <linux/videodev2.h>
 #include <linux/v4l2-subdev.h>
 
diff --git a/utils/cx18-ctl/cx18-ctl.c b/utils/cx18-ctl/cx18-ctl.c
index 8586f72d..7c13b1a3 100644
--- a/utils/cx18-ctl/cx18-ctl.c
+++ b/utils/cx18-ctl/cx18-ctl.c
@@ -34,6 +34,8 @@
 #include <sys/time.h>
 #include <math.h>
 
+#include "linux/compiler.h"
+
 #include <linux/videodev2.h>
 #include <v4l-getsubopt.h>
 
diff --git a/utils/ivtv-ctl/ivtv-ctl.c b/utils/ivtv-ctl/ivtv-ctl.c
index b42b3489..bf36f40b 100644
--- a/utils/ivtv-ctl/ivtv-ctl.c
+++ b/utils/ivtv-ctl/ivtv-ctl.c
@@ -34,6 +34,8 @@
 #include <sys/time.h>
 #include <math.h>
 
+#include "linux/compiler.h"
+
 #include <linux/videodev2.h>
 #include <v4l-getsubopt.h>
 
diff --git a/utils/keytable/keytable.c b/utils/keytable/keytable.c
index 538f4ef3..ba7c7c4d 100644
--- a/utils/keytable/keytable.c
+++ b/utils/keytable/keytable.c
@@ -12,6 +12,8 @@
    GNU General Public License for more details.
  */
 
+#include "linux/compiler.h"
+
 #include <ctype.h>
 #include <errno.h>
 #include <fcntl.h>
diff --git a/utils/media-ctl/media-ctl.c b/utils/media-ctl/media-ctl.c
index 33df0880..f91c1cfa 100644
--- a/utils/media-ctl/media-ctl.c
+++ b/utils/media-ctl/media-ctl.c
@@ -34,6 +34,8 @@
 #include <string.h>
 #include <unistd.h>
 
+#include "linux/compiler.h"
+
 #include <linux/media.h>
 #include <linux/types.h>
 #include <linux/v4l2-mediabus.h>
diff --git a/utils/v4l2-compliance/v4l2-compliance.h b/utils/v4l2-compliance/v4l2-compliance.h
index 3517bd07..2c2b2158 100644
--- a/utils/v4l2-compliance/v4l2-compliance.h
+++ b/utils/v4l2-compliance/v4l2-compliance.h
@@ -26,6 +26,8 @@
 #include <string>
 #include <cstdint>
 
+#include "linux/compiler.h"
+
 #include <linux/videodev2.h>
 #include <linux/v4l2-subdev.h>
 #include <linux/media.h>
diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp
index 1f9cd0fb..ea120eb8 100644
--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
+++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
@@ -9,6 +9,8 @@
 #include <sys/stat.h>
 #include <sys/sysmacros.h>
 
+#include "linux/compiler.h"
+
 #include <linux/media.h>
 
 #include "v4l2-ctl.h"
diff --git a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
index 13bc057d..7af62ec8 100644
--- a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
+++ b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
@@ -3,6 +3,8 @@
 #include <netdb.h>
 #include <sys/types.h>
 
+#include "linux/compiler.h"
+
 #include <linux/media.h>
 
 #include "compiler.h"
diff --git a/utils/v4l2-ctl/v4l2-ctl.cpp b/utils/v4l2-ctl/v4l2-ctl.cpp
index a64fa514..d8a6c617 100644
--- a/utils/v4l2-ctl/v4l2-ctl.cpp
+++ b/utils/v4l2-ctl/v4l2-ctl.cpp
@@ -27,6 +27,8 @@
 #include <getopt.h>
 #include <sys/epoll.h>
 
+#include "linux/compiler.h"
+
 #include <linux/media.h>
 
 #include "v4l2-ctl.h"
diff --git a/utils/v4l2-ctl/v4l2-ctl.h b/utils/v4l2-ctl/v4l2-ctl.h
index a1911e80..fd1bd24a 100644
--- a/utils/v4l2-ctl/v4l2-ctl.h
+++ b/utils/v4l2-ctl/v4l2-ctl.h
@@ -1,6 +1,8 @@
 #ifndef _V4L2_CTL_H
 #define _V4L2_CTL_H
 
+#include "linux/compiler.h"
+
 #include <cstdint>
 #include <linux/videodev2.h>
 #include <linux/v4l2-subdev.h>
diff --git a/utils/v4l2-dbg/v4l2-dbg.cpp b/utils/v4l2-dbg/v4l2-dbg.cpp
index bd08b4cf..1b0d278a 100644
--- a/utils/v4l2-dbg/v4l2-dbg.cpp
+++ b/utils/v4l2-dbg/v4l2-dbg.cpp
@@ -31,6 +31,8 @@
 #include <sys/klog.h>
 #endif
 
+#include "linux/compiler.h"
+
 #include <linux/videodev2.h>
 #include <v4l-getsubopt.h>
 
