diff --git a/kernel-headers/linux/msm_ion.h b/kernel-headers/linux/msm_ion.h
index 177c345..31a8391 100644
--- a/kernel-headers/linux/msm_ion.h
+++ b/kernel-headers/linux/msm_ion.h
@@ -88,47 +88,57 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ION_FLAG_FORCE_CONTIGUOUS (1 << 30)
 #define ION_FLAG_POOL_FORCE_ALLOC (1 << 16)
+#define ION_FLAG_POOL_PREFETCH (1 << 27)
 #define ION_SECURE ION_FLAG_SECURE
-#define ION_FORCE_CONTIGUOUS ION_FLAG_FORCE_CONTIGUOUS
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ION_FORCE_CONTIGUOUS ION_FLAG_FORCE_CONTIGUOUS
 #define ION_HEAP(bit) (1 << (bit))
 #define ION_ADSP_HEAP_NAME "adsp"
 #define ION_SYSTEM_HEAP_NAME "system"
-#define ION_VMALLOC_HEAP_NAME ION_SYSTEM_HEAP_NAME
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ION_VMALLOC_HEAP_NAME ION_SYSTEM_HEAP_NAME
 #define ION_KMALLOC_HEAP_NAME "kmalloc"
 #define ION_AUDIO_HEAP_NAME "audio"
 #define ION_SF_HEAP_NAME "sf"
-#define ION_MM_HEAP_NAME "mm"
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ION_MM_HEAP_NAME "mm"
 #define ION_CAMERA_HEAP_NAME "camera_preview"
 #define ION_IOMMU_HEAP_NAME "iommu"
 #define ION_MFC_HEAP_NAME "mfc"
-#define ION_WB_HEAP_NAME "wb"
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ION_WB_HEAP_NAME "wb"
 #define ION_MM_FIRMWARE_HEAP_NAME "mm_fw"
 #define ION_PIL1_HEAP_NAME "pil_1"
 #define ION_PIL2_HEAP_NAME "pil_2"
-#define ION_QSECOM_HEAP_NAME "qsecom"
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ION_QSECOM_HEAP_NAME "qsecom"
 #define ION_SECURE_HEAP_NAME "secure_heap"
 #define ION_SECURE_DISPLAY_HEAP_NAME "secure_display"
 #define ION_SET_CACHED(__cache) (__cache | ION_FLAG_CACHED)
-#define ION_SET_UNCACHED(__cache) (__cache & ~ION_FLAG_CACHED)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ION_SET_UNCACHED(__cache) (__cache & ~ION_FLAG_CACHED)
 #define ION_IS_CACHED(__flags) ((__flags) & ION_FLAG_CACHED)
 struct ion_flush_data {
   ion_user_handle_t handle;
-  int fd;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  int fd;
   void * vaddr;
   unsigned int offset;
   unsigned int length;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
+struct ion_prefetch_regions {
+  unsigned int vmid;
+  size_t __user * sizes;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  unsigned int nr_sizes;
+};
 struct ion_prefetch_data {
   int heap_id;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   unsigned long len;
+  struct ion_prefetch_regions __user * regions;
+  unsigned int nr_regions;
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ION_IOC_MSM_MAGIC 'M'
diff --git a/kernel-headers/media/msm_cam_sensor.h b/kernel-headers/media/msm_cam_sensor.h
index 0c95ee8..790404b 100644
--- a/kernel-headers/media/msm_cam_sensor.h
+++ b/kernel-headers/media/msm_cam_sensor.h
@@ -459,9 +459,9 @@
   uint16_t init_setting_size;
   uint32_t i2c_addr;
   enum i2c_freq_mode_t i2c_freq_mode;
-  enum msm_actuator_addr_type i2c_addr_type;
+  enum msm_camera_i2c_reg_addr_type i2c_addr_type;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-  enum msm_actuator_data_type i2c_data_type;
+  enum msm_camera_i2c_data_type i2c_data_type;
   struct msm_actuator_reg_params_t * reg_tbl_params;
   struct reg_settings_t * init_settings;
   struct park_lens_data_t park_lens;
diff --git a/kernel-headers/media/msm_camera.h b/kernel-headers/media/msm_camera.h
index 4692fae..e77828d 100644
--- a/kernel-headers/media/msm_camera.h
+++ b/kernel-headers/media/msm_camera.h
@@ -18,20 +18,10 @@
  ****************************************************************************/
 #ifndef __UAPI_MSM_CAMERA_H
 #define __UAPI_MSM_CAMERA_H
-#ifdef MSM_CAMERA_BIONIC
-#include <sys/types.h>
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#endif
 #include <linux/videodev2.h>
 #include <linux/types.h>
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #include <linux/ioctl.h>
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#ifdef MSM_CAMERA_GCC
-#include <time.h>
-#else
-#include <linux/time.h>
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#endif
 #include <linux/msm_ion.h>
 #define BIT(nr) (1UL << (nr))
 #define MSM_CAM_IOCTL_MAGIC 'm'
@@ -586,7 +576,7 @@
 #define OUTPUT_VIDEO_ALL_CHNLS 9
 #define OUTPUT_ZSL_ALL_CHNLS 10
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define LAST_AXI_OUTPUT_MODE_ENUM = OUTPUT_ZSL_ALL_CHNLS
+#define LAST_AXI_OUTPUT_MODE_ENUM OUTPUT_ZSL_ALL_CHNLS
 #define OUTPUT_PRIM BIT(8)
 #define OUTPUT_PRIM_ALL_CHNLS BIT(9)
 #define OUTPUT_SEC BIT(10)
@@ -2018,7 +2008,7 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define VIDIOC_MSM_AXI_IRQ _IOWR('V', BASE_VIDIOC_PRIVATE + 21, void *)
 #define VIDIOC_MSM_AXI_BUF_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 22, void *)
-#define VIDIOC_MSM_AXI_RDI_COUNT_UPDATE _IOWR('V', BASE_VIDIOC_PRIVATE + 23, struct rdi_count_msg)
+#define VIDIOC_MSM_AXI_RDI_COUNT_UPDATE _IOWR('V', BASE_VIDIOC_PRIVATE + 23, void *)
 #define VIDIOC_MSM_VFE_INIT _IO('V', BASE_VIDIOC_PRIVATE + 24)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define VIDIOC_MSM_VFE_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 25)
diff --git a/kernel-headers/media/msm_camsensor_sdk.h b/kernel-headers/media/msm_camsensor_sdk.h
index 71e1a10..74baaee 100644
--- a/kernel-headers/media/msm_camsensor_sdk.h
+++ b/kernel-headers/media/msm_camsensor_sdk.h
@@ -401,9 +401,9 @@
 struct reg_settings_t {
   unsigned short reg_addr;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-  enum msm_actuator_addr_type addr_type;
+  enum msm_camera_i2c_reg_addr_type addr_type;
   unsigned short reg_data;
-  enum msm_actuator_data_type data_type;
+  enum msm_camera_i2c_data_type data_type;
   enum msm_actuator_i2c_operation i2c_operation;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   unsigned int delay;
diff --git a/original-kernel-headers/linux/msm_ion.h b/original-kernel-headers/linux/msm_ion.h
index 681e015..f4584ce 100644
--- a/original-kernel-headers/linux/msm_ion.h
+++ b/original-kernel-headers/linux/msm_ion.h
@@ -107,6 +107,9 @@
  */
 #define ION_FLAG_POOL_FORCE_ALLOC (1 << 16)
 
+
+#define ION_FLAG_POOL_PREFETCH (1 << 27)
+
 /**
 * Deprecated! Please use the corresponding ION_FLAG_*
 */
@@ -161,10 +164,18 @@
 	unsigned int length;
 };
 
+struct ion_prefetch_regions {
+	unsigned int vmid;
+	size_t __user *sizes;
+	unsigned int nr_sizes;
+};
 
 struct ion_prefetch_data {
 	int heap_id;
 	unsigned long len;
+	/* Is unsigned long bad? 32bit compiler vs 64 bit compiler*/
+	struct ion_prefetch_regions __user *regions;
+	unsigned int nr_regions;
 };
 
 #define ION_IOC_MSM_MAGIC 'M'
diff --git a/original-kernel-headers/media/msm_cam_sensor.h b/original-kernel-headers/media/msm_cam_sensor.h
index c534911..d83e008 100644
--- a/original-kernel-headers/media/msm_cam_sensor.h
+++ b/original-kernel-headers/media/msm_cam_sensor.h
@@ -409,8 +409,8 @@
 	uint16_t init_setting_size;
 	uint32_t i2c_addr;
 	enum i2c_freq_mode_t i2c_freq_mode;
-	enum msm_actuator_addr_type i2c_addr_type;
-	enum msm_actuator_data_type i2c_data_type;
+	enum msm_camera_i2c_reg_addr_type i2c_addr_type;
+	enum msm_camera_i2c_data_type i2c_data_type;
 	struct msm_actuator_reg_params_t *reg_tbl_params;
 	struct reg_settings_t *init_settings;
 	struct park_lens_data_t park_lens;
diff --git a/original-kernel-headers/media/msm_camera.h b/original-kernel-headers/media/msm_camera.h
index b15315d..10ee4b7 100644
--- a/original-kernel-headers/media/msm_camera.h
+++ b/original-kernel-headers/media/msm_camera.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2009-2012, 2014-2015 The Linux Foundation. All rights reserved.
+/* Copyright (c) 2009-2012, 2014-2016 The Linux Foundation. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -13,17 +13,9 @@
 #ifndef __UAPI_MSM_CAMERA_H
 #define __UAPI_MSM_CAMERA_H
 
-#ifdef MSM_CAMERA_BIONIC
-#include <sys/types.h>
-#endif
 #include <linux/videodev2.h>
 #include <linux/types.h>
 #include <linux/ioctl.h>
-#ifdef MSM_CAMERA_GCC
-#include <time.h>
-#else
-#include <linux/time.h>
-#endif
 
 #include <linux/msm_ion.h>
 
@@ -690,7 +682,7 @@
 #define OUTPUT_ALL_CHNLS 8
 #define OUTPUT_VIDEO_ALL_CHNLS 9
 #define OUTPUT_ZSL_ALL_CHNLS 10
-#define LAST_AXI_OUTPUT_MODE_ENUM = OUTPUT_ZSL_ALL_CHNLS
+#define LAST_AXI_OUTPUT_MODE_ENUM OUTPUT_ZSL_ALL_CHNLS
 
 #define OUTPUT_PRIM              BIT(8)
 #define OUTPUT_PRIM_ALL_CHNLS    BIT(9)
@@ -2070,7 +2062,7 @@
 	_IOWR('V', BASE_VIDIOC_PRIVATE + 22, void *)
 
 #define VIDIOC_MSM_AXI_RDI_COUNT_UPDATE \
-	_IOWR('V', BASE_VIDIOC_PRIVATE + 23, struct rdi_count_msg)
+	_IOWR('V', BASE_VIDIOC_PRIVATE + 23, void *)
 
 #define VIDIOC_MSM_VFE_INIT \
 	_IO('V', BASE_VIDIOC_PRIVATE + 24)
@@ -2229,5 +2221,4 @@
 	((handle & 0x80) ? (handle & 0x7F) : 0xFF)
 #define SET_VIDEO_INST_IDX(handle, data)	\
 	(handle |= (0x1 << 7) | (data & 0x7F))
-
-#endif /* __UAPI_MSM_CAMERA_H */
+#endif
diff --git a/original-kernel-headers/media/msm_camsensor_sdk.h b/original-kernel-headers/media/msm_camsensor_sdk.h
index eab853b..3985e97 100644
--- a/original-kernel-headers/media/msm_camsensor_sdk.h
+++ b/original-kernel-headers/media/msm_camsensor_sdk.h
@@ -367,9 +367,9 @@
 
 struct reg_settings_t {
 	unsigned short reg_addr;
-	enum msm_actuator_addr_type addr_type;
+	enum msm_camera_i2c_reg_addr_type addr_type;
 	unsigned short reg_data;
-	enum msm_actuator_data_type data_type;
+	enum msm_camera_i2c_data_type data_type;
 	enum msm_actuator_i2c_operation i2c_operation;
 	unsigned int delay;
 };
