platform_hardware_libhardware/modules
Brian Duddie 7b007c989f Add bstack to sensors OWNERS file
Test: n/a
Change-Id: I25ae89abe1dfe1552e92cccf0354a269959c0c13
2018-11-30 13:33:20 -08:00
..
audio audio: Update default audio implementation. 2018-01-30 12:05:24 -08:00
audio_remote_submix Revert recent r_submix patches 2018-03-05 20:39:30 +00:00
camera camera: initialize smart pointer before usage 2018-10-22 08:59:57 +03: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 Fix a memory leak 2018-02-13 00:33:26 +00:00
hwcomposer Convert to Android.bp 2017-12-27 11:05:29 -08:00
input/evdev Convert to Android.bp 2017-12-27 11:05:29 -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 Add bstack to sensors OWNERS file 2018-11-30 13:33:20 -08:00
soundtrigger Convert to Android.bp 2017-12-27 11:05:29 -08: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 Merge "Convert to Android.bp" am: 90e0a80af3 am: 243ba5e7b2 2017-12-28 19:38:41 +00: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/.