|struct hw_module_t *||module|
|int(*||close )(struct hw_device_t *device)|
Every device data structure must begin with hw_device_t followed by module specific public methods and attributes.
|int(* close)(struct hw_device_t *device)|
|struct hw_module_t* module|
Version of the module-specific device API. This value is used by the derived-module user to manage different device implementations.
The module user is responsible for checking the module_api_version and device version fields to ensure that the user is capable of communicating with the specific module implementation.
One module can support multiple devices with different versions. This can be useful when a device interface changes in an incompatible way but it is still necessary to support older implementations at the same time. One such example is the Camera 2.0 API.
This field is interpreted by the module user and is ignored by the HAL interface itself.