1c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor/* 2c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * Copyright (C) 2012 The Android Open Source Project 3c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * 4c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * Licensed under the Apache License, Version 2.0 (the "License"); 5c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * you may not use this file except in compliance with the License. 6c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * You may obtain a copy of the License at 7c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * 8c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * http://www.apache.org/licenses/LICENSE-2.0 9c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * 10c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * Unless required by applicable law or agreed to in writing, software 11c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * distributed under the License is distributed on an "AS IS" BASIS, 12c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * See the License for the specific language governing permissions and 14c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor * limitations under the License. 15c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor */ 16c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor#include <errno.h> 17c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor#include <string.h> 18c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor#include <sys/types.h> 19c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor#include <sys/stat.h> 20c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor#include <fcntl.h> 21c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor 22c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor#define LOG_TAG "Legacy PowerHAL" 23c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor#include <utils/Log.h> 24c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor 25c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor#include <hardware/hardware.h> 26c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor#include <hardware/power.h> 27c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor 28c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynorstatic void power_init(struct power_module *module) 29c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor{ 30c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor} 31c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor 32c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynorstatic void power_set_interactive(struct power_module *module, int on) 33c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor{ 34c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor} 35c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor 362f143fba74f6be91fe8805ef8bbdffe5b8ece8b4Todd Poynorstatic void power_hint(struct power_module *module, power_hint_t hint, 372f143fba74f6be91fe8805ef8bbdffe5b8ece8b4Todd Poynor void *data) { 382f143fba74f6be91fe8805ef8bbdffe5b8ece8b4Todd Poynor switch (hint) { 392f143fba74f6be91fe8805ef8bbdffe5b8ece8b4Todd Poynor default: 402f143fba74f6be91fe8805ef8bbdffe5b8ece8b4Todd Poynor break; 412f143fba74f6be91fe8805ef8bbdffe5b8ece8b4Todd Poynor } 422f143fba74f6be91fe8805ef8bbdffe5b8ece8b4Todd Poynor} 43c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor 44c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynorstatic struct hw_module_methods_t power_module_methods = { 45c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor .open = NULL, 46c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor}; 47c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor 48c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynorstruct power_module HAL_MODULE_INFO_SYM = { 49c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor .common = { 50c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor .tag = HARDWARE_MODULE_TAG, 515cb1de89a905dd13c858779d73721bbc36cd4be1Mathias Agopian .module_api_version = POWER_MODULE_API_VERSION_0_2, 525cb1de89a905dd13c858779d73721bbc36cd4be1Mathias Agopian .hal_api_version = HARDWARE_HAL_API_VERSION, 53c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor .id = POWER_HARDWARE_MODULE_ID, 54c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor .name = "Default Power HAL", 55c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor .author = "The Android Open Source Project", 56c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor .methods = &power_module_methods, 57c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor }, 58c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor 59c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor .init = power_init, 60c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor .setInteractive = power_set_interactive, 612f143fba74f6be91fe8805ef8bbdffe5b8ece8b4Todd Poynor .powerHint = power_hint, 62c82792c0a4135c1a5de4e4f0ca47318fa5dd7e14Todd Poynor}; 63