Commit de1675de authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Revert "ACPI: battery: negate current when discharging"



Revert commit 234f7155 ("ACPI: battery: negate current when
discharging") breaks not one but several userspace implementations
of battery monitoring: Steam and MangoHud. Perhaps it breaks more,
but those are the two that have been tested.

Reported-by: default avatarMatthew Schwartz <matthew.schwartz@linux.dev>
Closes: https://lore.kernel.org/linux-acpi/87C1B2AF-D430-4568-B620-14B941A8ABA4@linux.dev/


Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 234f7155
Loading
Loading
Loading
Loading
+3 −16
Original line number Diff line number Diff line
@@ -243,23 +243,10 @@ static int acpi_battery_get_property(struct power_supply *psy,
		break;
	case POWER_SUPPLY_PROP_CURRENT_NOW:
	case POWER_SUPPLY_PROP_POWER_NOW:
		if (battery->rate_now == ACPI_BATTERY_VALUE_UNKNOWN) {
		if (battery->rate_now == ACPI_BATTERY_VALUE_UNKNOWN)
			ret = -ENODEV;
			break;
		}

		else
			val->intval = battery->rate_now * 1000;
		/*
		 * When discharging, the current should be reported as a
		 * negative number as per the power supply class interface
		 * definition.
		 */
		if (psp == POWER_SUPPLY_PROP_CURRENT_NOW &&
		    (battery->state & ACPI_BATTERY_STATE_DISCHARGING) &&
		    acpi_battery_handle_discharging(battery)
				== POWER_SUPPLY_STATUS_DISCHARGING)
			val->intval = -val->intval;

		break;
	case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
	case POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN: