Ensure none of the HAL structs change size over time.
Issues might arise when making changes without taking the different
pointer sizes for specific architectures into account.
Change-Id: I63f00004a23f09b2f46df01e7c69296766a5d03f
This allows all the existing modules to have source level
compatibility until they are fixed to use the new field names.
Since the binary compatibility has not been altered, we do not
need to force all the implementors to rev their version numbers.
This change should be reverted when all the clients have been updated.
Change-Id: Ie543d3a972d8abe03ca5123e3000966f048d1771
Signed-off-by: Dima Zavin <dima@android.com>
The previous names and documentation were not clear as to how the
version fields should be used. As a result, they were often either
unused or used improperly.
It became clear that there were two version fields necessary. One
to version the implementing module and the other to version the
hw_module_t interface itself.
This change renames version_major and version_minor members of
hw_module_t to module_api_version and hal_api_version. It also
provides in-depth descriptions for all the fields and clarifies
the purpose of the version field in hw_device_t structure.
Change-Id: I3e33e5a922cdc17c5e3b1c30a00e211394f18e86
Signed-off-by: Dima Zavin <dima@android.com>
These definitions now live under system/core/include/android/graphics.h
Change-Id: I65ca8226cb42387748c3aaa1432423153d1dad33
Signed-off-by: Iliyan Malchev <malchev@google.com>
Needed for things like audio and audio effects. Provides a
new interface to loading modules named 'hw_get_module_by_class'.
This takes two parameters: 'class_id' and 'instance' which are
used to construct the filename for the module to be loaded. If
instance is NULL, then this function acts identically to
hw_get_module where 'class_id' == 'id' (and in fact the latter
implemented exactly this way).
For audio, this new mechanism allows us to load multiple audio
interfaces by doing:
hw_get_module_by_class("audio", "primary", &module);
hw_get_module_by_class("audio", "a2dp", &module);
hw_get_module_by_class("audio", "usb", &module);
...
In the future we will likely want to add the ability to load a set of
module instances based on a config file, which will have a standard
syntax and the mechanism will be provided by libhardware.
Change-Id: I9976cc6d59a85a414b18e7b398a36edfbce4abd8
Signed-off-by: Dima Zavin <dima@android.com>
we now only support 2 "standard" yuv format in the HAL.
there is a new reserved range 0x100-0x1FF for OEMs.
Change-Id: I171fb0f8d90ded64773ac9c1e5adcab1e1f25c7f