Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp442651ybl; Tue, 28 Jan 2020 06:05:24 -0800 (PST) X-Google-Smtp-Source: APXvYqx8EwtXZGWrIzFhYgtBsPfr6Y/+KAQonPh6klXloyWZe9btzMOx6UlWE8AOOb2RMHDzzZ5X X-Received: by 2002:aca:a949:: with SMTP id s70mr3070596oie.80.1580220324696; Tue, 28 Jan 2020 06:05:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580220324; cv=none; d=google.com; s=arc-20160816; b=FIV+WoRv4KreGRx5wTN2iqO2BpxnpC0DeGRp5wTq/qoz9R9kbIIG6Jh95aGiFeML+o RTmoUJBIiR7p5ZeDmQ/EMA5n0538g6uT+4RjsRHKU5vt7vaR0kx9KxCIAqe8il09FRtH zDs5PdsPHObycMC3sGDswOQAjherqwenXvompQ06Z0VVU5PaXhQh/yzIcCVq+48TIt6K OGeNr3797TqEsKlYhsK20u/V+JGTBLAhYd3olj6hOe+fu9+CFZ2CJhP+FZI1yHNH7+pO MQzjv6lf6o4tE5FQvPPyCrGD5TPrCykp+1k2u7zb8lrOO5ZtivewekHLeWug9iTEeuze P1Zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=/jgWpj8HUbUGX0aKswtDv2vXs+6aHz6joWUUD1I9QrE=; b=P3uoZ3XvofN6oQ6GyHWbD9YGGO7YQN8RlNhveZj/LUNCRF+MMWI78WL3/IRdM3bkjg N1pocg7bIRYwtzXaxRAese46lMpqtApvpANqmp37EFzeLB6FqgJluDyiDoBTkX1RRruD tb/T108nl1hSbADfNUz5Yw+eqVRUkmmFhnXPFuk85b0HCOlLq7Qx18lk14L7lydNc+hR OoiYC2Ke41zcf3cWG/KGzeog3NV4OA2HJKoY3HPryXbv4XNiY5zVcfHq+cmqfTm9JynZ G4DYIYsePFq2CI/qo9rPI+1fSVRfEZu65a8RlNOlEy7Bhah67EsEcjQaITR01LkTWler ySwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=iD5G4wT+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d20si9163027oti.311.2020.01.28.06.04.55; Tue, 28 Jan 2020 06:05:24 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=iD5G4wT+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727652AbgA1OCb (ORCPT + 99 others); Tue, 28 Jan 2020 09:02:31 -0500 Received: from mail.kernel.org ([198.145.29.99]:48796 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727636AbgA1OC3 (ORCPT ); Tue, 28 Jan 2020 09:02:29 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CFC9E205F4; Tue, 28 Jan 2020 14:02:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1580220149; bh=HcGNWRmZW8RfsWLm1iNysjzwDaBTWRCv5Yq5VT0pCFE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iD5G4wT+yF5T3tKornevwQwaSgcaeEZPay/Lm0ejmdwJ9VbVs2y4ffWzluskj+Ope hhG/kY8UWOVascGjNd+UzZANj8BQ0Vmx7osSBG4htn5RoIhBgUVjUL6oZGDuChAKzf 9NV2GR6jhGw096BRnC3Dq3Ys70JzZE3spO/pt0tE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Luuk Paulussen , Guenter Roeck Subject: [PATCH 5.4 035/104] hwmon: (adt7475) Make volt2reg return same reg as reg2volt input Date: Tue, 28 Jan 2020 14:59:56 +0100 Message-Id: <20200128135822.178793292@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200128135817.238524998@linuxfoundation.org> References: <20200128135817.238524998@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Luuk Paulussen commit cf3ca1877574a306c0207cbf7fdf25419d9229df upstream. reg2volt returns the voltage that matches a given register value. Converting this back the other way with volt2reg didn't return the same register value because it used truncation instead of rounding. This meant that values read from sysfs could not be written back to sysfs to set back the same register value. With this change, volt2reg will return the same value for every voltage previously returned by reg2volt (for the set of possible input values) Signed-off-by: Luuk Paulussen Link: https://lore.kernel.org/r/20191205231659.1301-1-luuk.paulussen@alliedtelesis.co.nz cc: stable@vger.kernel.org Signed-off-by: Guenter Roeck Signed-off-by: Greg Kroah-Hartman --- drivers/hwmon/adt7475.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- a/drivers/hwmon/adt7475.c +++ b/drivers/hwmon/adt7475.c @@ -294,9 +294,10 @@ static inline u16 volt2reg(int channel, long reg; if (bypass_attn & (1 << channel)) - reg = (volt * 1024) / 2250; + reg = DIV_ROUND_CLOSEST(volt * 1024, 2250); else - reg = (volt * r[1] * 1024) / ((r[0] + r[1]) * 2250); + reg = DIV_ROUND_CLOSEST(volt * r[1] * 1024, + (r[0] + r[1]) * 2250); return clamp_val(reg, 0, 1023) & (0xff << 2); }