|
38 | 38 | /* Battery power unit: 0 means mW, 1 means mA */
|
39 | 39 | #define ACPI_BATTERY_POWER_UNIT_MA 1
|
40 | 40 |
|
41 |
| -#define ACPI_BATTERY_STATE_DISCHARGING 0x1 |
42 |
| -#define ACPI_BATTERY_STATE_CHARGING 0x2 |
43 |
| -#define ACPI_BATTERY_STATE_CRITICAL 0x4 |
| 41 | +#define ACPI_BATTERY_STATE_DISCHARGING 0x1 |
| 42 | +#define ACPI_BATTERY_STATE_CHARGING 0x2 |
| 43 | +#define ACPI_BATTERY_STATE_CRITICAL 0x4 |
| 44 | +#define ACPI_BATTERY_STATE_CHARGE_LIMITING 0x8 |
44 | 45 |
|
45 | 46 | #define MAX_STRING_LENGTH 64
|
46 | 47 |
|
@@ -155,7 +156,7 @@ static int acpi_battery_get_state(struct acpi_battery *battery);
|
155 | 156 |
|
156 | 157 | static int acpi_battery_is_charged(struct acpi_battery *battery)
|
157 | 158 | {
|
158 |
| - /* charging, discharging or critical low */ |
| 159 | + /* charging, discharging, critical low or charge limited */ |
159 | 160 | if (battery->state != 0)
|
160 | 161 | return 0;
|
161 | 162 |
|
@@ -215,6 +216,8 @@ static int acpi_battery_get_property(struct power_supply *psy,
|
215 | 216 | val->intval = acpi_battery_handle_discharging(battery);
|
216 | 217 | else if (battery->state & ACPI_BATTERY_STATE_CHARGING)
|
217 | 218 | val->intval = POWER_SUPPLY_STATUS_CHARGING;
|
| 219 | + else if (battery->state & ACPI_BATTERY_STATE_CHARGE_LIMITING) |
| 220 | + val->intval = POWER_SUPPLY_STATUS_NOT_CHARGING; |
218 | 221 | else if (acpi_battery_is_charged(battery))
|
219 | 222 | val->intval = POWER_SUPPLY_STATUS_FULL;
|
220 | 223 | else
|
|
0 commit comments