Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1606869pxj; Fri, 18 Jun 2021 10:39:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw0C5OHS74CjuUlFZ05CGrY21DvDAItsD/i4/qwEqYiUnQJkq9OnC3C0JgHKRrVVVRG5ahf X-Received: by 2002:a05:6402:358d:: with SMTP id y13mr6707267edc.264.1624037969905; Fri, 18 Jun 2021 10:39:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624037969; cv=none; d=google.com; s=arc-20160816; b=fBdjBCAHeci3EFdnSOIroFhKDVuhzGhqWheRTnco9aD60+bhFjbZuY80ow9dcHd0f4 4T88H0S2w9nIcvUQSqlRdoy211exUN9Y8cGe75MzOodXW8eeC4yoZdkzA8rgCOxs596O W0ei9E3mh1NtUsBh4nLq8qfHzUoYHj2xy2goayX0jv8B8zsJaPsEG71TN9dFCzu9NK50 7W42ULeSS02QGkChPFTmjTRTWrIoDygwptHfoSpCq1ycY/jWP95Z6a6bJtfVkflHMH6b oeihEyIB+d+3LdCtV9dKWeZYMSLeYUBbDuKqkrnsm21VGiSlR7glJm7tnZ3Kt+Uyfv7W ZoDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=II8CESjac+2BHRhdj6Fakm9t+Cyr5Rk+P7JcjZB40QA=; b=QxpXQGCium4R18b2mbVuc931n7jg9VOYylmpHXONsE4y4JHt/VWu/cdwqn75nGeFeh NKMndZd6XADKfd0NnQv28xCqOJqe5QcwIZmnmdujNc3+Sx+ITJoa3NtixOvwf6DcrwSB 6A87zYUpcI8hqfftYo32cS5wbidmNIY2L+sLaQlWhtI+rq7LlFTmhOq5aXVxbBKCXst1 g6xp72BBHJWdyu0iTGVd1fj2JbEWkP55EUSQ6kIxJ+79Az5+YEA8OZjH4r7UUVkySiJl mRQVl/FwJDJA90WDLEb176c1gVKwGFtFCbMpF3QMEHZ0GHvTMWq0CduMsz1crCLksecz 4P9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ingics-com.20150623.gappssmtp.com header.s=20150623 header.b="07h/VUSU"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cz11si9515129edb.37.2021.06.18.10.39.06; Fri, 18 Jun 2021 10:39:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ingics-com.20150623.gappssmtp.com header.s=20150623 header.b="07h/VUSU"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234349AbhFROQe (ORCPT + 99 others); Fri, 18 Jun 2021 10:16:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42050 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229782AbhFROQd (ORCPT ); Fri, 18 Jun 2021 10:16:33 -0400 Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F9CBC061574 for ; Fri, 18 Jun 2021 07:14:24 -0700 (PDT) Received: by mail-pj1-x1030.google.com with SMTP id g6-20020a17090adac6b029015d1a9a6f1aso7236629pjx.1 for ; Fri, 18 Jun 2021 07:14:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ingics-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=II8CESjac+2BHRhdj6Fakm9t+Cyr5Rk+P7JcjZB40QA=; b=07h/VUSUeaTOOVeoUuQhTpvx037wbZoyuatyADlG29lIWdtTX4hVAbxxvEgOb/OZ3y rs3w2cAMfzrliWE9NKH5+tcZYICsYQckic7AtP2YYil1/LbQRpDcSmMJ+ZbzcZwqFW7I lbFDD1Leu902Ug4cMqDIIFLTbTuiOdUfpc8SsiYjuDkMPeWFc8Sx90XTKP/0IYsQv1o1 tKPHmSQMu4V6G+5d+qsY5Ee0V95JJrnrwjEP+rrO8ac6LIwrZVUQSoLKsvFGZwK1Sovj XAXX8m8UgHRCjPqVa6leN2orrnG9Xiru1ZIwr4qr9PaFBrKboRneFF0jpGKmE1UyJCWp mRCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=II8CESjac+2BHRhdj6Fakm9t+Cyr5Rk+P7JcjZB40QA=; b=bWsSkqk2AsQM4ww8Zz0SqrymYWLy4BS95VqlGP+dfX0g3BcCy1swlL1Ew207xhzS/I FXoNZMCcc4l/W+olttUMCxydktYG3qIkqHAbAJ4hmHuc0dc3pNycoxI0uoIop2GC3Vvn GNtiHuF8DZXPkqsMDoraztfyD7TcqanZbjoAbLdpz78Fp2Vs0aGxSOAqtr4YpM+K+R/P 1UCb+rYUsh5u7sEhS0cUZnMk5UfFy1eC2mdZxsK5l2fRGCI2dIiJ+qU4AB+e6PSO0W9u c6jkd7L19jZ43sjjcUra03yHQwlp5gU617MyfSz2JxDvaET+1s5ra4Lo0jBz2C+DTRt8 xLJA== X-Gm-Message-State: AOAM533qrtECAYENtu9TpOl+rnokBMhPPseHXXpNez3k+i+JZXwvVsMw 6V2XtpGyieGH+tqLVB7lGEKC1g== X-Received: by 2002:a17:902:ee06:b029:11f:f229:1a5d with SMTP id z6-20020a170902ee06b029011ff2291a5dmr4895651plb.61.1624025663538; Fri, 18 Jun 2021 07:14:23 -0700 (PDT) Received: from localhost.localdomain (122-117-179-2.HINET-IP.hinet.net. [122.117.179.2]) by smtp.gmail.com with ESMTPSA id y7sm2431874pja.8.2021.06.18.07.14.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jun 2021 07:14:22 -0700 (PDT) From: Axel Lin To: Mark Brown Cc: Philipp Zabel , Steve Twiss , Support Opensource , Liam Girdwood , linux-kernel@vger.kernel.org, Axel Lin Subject: [PATCH 1/2] regulator: da9052: Ensure enough delay time for .set_voltage_time_sel Date: Fri, 18 Jun 2021 22:14:11 +0800 Message-Id: <20210618141412.4014912-1-axel.lin@ingics.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use DIV_ROUND_UP to prevent truncation by integer division issue. This ensures we return enough delay time. Also fix returning negative value when new_sel < old_sel. Signed-off-by: Axel Lin --- drivers/regulator/da9052-regulator.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/regulator/da9052-regulator.c b/drivers/regulator/da9052-regulator.c index e18d291c7f21..23fa429ebe76 100644 --- a/drivers/regulator/da9052-regulator.c +++ b/drivers/regulator/da9052-regulator.c @@ -250,7 +250,8 @@ static int da9052_regulator_set_voltage_time_sel(struct regulator_dev *rdev, case DA9052_ID_BUCK3: case DA9052_ID_LDO2: case DA9052_ID_LDO3: - ret = (new_sel - old_sel) * info->step_uV / 6250; + ret = DIV_ROUND_UP(abs(new_sel - old_sel) * info->step_uV, + 6250); break; } -- 2.25.1