Ticket #6951: acpi_battery_r1.patch
File acpi_battery_r1.patch, 1.2 KB (added by , 13 years ago) |
---|
-
src/add-ons/kernel/drivers/power/acpi_battery/acpi_battery.cpp
4 4 * 5 5 * Authors: 6 6 * Clemens Zeidler, haiku@clemens-zeidler.de 7 * Alexander von Gluck, kallisti5@unixzen.com 7 8 */ 8 9 9 10 #include "acpi_battery.h" … … 59 60 60 61 pointer = object->data.package.objects; 61 62 batteryStatus->state = (pointer->object_type == ACPI_TYPE_INTEGER) 62 ? pointer->data.integer : -1;63 ? pointer->data.integer : BATTERY_CRITICAL_STATE; 63 64 64 65 pointer++; 65 66 batteryStatus->current_rate = (pointer->object_type == ACPI_TYPE_INTEGER) … … 73 74 batteryStatus->voltage = (pointer->object_type == ACPI_TYPE_INTEGER) 74 75 ? pointer->data.integer : -1; 75 76 77 /* If key values are all < 0, it is likely that the battery slot is empty 78 or the battery is damaged. Set BATTERY_CRITICAL_STATE */ 79 if (batteryStatus->voltage < 0 80 && batteryStatus->current_rate < 0 81 && batteryStatus->capacity < 0) { 82 batteryStatus->state = BATTERY_CRITICAL_STATE; 83 } 84 85 76 86 exit: 77 87 free(buffer.pointer); 78 88 return status;