From nobody Thu Apr 9 13:31:46 2026 Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 061EF389E1F for ; Fri, 27 Feb 2026 07:15:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772176518; cv=none; b=jHZEt0bD94qRxrrWQoRc7Gh2T0Y7j0/iSgejqzTz94vyMg432YrsFSt85EJucCqnxSqYsAf1ZXHJsce2lNEmtS+VO/0lAZT3CXnPwlp55mVAlFw2cL2DCdlk4hnPy79EEUiUJAxxG19mgJWSEp/COZm07Mb43h/Ie3/Es4zgnVM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772176518; c=relaxed/simple; bh=mdMwa+4vXJFSq1mBJLsIE/rDEGn2SDuqUw2L2ipYiws=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LtgVEhbszrHSmlfnWI1CxoalULOhjTZT3/jzdk4L9dXVm3g06GN3wlFTK1il5PnTDVUuNEzhHkYVXRJC5LDyXE4PJKwguhQF+fhZUTSaoa8jCYEZ0rCq+AUPz59LPERHSwrOOGVePClrEhNRlIxEtaUzq5sdevYTrIIkQd7JoXk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=qJwObES6; arc=none smtp.client-ip=209.85.218.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="qJwObES6" Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-b93718302beso113962866b.3 for ; Thu, 26 Feb 2026 23:15:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772176515; x=1772781315; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Pb9+a6UQI9eJoPAfaI075Xgk+AX6ysZxadZXLoPE5ik=; b=qJwObES6t1BuEALPr1QuOyfP1m6V6NmCubcWrKqzWkVr5xZfl4fks2KyN0PGsVGy4B 0/oUld4DixrrLsk6cQXeV23WDGZDmzOCPdrcWK76peUvh4qJw6Mdt656C9n/EARFMwNW KD5T0XaAAGoLKWeUe5ui7mgwcze4KS/IEwYZ1yHfMoYRU2G5e9IfE2jUMOEoTLglCgOo Vl6dC7FMUx9Xo+lyl3YKBhM808DBg2wVctAq1UjlIzdhLgMpvr8krZ/L8VFNshTrzItz D0Qi2dRNrfiDPAFfoW5bEsWnpohwKbQ0t+aZuYYepds6rrwmUA5kPUxc2HN6hNLHv6Uw dLGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772176515; x=1772781315; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Pb9+a6UQI9eJoPAfaI075Xgk+AX6ysZxadZXLoPE5ik=; b=NduHPnlL9F1NID296n4rNwVbgPVzeGRBrWmsHxbVTB6KbZLVkf4mqILf1egSm7IqYP OnaBKHhUW5sVDk9teIMROFX3hB4SnvRhG/ifzED/KzS3jRKkJewLWeQ14zfA99q/T1jk Kahgt5v3qo91PtUDIJgBt7ic/uGCQhLSPwB/o1T93pzUbFQjXCdizG1IhEfi4sTrgu67 03Rz0V1mMS0Uw1h5lccN1CBnVR6NG8akoTuN7pcPZ00mpQDo1Z/3ND38wumLIlS92MA0 X8lISbQj8h+cE3wZstGrEk2di+HYNgOrESSAG7EUPpjJd+3ABh1g8BQ+Sk0DZn2vjvWZ 3aJw== X-Forwarded-Encrypted: i=1; AJvYcCXpyiGiTjWEhDcoEc8z9DaEfYhHP9tw2El3UD2k0ozGMNKEn2/lz1Sr2ZUdLSCzx+64FArrLwicVCIow6o=@vger.kernel.org X-Gm-Message-State: AOJu0YzvN8S9sjrlx9e4sq58JthQ4qSb/lZy20rsbiGCEkiuHVyfifvS 0MEJh+TsIxfCA75ZGkb494xOqkFjamOxEu2nt838Xrqx+M/9M599wokaoWhWL53wM5c= X-Gm-Gg: ATEYQzyZ/UiuMrLRkym+9JR0Rt8lXCTpatfcl+7YbSNZZv4SqJcmyHpEAfJEo53kSp6 Th24pt/T/gdehG2gW1Z7mq/FBsTKtg3ayZfV8nADkh2u0j0affsgC8t9XtB9LLD2ID18XcFErPE tFbYKq2eVEPLP+UIPDPqXgzpi/xHhYZYh4zg1uMJF3yfONwQKv708cF7w8bmWY3AZN/OuFVZ+f9 oWEQEgEHYTtztn3gMaI0+MPgnaBrZmywdAcNmToV5q/LUXxNPcAj2THzXUrJwaBA29DCIl45MkW F1q4X7b597+r9wRuSttxJFDqvh/KtkFy737zhwh5UlTy8l3lHMR7iLR5QKplyUFb5xwjNDsPrEI 5Py3V5z2iwok6OtTQiWtkv0C0xM5+GqmRVGwoDS7QxA9m219UN80xttnjazFOkbWg86Nrv2rkCl wePtsFSGO5lJCI9zhLvHSr6Y60uxr4IJs/aRHwrPuoZy/aoKjs+aztwbJd9UEpHn4G1ZvgO4Ikz LwfqZmh606RegrK1A== X-Received: by 2002:a17:907:d05:b0:b87:965:907a with SMTP id a640c23a62f3a-b93765210c0mr101186166b.32.1772176515213; Thu, 26 Feb 2026 23:15:15 -0800 (PST) Received: from puffmais2.c.googlers.com (244.175.141.34.bc.googleusercontent.com. [34.141.175.244]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b935aeee867sm124205066b.66.2026.02.26.23.15.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Feb 2026 23:15:14 -0800 (PST) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 27 Feb 2026 07:15:16 +0000 Subject: [PATCH v2 11/11] power: supply: max17042: report time to full (max17055 & max77759) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260227-max77759-fg-v2-11-e50be5f191f0@linaro.org> References: <20260227-max77759-fg-v2-0-e50be5f191f0@linaro.org> In-Reply-To: <20260227-max77759-fg-v2-0-e50be5f191f0@linaro.org> To: Hans de Goede , Krzysztof Kozlowski , Marek Szyprowski , Sebastian Krzyszkowiak , Purism Kernel Team , Sebastian Reichel , Rob Herring , Conor Dooley Cc: Peter Griffin , Tudor Ambarus , Juan Yescas , Amit Sunil Dhamne , kernel-team@android.com, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.3 Report the remaining time to full as calculated by the firmware for devices that implement this. Similar to time to empty, the reported value is only meaningful when charging, i.e. if it is !=3D U16_MAX. Signed-off-by: Andr=C3=A9 Draszik --- v2: - limit to max17055 & max77759, the datasheet for max17047 and max17050 describes the register as 'reserved'. I was mislead by the comment and enum ordering in max17042_battery.h - report as POWER_SUPPLY_PROP_TIME_TO_FULL_NOW (not _AVG). The max17050 datasheet is a bit clearer than the max77759 one on that. --- drivers/power/supply/max17042_battery.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply= /max17042_battery.c index 89909b140cf9..770d806033b9 100644 --- a/drivers/power/supply/max17042_battery.c +++ b/drivers/power/supply/max17042_battery.c @@ -89,6 +89,7 @@ static enum power_supply_property max17042_battery_props[= ] =3D { POWER_SUPPLY_PROP_HEALTH, POWER_SUPPLY_PROP_SCOPE, POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW, + POWER_SUPPLY_PROP_TIME_TO_FULL_NOW, // these two have to be at the end on the list POWER_SUPPLY_PROP_CURRENT_NOW, POWER_SUPPLY_PROP_CURRENT_AVG, @@ -447,6 +448,21 @@ static int max17042_get_property(struct power_supply *= psy, if (data =3D=3D U16_MAX) return -ENODATA; =20 + val->intval =3D data * 5625 / 1000; + break; + case POWER_SUPPLY_PROP_TIME_TO_FULL_NOW: + if (chip->chip_type !=3D MAXIM_DEVICE_TYPE_MAX17055 && + chip->chip_type !=3D MAXIM_DEVICE_TYPE_MAX77759) + return -EINVAL; + + ret =3D regmap_read(map, MAX17055_TTF, &data); + if (ret < 0) + return ret; + + /* when discharging, the value is not meaningful */ + if (data =3D=3D U16_MAX) + return -ENODATA; + val->intval =3D data * 5625 / 1000; break; default: --=20 2.53.0.473.g4a7958ca14-goog