Don't rely on transitively included headers

One must explicitly include what it need.
time.h for clock_gettime
float.h for FLT_MAX
string.h for memset

Bug: 37629934
Test: build

Merged-In: I1030a9c9ff3c2de4c5febabc3064d6976e9535cf
Change-Id: I5a8fd84a10aeeab2258f78a0ac992de0afa33d00
diff --git a/include/hardware/thermal.h b/include/hardware/thermal.h
index b5b6e1d..5db6ee0 100644
--- a/include/hardware/thermal.h
+++ b/include/hardware/thermal.h
@@ -19,6 +19,7 @@
 
 #include <stdbool.h>
 #include <stdint.h>
+#include <float.h>
 #include <sys/cdefs.h>
 #include <sys/types.h>
 
diff --git a/modules/hwcomposer/hwcomposer.cpp b/modules/hwcomposer/hwcomposer.cpp
index fd4e90d..31e362a 100644
--- a/modules/hwcomposer/hwcomposer.cpp
+++ b/modules/hwcomposer/hwcomposer.cpp
@@ -17,6 +17,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <malloc.h>
+#include <string.h>
 
 #include <cutils/atomic.h>
 #include <log/log.h>
diff --git a/modules/local_time/local_time_hw.c b/modules/local_time/local_time_hw.c
index b38d8a5..a2d1a9e 100644
--- a/modules/local_time/local_time_hw.c
+++ b/modules/local_time/local_time_hw.c
@@ -21,7 +21,7 @@
 #include <malloc.h>
 #include <stdint.h>
 #include <string.h>
-#include <sys/time.h>
+#include <time.h>
 
 #include <log/log.h>