#ifndef __IPU3_CIO2_H
 #define __IPU3_CIO2_H
 
+#include <linux/bits.h>
+#include <linux/dma-mapping.h>
+#include <linux/kernel.h>
+#include <linux/mutex.h>
 #include <linux/types.h>
 
+#include <asm/page.h>
+
+#include <media/media-device.h>
+#include <media/media-entity.h>
+#include <media/v4l2-async.h>
+#include <media/v4l2-dev.h>
+#include <media/v4l2-device.h>
+#include <media/v4l2-subdev.h>
+#include <media/videobuf2-core.h>
+#include <media/videobuf2-v4l2.h>
+
+struct cio2_fbpt_entry;                /* defined here, after the first usage */
+struct pci_dev;
+
 #define CIO2_NAME                                      "ipu3-cio2"
 #define CIO2_DEVICE_NAME                               "Intel IPU3 CIO2"
 #define CIO2_ENTITY_NAME                               "ipu3-csi2"