From nobody Tue Apr 7 17:15:08 2026 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (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 638183FFAC6 for ; Mon, 2 Mar 2026 13:32:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772458346; cv=none; b=j0+qrzqrN+TRzYhEHXTSvU4Jm1d0HLaaKoIOm7A+bpTe5SGIIJwdHTT0KiQyXwTF/xO2YqofU/l53zL+q4gQ8fx8j3Oa54WOJI5yAuq8gmLNK90HesBKUu9FV7Pi8KvkRHGx5F8TKImbhPx815ANwUyUZufbZv2h0ys1QkeQXHo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772458346; c=relaxed/simple; bh=LPFo+cbHAqVk13TeD20IZOD6+0vm00q2KSHAwRPC2xY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Qj9qFXJn+0s46IeJLnXHdEwIeUnMfQ0c5S7UULSGM9HeWWC+l1AldxPqUpDiB6lrb73jaguNd3pEXZNSsFVI7GJ688yKktwevoq8+FX7EVMh0lyGmIjPH6HFZ49RevWs/8Wj4FjDk2nlw1A+zgKBdrkAuy8cAShgnCuQD+Q+Yro= 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=Hff56t+b; arc=none smtp.client-ip=209.85.208.43 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="Hff56t+b" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-65bfc858561so8081562a12.2 for ; Mon, 02 Mar 2026 05:32:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772458343; x=1773063143; 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=+eENY2ZIGyWtFsoRnN8y2/UmVBJToSMdJv5r4cjednc=; b=Hff56t+biGVZwEXE9FoTzuSQMTIoAWi6V+v6RIBFK9U1PUYysFEM2gZb7p7qTfrWm6 MIwMsxwpNSkOIMcAlkVV3tH5dDpJC1hMSqD0aTo5USJpFxRoYZFJbKpyjhOdVMFYRG4f 0XxKTrNc+KzqscKUBcpnkWU0r83otpyfuyA7SmtWEgeLcfgtskXV/s1ByUoQwzWIFjdI rmVmyLRdlyj69lm2wZv9L6+0GZmBvn2i9mVutpRKGpW0a3JEwFlTH8bLLGxnxAIXmrgJ ZRe4WdqyrRb/2WgfysMhMFydCyqt3a36y64Q5o2KlnkagZfS2ORWQ5p/ANhabx/wfgUx U5Cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772458343; x=1773063143; 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=+eENY2ZIGyWtFsoRnN8y2/UmVBJToSMdJv5r4cjednc=; b=LqGbT7R+2xeRmoTxIgpNfFVh0zoZCKH6oh0bVXfD/S3iHq4ILCiAac8KXRdRgUIpoA J8q3VbF69PXDw0bPOEN1nex/WCNfd90tM5bz2QJvFfuiPsqAlD5kresWZLbXgZdvxG/Y JfhGhMt4utBBtKoHBie3r0aFd9rhGs3PmjBY2/Z+pjreUFO8S1w2RjZxqNXBP/au7seu fgv1T1oS3UmXLld5cWR7u58h7zwgfzZDDBsVdMWy8HNX6LcPcdgXbsK3AcQlXeMkWFLb N9VXC/HeHuRdgzbqvh7/Eo7d5Ya45UGo7teqhr5sXgdl6QhMhriklRlHxLaxCYm15EwR fv/A== X-Forwarded-Encrypted: i=1; AJvYcCWX1UDTxwUKONDSK+FEh1pt/aYRkIyoIYkbvjzTR0zxf7sZEwlVMkatv35zGVrX9dECT3+hKDMkgxaQpG8=@vger.kernel.org X-Gm-Message-State: AOJu0YzGiboMKyMqI45ljjqjaMqesUlDAGRxD0pBFFPbieRa96g7pDve yZqgevBoewdSwy9sAWIvmOVDz/uO2Q+ym91jXXrCSGY6yXbvC0C2ZNlIrRVyY7KQnjo= X-Gm-Gg: ATEYQzwXoOIrzERLoy7I3z64na7eFnYeswLSgu7gAnywOopqQomP9rVsiYGJ59wo4T0 NKMKLpsfcg3SKVnirjVV8frqYBrYYbiPShugERuimn+tXmpSsb+RiJY4H82WQpF9GSGLaTbRy6Q LhOItdlE9VxP7Ua2iRTVLlcotgubg1zHVyu5ziWdhAU2kdt3EGjGhtj8/PMslGQTSSTNj9kSHXV Ax78u4++lywQHQuxzrS0QnbN/Lw4lXHDhm+x2Hbjxz6e/3dRW/+IiP1u/UzkEhpe4l7+pHS6gWi CEZa2lwkF8VxnmmWEXdTS9KSk9Nz4MdITsOh/ZYdklKiBl//jeEfieDGJgX36FzOkt0HFuxdnuX gtpWxmXra+QodtHx5hRKz9N5vKriF0eXIUtAj0ubX7u2GLCfpEeOAgbJ+OG4taYaqI8PMmofQw2 BjWexhEVJ6XVTFQ//8HRlffVAexz0j4FbGGpLFxWBYCe52aB4zp+4ehn/DKmJTknOUuyiz6c26x z6Sv90IpwluwtI= X-Received: by 2002:a05:6402:2755:b0:65f:830b:1034 with SMTP id 4fb4d7f45d1cf-65fdd6bd91bmr8277137a12.6.1772458342742; Mon, 02 Mar 2026 05:32:22 -0800 (PST) Received: from puffmais2.c.googlers.com (221.210.91.34.bc.googleusercontent.com. [34.91.210.221]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-65fabf6d1c6sm3282988a12.17.2026.03.02.05.32.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 05:32:22 -0800 (PST) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Mon, 02 Mar 2026 13:32:10 +0000 Subject: [PATCH v3 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: <20260302-max77759-fg-v3-11-3c5f01dbda23@linaro.org> References: <20260302-max77759-fg-v3-0-3c5f01dbda23@linaro.org> In-Reply-To: <20260302-max77759-fg-v3-0-3c5f01dbda23@linaro.org> To: Hans de Goede , Krzysztof Kozlowski , Marek Szyprowski , Sebastian Krzyszkowiak , Purism Kernel Team , Sebastian Reichel , Rob Herring , Conor Dooley , Ramakrishna Pallala 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. Reviewed-by: Peter Griffin 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 max17055 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 bafbf8706055..167fb3fb3732 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, @@ -443,6 +444,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