devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "André Draszik" <andre.draszik@linaro.org>
To: Tudor Ambarus <tudor.ambarus@linaro.org>,
	Rob Herring <robh@kernel.org>,
	 Conor Dooley <conor+dt@kernel.org>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	 Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,  Lee Jones <lee@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	 Bartosz Golaszewski <brgl@bgdev.pl>,
	 Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: "Peter Griffin" <peter.griffin@linaro.org>,
	"Will McVicker" <willmcvicker@google.com>,
	kernel-team@android.com, linux-kernel@vger.kernel.org,
	linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org,
	linux-gpio@vger.kernel.org,
	"André Draszik" <andre.draszik@linaro.org>
Subject: [PATCH v3 10/20] regulator: add REGULATOR_LINEAR_VRANGE macro
Date: Mon, 03 Nov 2025 19:14:49 +0000	[thread overview]
Message-ID: <20251103-s2mpg1x-regulators-v3-10-b8b96b79e058@linaro.org> (raw)
In-Reply-To: <20251103-s2mpg1x-regulators-v3-0-b8b96b79e058@linaro.org>

REGULATOR_LINEAR_VRANGE is similar to REGULATOR_LINEAR_RANGE, but
allows a more natural declaration of a voltage range for a regulator,
in that it expects the minimum and maximum values as voltages rather
than as selectors.

Using voltages arguably makes this macro easier to use by drivers and
code using it can become easier to read compared to
REGULATOR_LINEAR_RANGE.

Signed-off-by: André Draszik <andre.draszik@linaro.org>

---
While this commit doesn't introduce any users, the upcoming s2mpg10 and
s2mpg11 drivers are using it.

v3:
- new patch
---
 include/linux/regulator/driver.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h
index 978cf593b6624228fe1fd9c2a3e186b53ef172f8..977755db64c6dfaea7246067eab0d9a2971caa01 100644
--- a/include/linux/regulator/driver.h
+++ b/include/linux/regulator/driver.h
@@ -53,6 +53,11 @@ enum regulator_detection_severity {
 #define REGULATOR_LINEAR_RANGE(_min_uV, _min_sel, _max_sel, _step_uV)	\
 	LINEAR_RANGE(_min_uV, _min_sel, _max_sel, _step_uV)
 
+/* Initialize struct linear_range using voltages, not selectors */
+#define REGULATOR_LINEAR_VRANGE(_offs_uV, _min_uV, _max_uV, _step_uV)	\
+	LINEAR_RANGE(_min_uV, ((_min_uV) - (_offs_uV)) / (_step_uV),	\
+		     ((_max_uV) - (_offs_uV)) / (_step_uV), _step_uV)
+
 /**
  * struct regulator_ops - regulator operations.
  *

-- 
2.51.2.997.g839fc31de9-goog


  parent reply	other threads:[~2025-11-03 19:14 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-03 19:14 [PATCH v3 00/20] Samsung S2MPG10 regulator and S2MPG11 PMIC drivers André Draszik
2025-11-03 19:14 ` [PATCH v3 01/20] dt-bindings: firmware: google,gs101-acpm-ipc: convert regulators to lowercase André Draszik
2025-11-03 19:14 ` [PATCH v3 02/20] dt-bindings: mfd: samsung,s2mps11: split s2mpg10 into separate file André Draszik
2025-11-04  8:26   ` Krzysztof Kozlowski
2025-11-07 11:01     ` André Draszik
2025-11-09 18:59       ` Krzysztof Kozlowski
2025-11-03 19:14 ` [PATCH v3 03/20] regulator: dt-bindings: add s2mpg10-pmic regulators André Draszik
2025-11-03 19:14 ` [PATCH v3 04/20] regulator: dt-bindings: add s2mpg11-pmic regulators André Draszik
2025-11-04  9:39   ` Krzysztof Kozlowski
2025-11-07 11:14     ` André Draszik
2025-11-09 19:00       ` Krzysztof Kozlowski
2025-11-10  6:30         ` André Draszik
2025-11-03 19:14 ` [PATCH v3 05/20] dt-bindings: mfd: samsung,s2mpg10: Link s2mpg10-pmic to its regulators André Draszik
2025-11-04  8:28   ` Krzysztof Kozlowski
2025-11-08 13:48     ` André Draszik
2025-11-03 19:14 ` [PATCH v3 06/20] dt-bindings: mfd: samsung,s2mpg10: Add s2mpg11-pmic André Draszik
2025-11-04  8:37   ` Krzysztof Kozlowski
2025-11-03 19:14 ` [PATCH v3 07/20] dt-bindings: firmware: google,gs101-acpm-ipc: update PMIC examples André Draszik
2025-11-04  8:31   ` Krzysztof Kozlowski
2025-11-08 14:08     ` André Draszik
2025-11-09 19:02       ` Krzysztof Kozlowski
2025-11-04  9:46   ` Krzysztof Kozlowski
2025-11-03 19:14 ` [PATCH v3 08/20] mfd: sec-common: Instantiate s2mpg10 bucks and ldos separately André Draszik
2025-11-03 19:14 ` [PATCH v3 09/20] mfd: sec: Add support for S2MPG11 PMIC via ACPM André Draszik
2025-11-13 16:25   ` Lee Jones
2025-11-13 21:43     ` André Draszik
2025-11-14 16:46       ` Mark Brown
2025-11-14 21:56         ` André Draszik
2025-11-16  1:14           ` Mark Brown
2025-11-16 12:49             ` André Draszik
2025-11-16 16:46               ` Mark Brown
2025-11-17  6:44                 ` André Draszik
2025-11-03 19:14 ` André Draszik [this message]
2025-11-04 14:27   ` [PATCH v3 10/20] regulator: add REGULATOR_LINEAR_VRANGE macro Mark Brown
2025-11-05 16:15     ` André Draszik
2025-11-03 19:14 ` [PATCH v3 11/20] regulator: s2mps11: drop two needless variable initialisations André Draszik
2025-11-04  8:41   ` Krzysztof Kozlowski
2025-11-03 19:14 ` [PATCH v3 12/20] regulator: s2mps11: use dev_err_probe() where appropriate André Draszik
2025-11-04  8:41   ` Krzysztof Kozlowski
2025-11-03 19:14 ` [PATCH v3 13/20] regulator: s2mps11: place constants on right side of comparison tests André Draszik
2025-11-04  8:40   ` Krzysztof Kozlowski
2025-11-03 19:14 ` [PATCH v3 14/20] regulator: s2mps11: update node parsing (allow -supply properties) André Draszik
2025-11-03 19:14 ` [PATCH v3 15/20] regulator: s2mps11: refactor handling of external rail control André Draszik
2025-11-03 19:14 ` [PATCH v3 16/20] regulator: s2mps11: add S2MPG10 regulator André Draszik
2025-11-03 19:14 ` [PATCH v3 17/20] regulator: s2mps11: refactor S2MPG10 ::set_voltage_time() for S2MPG11 reuse André Draszik
2025-11-03 19:14 ` [PATCH v3 18/20] regulator: s2mps11: refactor S2MPG10 regulator macros " André Draszik
2025-11-03 19:14 ` [PATCH v3 19/20] regulator: s2mps11: add S2MPG11 regulator André Draszik
2025-11-03 19:14 ` [PATCH v3 20/20] regulator: s2mps11: more descriptive gpio consumer name André Draszik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251103-s2mpg1x-regulators-v3-10-b8b96b79e058@linaro.org \
    --to=andre.draszik@linaro.org \
    --cc=brgl@bgdev.pl \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kernel-team@android.com \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=lee@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=peter.griffin@linaro.org \
    --cc=robh@kernel.org \
    --cc=tudor.ambarus@linaro.org \
    --cc=willmcvicker@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).