176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/* ----------------------------------------------------------------------- * 276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Copyright 2009-2011 Erwan Velu - All Rights Reserved 476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * This program is free software; you can redistribute it and/or modify 676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * it under the terms of the GNU General Public License as published by 776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * the Free Software Foundation, Inc., 53 Temple Place Ste 330, 876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Boston MA 02111-1307, USA; either version 2 of the License, or 976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * (at your option) any later version; incorporated herein by reference. 1076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 1176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * ----------------------------------------------------------------------- */ 1276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#ifndef ECDT_H 1476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define ECDT_H 1576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include <inttypes.h> 1676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include <stdbool.h> 1776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define ECDT "ECDT" 1976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/* Offset of the EC_ID in the structure */ 2176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define EC_ID_OFFSET 65 2276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmantypedef struct { 2476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint64_t *address; 2576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman s_acpi_description_header header; 2676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman bool valid; 2776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint32_t warning_energy_level; 2876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint32_t low_energy_level; 2976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint32_t critical_energy_level; 3076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman s_gas ec_control; 3176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman s_gas ec_data; 3276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint32_t uid; 3376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint8_t gpe_bit; 3476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char *ec_id; 3576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman} s_ecdt; 3676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 3776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanvoid parse_ecdt(s_ecdt * ecdt); 3876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#endif 39