On Fri, May 08, 2020 at 06:38:17PM +0300, Matti Vaittinen wrote: > Please note that this series should be applied to two trees. Patches > 1-4 (or 1-5 as suggested by Sebastian) should go to regulator tree. > Perhaps Mark can provide an immutable branch to Sebastian? Rest of the > patches can then go to power-supply tree. The following changes since commit 0e698dfa282211e414076f9dc7e83c1c288314fd: Linux 5.7-rc4 (2020-05-03 14:56:04 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git tags/linear-ranges-lib for you to fetch changes up to 60ab7f4153b6af461c90d572c31104086b44639f: regulator: use linear_ranges helper (2020-05-08 18:18:13 +0100) ---------------------------------------------------------------- lib: Add linear ranges helper library and start using it Series extracts a "linear ranges" helper out of the regulator framework. Linear ranges helper is intended to help converting real-world values to register values when conversion is linear. I suspect this is useful also for power subsystem and possibly for clk. ---------------------------------------------------------------- Matti Vaittinen (4): lib: add linear ranges helpers lib/test_linear_ranges: add a test for the 'linear_ranges' power: supply: bd70528: rename linear_range to avoid collision regulator: use linear_ranges helper drivers/power/supply/bd70528-charger.c | 10 +- drivers/regulator/88pg86x.c | 4 +- drivers/regulator/88pm800-regulator.c | 4 +- drivers/regulator/Kconfig | 1 + drivers/regulator/act8865-regulator.c | 4 +- drivers/regulator/act8945a-regulator.c | 2 +- drivers/regulator/arizona-ldo1.c | 2 +- drivers/regulator/arizona-micsupp.c | 4 +- drivers/regulator/as3711-regulator.c | 6 +- drivers/regulator/as3722-regulator.c | 4 +- drivers/regulator/axp20x-regulator.c | 16 +-- drivers/regulator/bcm590xx-regulator.c | 8 +- drivers/regulator/bd70528-regulator.c | 8 +- drivers/regulator/bd71828-regulator.c | 10 +- drivers/regulator/bd718x7-regulator.c | 26 ++-- drivers/regulator/da903x.c | 2 +- drivers/regulator/helpers.c | 130 ++++++++--------- drivers/regulator/hi6421-regulator.c | 4 +- drivers/regulator/lochnagar-regulator.c | 4 +- drivers/regulator/lp873x-regulator.c | 4 +- drivers/regulator/lp87565-regulator.c | 2 +- drivers/regulator/lp8788-buck.c | 2 +- drivers/regulator/max77650-regulator.c | 2 +- drivers/regulator/mcp16502.c | 4 +- drivers/regulator/mp8859.c | 2 +- drivers/regulator/mt6323-regulator.c | 6 +- drivers/regulator/mt6358-regulator.c | 8 +- drivers/regulator/mt6380-regulator.c | 6 +- drivers/regulator/mt6397-regulator.c | 6 +- drivers/regulator/palmas-regulator.c | 4 +- drivers/regulator/qcom-rpmh-regulator.c | 2 +- drivers/regulator/qcom_rpm-regulator.c | 14 +- drivers/regulator/qcom_smd-regulator.c | 78 +++++------ drivers/regulator/rk808-regulator.c | 10 +- drivers/regulator/s2mps11.c | 14 +- drivers/regulator/sky81452-regulator.c | 2 +- drivers/regulator/stpmic1_regulator.c | 18 +-- drivers/regulator/tps65086-regulator.c | 10 +- drivers/regulator/tps65217-regulator.c | 4 +- drivers/regulator/tps65218-regulator.c | 6 +- drivers/regulator/tps65912-regulator.c | 4 +- drivers/regulator/twl-regulator.c | 4 +- drivers/regulator/twl6030-regulator.c | 2 +- drivers/regulator/wm831x-dcdc.c | 2 +- drivers/regulator/wm831x-ldo.c | 4 +- drivers/regulator/wm8350-regulator.c | 2 +- drivers/regulator/wm8400-regulator.c | 2 +- include/linux/linear_range.h | 48 +++++++ include/linux/regulator/driver.h | 27 +--- lib/Kconfig | 3 + lib/Kconfig.debug | 12 ++ lib/Makefile | 2 + lib/linear_ranges.c | 241 ++++++++++++++++++++++++++++++++ lib/test_linear_ranges.c | 228 ++++++++++++++++++++++++++++++ 54 files changed, 768 insertions(+), 266 deletions(-) create mode 100644 include/linux/linear_range.h create mode 100644 lib/linear_ranges.c create mode 100644 lib/test_linear_ranges.c