platform_hardware_libhardware/modules
Treehugger Robot 7d03020e96 Merge changes from topic "libhardware_vndk"
* changes:
  Build tv_input.default.vendor with BOARD_VNDK_VERSION
  Build fingerprint.default with BOARD_VNDK_VERSION
  Build power.default with BOARD_VNDK_VERSION
  Build local_time.default with BOARD_VNDK_VERSION
  Build nfc.default with BOARD_VNDK_VERSION
  Build vr.default with BOARD_VNDK_VERSION
  Build vibrator.default.vendor with BOARD_VNDK_VERSION
  Build audio.usb.default with BOARD_VNDK_VERSION
  Build vehicle.default with BOARD_VNDK_VERSION
  Build audio.primary.default, audio.stub.default, audio_policy.stub with BOARD_VNDK_VERSION
  Build radio.fm.default.vendor with BOARD_VNDK_VERSION
  Build consumerir.default with BOARD_VNDK_VERSION
2017-09-06 15:52:32 +00:00
..
audio Build audio.primary.default, audio.stub.default, audio_policy.stub with BOARD_VNDK_VERSION 2017-09-05 17:43:16 -07:00
audio_remote_submix resolve merge conflicts of 7c451a93 to oc-dev-plus-aosp 2017-04-12 09:11:38 -07:00
camera resolve merge conflicts of 7c451a93 to oc-dev-plus-aosp 2017-04-12 09:11:38 -07:00
consumerir Build consumerir.default with BOARD_VNDK_VERSION 2017-09-05 17:43:16 -07:00
fingerprint Build fingerprint.default with BOARD_VNDK_VERSION 2017-09-05 17:43:16 -07:00
gralloc gralloc: fix dependencies 2017-04-19 22:16:20 +00:00
hwcomposer Don't rely on transitively included headers 2017-09-06 12:17:06 +09:00
input C++14 is the default now. 2017-08-23 14:34:16 -07:00
local_time Merge changes from topic "libhardware_vndk" 2017-09-06 15:52:32 +00:00
nfc Build nfc.default with BOARD_VNDK_VERSION 2017-09-05 17:43:16 -07:00
nfc-nci resolve merge conflicts of 7c451a93 to oc-dev-plus-aosp 2017-04-12 09:11:38 -07:00
power Build power.default with BOARD_VNDK_VERSION 2017-09-05 17:43:16 -07:00
radio Build radio.fm.default.vendor with BOARD_VNDK_VERSION 2017-09-05 17:43:16 -07:00
sensors Merge "Move default multihal configuration file to /vendor/..." into oc-dev 2017-05-04 02:10:16 +00:00
soundtrigger resolve merge conflicts of 7c451a93 to oc-dev-plus-aosp 2017-04-12 09:11:38 -07:00
thermal Move thermal HAL to vendor partition 2017-02-27 13:11:33 +09:00
tv_input Build tv_input.default.vendor with BOARD_VNDK_VERSION 2017-09-05 17:43:16 -07:00
usbaudio Build audio.usb.default with BOARD_VNDK_VERSION 2017-09-05 17:43:16 -07:00
usbcamera resolve merge conflicts of 7c451a93 to oc-dev-plus-aosp 2017-04-12 09:11:38 -07:00
vehicle Build vehicle.default with BOARD_VNDK_VERSION 2017-09-05 17:43:16 -07:00
vibrator Build vibrator.default.vendor with BOARD_VNDK_VERSION 2017-09-05 17:43:16 -07:00
vr Build vr.default with BOARD_VNDK_VERSION 2017-09-05 17:43:16 -07:00
Android.mk Add radio HAL stub to the build list; fix format warning. 2017-02-08 15:04:31 -08:00
README.android Move default HAL libraries to vendor 2017-03-07 11:28:32 +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 /vendor/lib/hw/ and have a well defined naming
convention:

    /vendor/lib/hw/<*_HARDWARE_MODULE_ID>.<ro.product.board>.so
    /vendor/lib/hw/<*_HARDWARE_MODULE_ID>.<ro.board.platform>.so
    /vendor/lib/hw/<*_HARDWARE_MODULE_ID>.<ro.arch>.so
    /vendor/lib/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/.