Do not include kernel.h in system.h.

system.h doesn't need it on its own and this change makes it less
dependant on Rockbox internals.

Change-Id: I4e1e4108a52a7b599627a829204eb82b392fc6d6
diff --git a/apps/codec_thread.c b/apps/codec_thread.c
index 8f9f5a3..f2039d1 100644
--- a/apps/codec_thread.c
+++ b/apps/codec_thread.c
@@ -20,6 +20,7 @@
  * KIND, either express or implied.
  *
  ****************************************************************************/
+
 #include "config.h"
 #include "system.h"
 #include "kernel.h"
diff --git a/apps/rbcodecconfig.h b/apps/rbcodecconfig.h
index c924159..9258418 100644
--- a/apps/rbcodecconfig.h
+++ b/apps/rbcodecconfig.h
@@ -18,6 +18,9 @@
  * {,U}INT{8,16,32,64}_{MIN,MAX} */
 #include "system.h"
 
+/* HZ, TIME_AFTER */
+#include "kernel.h"
+
 /* Structure to record some info during processing call */
 struct dsp_loop_context
 {
diff --git a/apps/recorder/bmp.c b/apps/recorder/bmp.c
index e4eb588..dfd6a04 100644
--- a/apps/recorder/bmp.c
+++ b/apps/recorder/bmp.c
@@ -38,6 +38,7 @@
    ahead by whole lines, or read the next chunk of the current line
 */
 
+#define ROCKBOX_DEBUG_BMP_LOADER
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -53,7 +54,7 @@
 #include "lcd-remote.h"
 #endif
 #ifdef ROCKBOX_DEBUG_BMP_LOADER
-#define BDEBUGF DEBUGF
+#define BDEBUGF printf
 #else
 #define BDEBUGF(...)
 #endif
@@ -774,6 +775,7 @@
 #endif
         .alpha_detected = false, .first_alpha_byte = 0x80,
         .order = order,
+        .buf = NULL,
     };
 
 #if (LCD_DEPTH > 1 || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1)) && \
diff --git a/apps/recorder/resize.c b/apps/recorder/resize.c
index 1e45b66..3238453 100644
--- a/apps/recorder/resize.c
+++ b/apps/recorder/resize.c
@@ -31,12 +31,14 @@
  *
  ****************************************************************************/
 
-#include <system.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <general.h>
-#include "inttypes.h"
+#include <stdint.h>
+
+#include "general.h"
+#include "kernel.h"
+#include "system.h"
 #ifndef PLUGIN
 #include "debug.h"
 #endif
diff --git a/apps/voice_thread.c b/apps/voice_thread.c
index 7788f65..3b6fe5b 100644
--- a/apps/voice_thread.c
+++ b/apps/voice_thread.c
@@ -18,8 +18,10 @@
  * KIND, either express or implied.
  *
  ****************************************************************************/
+
 #include "config.h"
 #include "system.h"
+#include "kernel.h"
 #include "core_alloc.h"
 #include "thread.h"
 #include "appevents.h"
diff --git a/firmware/buflib.c b/firmware/buflib.c
index d7a24b8..db09d3e 100644
--- a/firmware/buflib.c
+++ b/firmware/buflib.c
@@ -27,6 +27,7 @@
 
 #include <stdlib.h> /* for abs() */
 #include <stdio.h> /* for snprintf() */
+#include <stddef.h> /* for ptrdiff_t */
 #include "buflib.h"
 #include "string-extra.h" /* strlcpy() */
 #include "debug.h"
diff --git a/firmware/drivers/audio/as3514.c b/firmware/drivers/audio/as3514.c
index 1f79277..6f531be 100644
--- a/firmware/drivers/audio/as3514.c
+++ b/firmware/drivers/audio/as3514.c
@@ -21,9 +21,11 @@
  * KIND, either express or implied.
  *
  ****************************************************************************/
+
 #include "cpu.h"
 #include "debug.h"
 #include "system.h"
+#include "kernel.h"
 #include "audio.h"
 #include "sound.h"
 
diff --git a/firmware/export/system.h b/firmware/export/system.h
index b1959c4..25f9287 100644
--- a/firmware/export/system.h
+++ b/firmware/export/system.h
@@ -22,9 +22,10 @@
 #ifndef __SYSTEM_H__
 #define __SYSTEM_H__
 
+#include <stdbool.h>
+#include <stdint.h>
+
 #include "cpu.h"
-#include "stdbool.h"
-#include "kernel.h"
 #include "gcc_extensions.h" /* for LIKELY/UNLIKELY */
 
 extern void system_reboot (void);
diff --git a/firmware/font.c b/firmware/font.c
index 06f1040..e7a574f 100644
--- a/firmware/font.c
+++ b/firmware/font.c
@@ -24,14 +24,16 @@
  * loaded at startup, as well as their mapping into
  * the FONT_SYSFIXED, FONT_UI and FONT_MP3 ids.
  */
-#include "config.h"
-
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
-#include "inttypes.h"
-#include "lcd.h"
+#include <stdint.h>
+#include <stddef.h>
+
+#include "config.h"
 #include "system.h"
+#include "kernel.h"
+#include "lcd.h"
 #include "font.h"
 #include "file.h"
 #include "core_alloc.h"
diff --git a/firmware/general.c b/firmware/general.c
index 8e6d5af..d6c1d2f 100644
--- a/firmware/general.c
+++ b/firmware/general.c
@@ -19,8 +19,10 @@
  *
  ****************************************************************************/
 
-#include "config.h"
 #include <stdio.h>
+#include "config.h"
+#include "system.h"
+#include "kernel.h"
 #include "general.h"
 #include "file.h"
 #include "dir.h"
@@ -28,7 +30,6 @@
 #include "limits.h"
 #include "stdlib.h"
 #include "string-extra.h"
-#include "system.h"
 #include "time.h"
 #include "timefuncs.h"
 
diff --git a/firmware/target/arm/as3525/debug-as3525.c b/firmware/target/arm/as3525/debug-as3525.c
index 514eebd..ab70f73 100644
--- a/firmware/target/arm/as3525/debug-as3525.c
+++ b/firmware/target/arm/as3525/debug-as3525.c
@@ -20,10 +20,11 @@
  ****************************************************************************/
 
 #include <stdbool.h>
+#include "system.h"
+#include "kernel.h"
 #include "button.h"
 #include "lcd.h"
 #include "font.h"
-#include "system.h"
 #include "cpu.h"
 #include "pl180.h"
 #include "ascodec.h"
diff --git a/firmware/target/arm/as3525/lcd-fuze.c b/firmware/target/arm/as3525/lcd-fuze.c
index b203373..df4d668 100644
--- a/firmware/target/arm/as3525/lcd-fuze.c
+++ b/firmware/target/arm/as3525/lcd-fuze.c
@@ -19,11 +19,12 @@
  * KIND, either express or implied.
  *
  ****************************************************************************/
-#include "config.h"
 
+#include "config.h"
 #include "cpu.h"
-#include "lcd.h"
 #include "system.h"
+#include "kernel.h"
+#include "lcd.h"
 #include "file.h"
 #include "clock-target.h"
 #include "dbop-as3525.h"
diff --git a/firmware/target/arm/as3525/sansa-fuzev2/button-fuzev2.c b/firmware/target/arm/as3525/sansa-fuzev2/button-fuzev2.c
index 8244c47..1b30e11 100644
--- a/firmware/target/arm/as3525/sansa-fuzev2/button-fuzev2.c
+++ b/firmware/target/arm/as3525/sansa-fuzev2/button-fuzev2.c
@@ -21,6 +21,7 @@
 
 #include "config.h"
 #include "system.h"
+#include "kernel.h"
 #include "button.h"
 #include "backlight.h"
 
diff --git a/firmware/target/arm/pp/system-target.h b/firmware/target/arm/pp/system-target.h
index 84419ed..742044b 100644
--- a/firmware/target/arm/pp/system-target.h
+++ b/firmware/target/arm/pp/system-target.h
@@ -22,9 +22,10 @@
 #ifndef SYSTEM_TARGET_H
 #define SYSTEM_TARGET_H
 
+#include <stdbool.h>
 #include "config.h"
 #include "system-arm.h"
-#include <stdbool.h>
+#include "kernel.h"
 
 /* TODO: This header could be split in 2 */
 
diff --git a/firmware/target/hosted/android/pcm-android.c b/firmware/target/hosted/android/pcm-android.c
index 0608e97..23a003f 100644
--- a/firmware/target/hosted/android/pcm-android.c
+++ b/firmware/target/hosted/android/pcm-android.c
@@ -22,8 +22,9 @@
 #include <jni.h>
 #include <stdbool.h>
 #define _SYSTEM_WITH_JNI /* for getJavaEnvironment */
-#include <system.h>
 #include <pthread.h>
+#include "system.h"
+#include "kernel.h"
 #include "debug.h"
 #include "pcm.h"
 #include "pcm-internal.h"
diff --git a/firmware/target/hosted/kernel-unix.c b/firmware/target/hosted/kernel-unix.c
index a0167d4..e3c492a 100644
--- a/firmware/target/hosted/kernel-unix.c
+++ b/firmware/target/hosted/kernel-unix.c
@@ -26,8 +26,10 @@
 #include <errno.h>
 #include <unistd.h>
 #include <pthread.h>
+
 #include "config.h"
 #include "system.h"
+#include "kernel.h"
 #include "button.h"
 #include "audio.h"
 #include "panic.h"
@@ -165,4 +167,3 @@
     timer_delete(timer_tid);
     timer_prio = -1;
 }
-