diff --git a/input/drivers_hid/wiiu_hid.c b/input/drivers_hid/wiiu_hid.c
index 221aea7e69..c37a0511a8 100644
--- a/input/drivers_hid/wiiu_hid.c
+++ b/input/drivers_hid/wiiu_hid.c
@@ -14,8 +14,8 @@
* If not, see .
*/
-#include
-#include
+#include "wiiu/hid.h"
+#include "wiiu/os/atomic.h"
static wiiu_event_list events;
static wiiu_adapter_list adapters;
diff --git a/input/drivers_joypad/wiiu/hidpad_driver.c b/input/drivers_joypad/wiiu/hidpad_driver.c
index e698757e8d..652c13a4be 100644
--- a/input/drivers_joypad/wiiu/hidpad_driver.c
+++ b/input/drivers_joypad/wiiu/hidpad_driver.c
@@ -14,7 +14,7 @@
* If not, see .
*/
-#include
+#include "wiiu/input.h"
static bool hidpad_init(void *data);
static bool hidpad_query_pad(unsigned pad);
diff --git a/input/drivers_joypad/wiiu/kpad_driver.c b/input/drivers_joypad/wiiu/kpad_driver.c
index b222eb7c20..6de9906def 100644
--- a/input/drivers_joypad/wiiu/kpad_driver.c
+++ b/input/drivers_joypad/wiiu/kpad_driver.c
@@ -20,7 +20,7 @@
* controllers.
*/
-#include
+#include "wiiu/input.h"
static bool kpad_init(void *data);
static bool kpad_query_pad(unsigned pad);
diff --git a/input/drivers_joypad/wiiu/pad_functions.c b/input/drivers_joypad/wiiu/pad_functions.c
index 449f8037c1..d025325519 100644
--- a/input/drivers_joypad/wiiu/pad_functions.c
+++ b/input/drivers_joypad/wiiu/pad_functions.c
@@ -14,7 +14,7 @@
* If not, see .
*/
-#include
+#include "wiiu/input.h"
enum wiiu_pad_axes {
AXIS_LEFT_ANALOG_X,
diff --git a/input/drivers_joypad/wiiu/wpad_driver.c b/input/drivers_joypad/wiiu/wpad_driver.c
index 0bda8177bd..4f427ab430 100644
--- a/input/drivers_joypad/wiiu/wpad_driver.c
+++ b/input/drivers_joypad/wiiu/wpad_driver.c
@@ -21,7 +21,7 @@
* - For HID controllers, see hid_driver.c
*/
-#include
+#include "wiiu/input.h"
#define PANIC_BUTTON_MASK (VPAD_BUTTON_R | VPAD_BUTTON_L | VPAD_BUTTON_STICK_R | VPAD_BUTTON_STICK_L)
diff --git a/input/drivers_joypad/wiiu_joypad.c b/input/drivers_joypad/wiiu_joypad.c
index 5553721cf1..64675dcb4f 100644
--- a/input/drivers_joypad/wiiu_joypad.c
+++ b/input/drivers_joypad/wiiu_joypad.c
@@ -14,7 +14,7 @@
* If not, see .
*/
-#include
+#include "wiiu/input.h"
#include "wiiu_dbg.h"
diff --git a/input/include/wiiu/hid.h b/input/include/wiiu/hid.h
index 8e2ffc47e0..e282074dcc 100644
--- a/input/include/wiiu/hid.h
+++ b/input/include/wiiu/hid.h
@@ -17,8 +17,9 @@
#ifndef __WIIU_HID__H
#define __WIIU_HID__H
-#include
-#include
+#include "wiiu/hid_types.h"
+#include "wiiu/input.h"
+#include "input/common/hid/hid_device_driver.h"
#define DEVICE_UNUSED 0
#define DEVICE_USED 1
diff --git a/input/include/wiiu/input.h b/input/include/wiiu/input.h
index f10be960b9..a0034b3528 100644
--- a/input/include/wiiu/input.h
+++ b/input/include/wiiu/input.h
@@ -17,31 +17,32 @@
#ifndef __WIIU_INPUT__H
#define __WIIU_INPUT__H
-#include
-#include
-
-#ifdef HAVE_CONFIG_H
-#include "../../config.h"
-#endif /* HAVE_CONFIG_H */
-
#include
#include
#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include "../../common/hid/hid_device_driver.h"
-#include
-#include
-#include
-#include
-#include
-#include
-#include
+#include "wiiu/hid_types.h"
+#include "gamepad.h"
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include "wiiu/os.h"
+#include "wiiu/syshid.h"
+#include "wiiu/vpad.h"
+#include "wiiu/kpad.h"
+#include "wiiu/pad_strings.h"
+#include "wiiu/hid.h"
+
+#include "input/input_driver.h"
+#include "input/common/hid/hid_device_driver.h"
+#include "tasks/tasks_internal.h"
+#include "input/connect/joypad_connection.h"
+#include "retroarch.h"
+#include "verbosity.h"
+#include "command.h"
+#include "gfx/video_driver.h"
#define WIIMOTE_TYPE_WIIPLUS 0x00
#define WIIMOTE_TYPE_NUNCHUK 0x01
diff --git a/wiiu/hbl.h b/wiiu/hbl.h
index f34f5451e9..939bbba9e3 100644
--- a/wiiu/hbl.h
+++ b/wiiu/hbl.h
@@ -1,6 +1,8 @@
#ifndef __WIIU_HBL_LOADER_H__
#define __WIIU_HBL_LOADER_H__
+#include "wiiu/types.h"
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/wiiu/main.c b/wiiu/main.c
index 4a7c74ccc1..c1aa889b31 100644
--- a/wiiu/main.c
+++ b/wiiu/main.c
@@ -17,25 +17,36 @@
#include
#include
#include
-
+#include
#include
#include
#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include "main.h"
+#include "hbl.h"
+
+#include "fs/fs_utils.h"
+#include "fs/sd_fat_devoptab.h"
+
+#include "system/dynamic.h"
+#include "system/memory.h"
+#include "system/exception_handler.h"
+
+#include "wiiu/gx2.h"
+#include "wiiu/ios.h"
+#include "wiiu/kpad.h"
+#include "wiiu/os.h"
+#include "wiiu/procui.h"
+#include "wiiu/sysapp.h"
/**
* This file contains the main entrypoints for the Wii U executable that
* set up the call to main().
*/
+int main(int argc, char **argv);
+void __fini(void);
+void __init(void);
+
static void fsdev_init(void);
static void fsdev_exit(void);
diff --git a/wiiu/main.h b/wiiu/main.h
deleted file mode 100644
index 482d056abb..0000000000
--- a/wiiu/main.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef WIIU_MAIN__H
-#define WIIU_MAIN__H
-
-#include "hbl.h"
-#include "wiiu_dbg.h"
-
-#include "fs/fs_utils.h"
-#include "fs/sd_fat_devoptab.h"
-#include "system/dynamic.h"
-#include "system/memory.h"
-#include "system/exception_handler.h"
-
-void __init(void);
-void __fini(void);
-
-int main(int argc, char **argv);
-
-#endif /* WIIU_MAIN_H */