auto import from //branches/cupcake/...@130745
diff --git a/include/hardware/copybit.h b/include/hardware/copybit.h
index 3c873e0..15b5ebe 100644
--- a/include/hardware/copybit.h
+++ b/include/hardware/copybit.h
@@ -39,13 +39,13 @@
  * graphics/PixelFormat.java, ui/PixelFormat.h, pixelflinger/format.h
  */
 enum {
-    COPYBIT_FORMAT_RGBA_8888    = 1,
-    COPYBIT_FORMAT_RGB_565      = 4,
-    COPYBIT_FORMAT_BGRA_8888    = 5,
-    COPYBIT_FORMAT_RGBA_5551    = 6,
-    COPYBIT_FORMAT_RGBA_4444    = 7,
-    COPYBIT_FORMAT_YCbCr_422_SP = 0x10,
-    COPYBIT_FORMAT_YCbCr_420_SP = 0x11
+    COPYBIT_FORMAT_RGBA_8888    = HAL_PIXEL_FORMAT_RGBA_8888,
+    COPYBIT_FORMAT_RGB_565      = HAL_PIXEL_FORMAT_RGB_565,
+    COPYBIT_FORMAT_BGRA_8888    = HAL_PIXEL_FORMAT_BGRA_8888,
+    COPYBIT_FORMAT_RGBA_5551    = HAL_PIXEL_FORMAT_RGBA_5551,
+    COPYBIT_FORMAT_RGBA_4444    = HAL_PIXEL_FORMAT_RGBA_4444,
+    COPYBIT_FORMAT_YCbCr_422_SP = HAL_PIXEL_FORMAT_YCbCr_422_SP,
+    COPYBIT_FORMAT_YCbCr_420_SP = HAL_PIXEL_FORMAT_YCbCr_420_SP,
 };
 
 /* name for copybit_set_parameter */
diff --git a/include/hardware/hardware.h b/include/hardware/hardware.h
index 65ce8d0..e480675 100644
--- a/include/hardware/hardware.h
+++ b/include/hardware/hardware.h
@@ -106,6 +106,25 @@
  */
 int hw_get_module(const char *id, const struct hw_module_t **module);
 
+
+/**
+ * pixel format definitions
+ */
+
+enum {
+    HAL_PIXEL_FORMAT_RGBA_8888    = 1,
+    HAL_PIXEL_FORMAT_RGB_565      = 4,
+    HAL_PIXEL_FORMAT_BGRA_8888    = 5,
+    HAL_PIXEL_FORMAT_RGBA_5551    = 6,
+    HAL_PIXEL_FORMAT_RGBA_4444    = 7,
+    HAL_PIXEL_FORMAT_YCbCr_422_SP = 0x10,
+    HAL_PIXEL_FORMAT_YCbCr_420_SP = 0x11,
+    HAL_PIXEL_FORMAT_YCbCr_422_P  = 0x12,
+    HAL_PIXEL_FORMAT_YCbCr_420_P  = 0x13,
+    HAL_PIXEL_FORMAT_YCbCr_422_I  = 0x14,
+    HAL_PIXEL_FORMAT_YCbCr_420_I  = 0x15
+};
+
 __END_DECLS
 
 #endif  /* ANDROID_INCLUDE_HARDWARE_HARDWARE_H */
diff --git a/include/hardware/overlay.h b/include/hardware/overlay.h
index a5cd263..c5d43cb 100644
--- a/include/hardware/overlay.h
+++ b/include/hardware/overlay.h
@@ -42,13 +42,11 @@
 
 /* possible overlay formats */
 enum {
-    OVERLAY_FORMAT_RGBA_8888    = 1,
-    OVERLAY_FORMAT_RGB_565      = 4,
-    OVERLAY_FORMAT_BGRA_8888    = 5,
-    OVERLAY_FORMAT_YCbCr_422_SP = 0x10,
-    OVERLAY_FORMAT_YCbCr_420_SP = 0x11,
-    OVERLAY_FORMAT_YCbCr_422_I = 0x14,
-    OVERLAY_FORMAT_YCbCr_420_I = 0x15
+    OVERLAY_FORMAT_RGBA_8888    = HAL_PIXEL_FORMAT_RGBA_8888,
+    OVERLAY_FORMAT_RGB_565      = HAL_PIXEL_FORMAT_RGB_565,
+    OVERLAY_FORMAT_BGRA_8888    = HAL_PIXEL_FORMAT_BGRA_8888,
+    OVERLAY_FORMAT_YCbCr_422_I  = HAL_PIXEL_FORMAT_YCbCr_422_I,
+    OVERLAY_FORMAT_YCbCr_420_I  = HAL_PIXEL_FORMAT_YCbCr_420_I
 };
 
 /* values for copybit_set_parameter(OVERLAY_TRANSFORM) */
@@ -193,6 +191,8 @@
     /* returns the address of a given buffer if supported, NULL otherwise. */
     void* (*getBufferAddress)(struct overlay_data_device_t *dev,
             overlay_buffer_t buffer);
+
+    int (*getBufferCount)(struct overlay_data_device_t *dev);
 };
 
 
diff --git a/include/hardware/sensors.h b/include/hardware/sensors.h
index a7ab7ad..094b3ee 100644
--- a/include/hardware/sensors.h
+++ b/include/hardware/sensors.h
@@ -37,7 +37,10 @@
 #define SENSORS_HARDWARE_DATA       "data"
 
 /**
- * Handles must be higher than SENSORS_HANDLE_BASE
+ * Handles must be higher than SENSORS_HANDLE_BASE and must be unique.
+ * A Handle identifies a given sensors. The handle is used to activate
+ * and/or deactivate sensors.
+ * In this version of the API there can only be 256 handles.
  */
 #define SENSORS_HANDLE_BASE             0
 #define SENSORS_HANDLE_BITS             8
@@ -232,22 +235,37 @@
     struct hw_module_t common;
 
     /**
-     * @return bit map of available sensors defined by
-     *         the constants SENSORS_XXXX.
+     * Enumerate all available sensors. The list is returned in "list".
+     * @return number of sensors in the list
      */
     int (*get_sensors_list)(struct sensors_module_t* module,
-            struct sensor_t const**);
+            struct sensor_t const** list);
 };
 
 struct sensor_t {
+    /* name of this sensors */
     const char*     name;
+    /* vendor of the hardware part */
     const char*     vendor;
+    /* version of the hardware part + driver. The value of this field is
+     * left to the implementation and doesn't have to be monotonicaly
+     * increasing.
+     */    
     int             version;
+    /* handle that identifies this sensors. This handle is used to activate
+     * and deactivate this sensor. The value of the handle must be 8 bits
+     * in this version of the API. 
+     */
     int             handle;
+    /* this sensor's type. */
     int             type;
+    /* maximaum range of this sensor's value in SI units */
     float           maxRange;
+    /* smallest difference between two values reported by this sensor */
     float           resolution;
+    /* rough estimate of this sensor's power consumption in mA */
     float           power;
+    /* reserved fields, must be zero */
     void*           reserved[9];
 };
 
@@ -269,9 +287,9 @@
      */
     int (*open_data_source)(struct sensors_control_device_t *dev);
     
-    /** Activate/deactivate one or more of the sensors.
+    /** Activate/deactivate one sensor.
      *
-     * @param sensors is the handle of the sensors to change.
+     * @param handle is the handle of the sensor to change.
      * @param enabled set to 1 to enable, or 0 to disable the sensor.
      *
      * @return 0 on success, negative errno code otherwise
diff --git a/modules/README.android b/modules/README.android
index a79a1d5..57abb72 100644
--- a/modules/README.android
+++ b/modules/README.android
@@ -7,6 +7,8 @@
 Modules are .so in /system/libs/hw/ and have a well defined naming
 convention:
 
+    /system/libs/hw/<*_HARDWARE_MODULE_ID>.<ro.product.board>.so
+    /system/libs/hw/<*_HARDWARE_MODULE_ID>.<ro.board.platform>.so
     /system/libs/hw/<*_HARDWARE_MODULE_ID>.<ro.arch>.so
     /system/libs/hw/<*_HARDWARE_MODULE_ID>.default.so