acpi_battery: support for _BIX method.

change int types to uint32, as it's more correct.

Change-Id: Iae7043abe4c8b8a121548fe6d6a809f1bd879c8a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2334
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
Jérôme Duval
2020-03-10 13:14:09 +00:00
committed by waddlesplash
parent 4f732f12a1
commit 1b16a232eb
2 changed files with 171 additions and 107 deletions
+37 -17
View File
@@ -31,29 +31,49 @@ const uint32 kMagicACPIBatteryID = 17822;
#define BATTERY_CHARGING 0x02
#define BATTERY_CRITICAL_STATE 0x04
#define BATTERY_MAX_STRING_LENGTH 32
typedef struct {
int state;
int current_rate;
int capacity;
int voltage;
uint32 state;
uint32 current_rate;
uint32 capacity;
uint32 voltage;
} acpi_battery_info;
typedef struct {
int power_unit;
int design_capacity;
int last_full_charge;
int technology;
int design_voltage;
int design_capacity_warning;
int design_capacity_low;
int capacity_granularity_1;
int capacity_granularity_2;
char model_number[32];
char serial_number[32];
char type[32];
char oem_info[32];
uint32 power_unit;
#define ACPI_BATTERY_UNIT_MW 0
#define ACPI_BATTERY_UNIT_MA 1
uint32 design_capacity;
uint32 last_full_charge;
uint32 technology;
uint32 design_voltage;
uint32 design_capacity_warning;
uint32 design_capacity_low;
uint32 capacity_granularity_1;
uint32 capacity_granularity_2;
char model_number[BATTERY_MAX_STRING_LENGTH];
char serial_number[BATTERY_MAX_STRING_LENGTH];
char type[BATTERY_MAX_STRING_LENGTH];
char oem_info[BATTERY_MAX_STRING_LENGTH];
// ACPI 4.0 and later
uint16 revision;
#define ACPI_BATTERY_REVISION_0 0
#define ACPI_BATTERY_REVISION_1 1
#define ACPI_BATTERY_REVISION_BIF 0xffff
uint32 cycles;
uint32 accuracy;
uint32 max_sampling_time;
uint32 min_sampling_time;
uint32 max_average_interval;
uint32 min_average_interval;
// ACPI 6.0 and later
uint32 swapping_capability;
#define ACPI_BATTERY_SWAPPING_NO 0
#define ACPI_BATTERY_SWAPPING_COLD 1
#define ACPI_BATTERY_SWAPPING_HOT 2
} acpi_extended_battery_info;