Unverified Commit 7d33c0a4 authored by André Draszik's avatar André Draszik Committed by Mark Brown
Browse files

regulator: add REGULATOR_LINEAR_VRANGE macro



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: default avatarAndré Draszik <andre.draszik@linaro.org>
Link: https://patch.msgid.link/20260122-s2mpg1x-regulators-v7-10-3b1f9831fffd@linaro.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 030158c0
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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.
 *