platform_hardware_libhardware/modules
Alex Ray 0f82f5a73a modules: camera: Separate locking for static characteristics
Static camera characteristics can be queried on any device at any time.
Separate the locking for it from the rest of the device to eliminate any
contention between operations on the device and static characteristic
initialization.

Change-Id: I8076378699f274e70c6318e537df4758972de9db
2013-07-26 16:36:43 -07:00
..
audio Code changes for offload support in hardware libhardware 2013-07-18 09:23:27 -07:00
audio_remote_submix Use strong pointers and scope 2012-12-21 12:24:58 -08:00
camera modules: camera: Separate locking for static characteristics 2013-07-26 16:36:43 -07:00
gralloc get rid of HAL pixelformats 5551 and 4444 2013-07-26 16:23:33 -07:00
hwcomposer Add multi-display and flip fence to HWC 2012-08-07 12:26:59 -07:00
local_time Modifications to audio_hal for Android@Home. 2012-02-10 08:58:32 -08:00
nfc Initial NFC HAL for NCI controllers. 2012-09-14 13:56:58 -07:00
nfc-nci NFC HAL: Use a separate callback for data. 2012-09-30 11:08:49 -07:00
power remove triggering suspend from power hal 2012-05-03 19:01:02 -07:00
usbaudio audio: new audio devices enums 2012-09-07 10:32:57 -07:00
Android.mk Reference Camera v2 HAL Implementation 2012-11-28 12:35:29 -08:00
README.android auto import from //depot/cupcake/@135843 2009-03-03 19:32:14 -08:00

Default (and possibly architecture dependents) HAL modules go here. 


libhardware.so eventually should contain *just* the HAL hub
(hardware.c), everything in it should be rewritten as modules.

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

They also have a well defined interface which lives in include/hardware/.

A module can have several variants: "default", "arch" and "board", and they're
loaded in the "board", "arch" and "default" order.
The source code for the "board" variant, usually lives under partners/...

The source code for "default" and "arch" would usually
live under hardware/modules/.