platform_hardware_libhardware/modules
2019-12-14 00:28:26 +00:00
..
audio audio: Update default audio implementation. 2018-01-30 12:05:24 -08:00
audio_remote_submix Merge "r_submix: Fix get_next_write_timestamp and get_input_buffer_size" 2019-11-12 02:20:38 +00:00
camera Fix camera.v4l2 module build error 2019-12-13 03:20:34 +00:00
consumerir Use -Werror in hardware/libhardware 2017-10-04 11:09:30 -07:00
fingerprint Use -Werror in hardware/libhardware 2017-10-04 11:09:30 -07:00
gralloc gralloc: Configure framebuffer mode according to requested image format. 2019-10-15 17:50:25 -07:00
hwcomposer Convert to Android.bp 2017-12-27 11:05:29 -08:00
input/evdev Update for increased SW input codes. 2019-12-10 12:56:15 -08:00
local_time Use -Werror in hardware/libhardware 2017-10-04 11:09:30 -07:00
nfc Use -Werror in hardware/libhardware 2017-10-04 11:09:30 -07:00
nfc-nci Merge "Use -Werror in hardware/libhardware" am: d1a2b9f7c1 am: d67dcc5fc8 2017-10-12 01:58:44 +00:00
power Use -Werror in hardware/libhardware 2017-10-04 11:09:30 -07:00
radio Merge changes from topic "libhardware_vndk" 2017-09-06 15:58:26 +00:00
sensors libhardware: fix -Wreorder-init-list 2019-11-11 14:41:57 -08:00
soundtrigger Converting sound trigger v2.2 getModelState to be asynchronous 2018-11-08 08:11:02 +01:00
thermal Convert to Android.bp 2017-12-27 11:05:29 -08:00
tv_input Use -Werror in hardware/libhardware 2017-10-04 11:09:30 -07:00
usbaudio Adding Audio HAL V5: Direction API 2018-12-19 12:00:22 -07:00
usbcamera Convert to Android.bp 2017-12-27 11:05:29 -08:00
vibrator Use -Werror in hardware/libhardware 2017-10-04 11:09:30 -07:00
vr Convert to Android.bp 2017-12-27 11:05:29 -08:00
Android.mk Convert to Android.bp 2017-12-27 11:05:29 -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/.