12c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk/*
22c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk * Copyright (C) 2016 The Android Open Source Project
32c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk *
42c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk * Licensed under the Apache License, Version 2.0 (the "License");
52c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk * you may not use this file except in compliance with the License.
62c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk * You may obtain a copy of the License at
72c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk *
82c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk *      http://www.apache.org/licenses/LICENSE-2.0
92c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk *
102c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk * Unless required by applicable law or agreed to in writing, software
112c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk * distributed under the License is distributed on an "AS IS" BASIS,
122c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk * See the License for the specific language governing permissions and
142c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk * limitations under the License.
152c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk */
162c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk#define LOG_TAG "VrHal"
172c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk
182c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk#include <hardware/vr.h>
192c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk#include <hardware/hardware.h>
202c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk
212c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunkstatic void vr_init(struct vr_module *module) {
222c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk    // NOOP
232c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk}
242c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk
252c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunkstatic void vr_set_vr_mode(struct vr_module *module, bool enabled) {
262c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk    // NOOP
272c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk}
282c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk
292c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunkstatic struct hw_module_methods_t vr_module_methods = {
302c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk    .open = NULL,
312c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk};
322c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk
332c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk
342c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunkvr_module_t HAL_MODULE_INFO_SYM = {
352c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk    .common = {
362c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk        .tag                = HARDWARE_MODULE_TAG,
372c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk        .module_api_version = VR_MODULE_API_VERSION_1_0,
382c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk        .hal_api_version    = HARDWARE_HAL_API_VERSION,
392c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk        .id                 = VR_HARDWARE_MODULE_ID,
402c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk        .name               = "Demo VR HAL",
412c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk        .author             = "The Android Open Source Project",
422c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk        .methods            = &vr_module_methods,
432c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk    },
442c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk
452c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk    .init = vr_init,
462c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk    .set_vr_mode = vr_set_vr_mode,
472c84f81cf07326d9bd0abfb4b14f64bcb583e166Ruben Brunk};
48