103e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian/*
203e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian * Copyright (C) 2012 The Android Open Source Project
303e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian *
403e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian * Licensed under the Apache License, Version 2.0 (the "License");
503e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian * you may not use this file except in compliance with the License.
603e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian * You may obtain a copy of the License at
703e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian *
803e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian *      http://www.apache.org/licenses/LICENSE-2.0
903e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian *
1003e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian * Unless required by applicable law or agreed to in writing, software
1103e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian * distributed under the License is distributed on an "AS IS" BASIS,
1203e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1303e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian * See the License for the specific language governing permissions and
1403e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian * limitations under the License.
1503e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian */
1603e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian
1703e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian#ifndef ANDROID_SF_POWER_HAL_H
1803e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian#define ANDROID_SF_POWER_HAL_H
1903e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian
2003e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian#include <stdint.h>
2103e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian#include <sys/types.h>
2203e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian
2303e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian#include <hardware/power.h>
2403e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian
2503e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopiannamespace android {
2603e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian// ---------------------------------------------------------------------------
2703e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian
2803e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopianclass PowerHAL
2903e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian{
3003e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopianpublic:
3103e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian    PowerHAL();
3203e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian    ~PowerHAL();
3303e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian
3403e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian    status_t initCheck() const;
3503e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian    status_t vsyncHint(bool enabled);
3603e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian
3703e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopianprivate:
3803e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian    power_module_t*   mPowerModule;
3906e51a0aaf76fe53cef20c3345cf1ebda2b3461eMathias Agopian    bool mVSyncHintEnabled;
4003e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian};
4103e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian
4203e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian// ---------------------------------------------------------------------------
4303e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian}; // namespace android
4403e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian
4503e407270c7ad76632f982c886d0776bed9e9b4cMathias Agopian#endif // ANDROID_SF_POWER_HAL_H
46