Support ROHM BD99954 Battery Management IC ROHM BD99954 is a Battery Management IC for 1-4 cell Lithium-Ion secondary battery. BD99954 is intended to be used in space-constraint equipment such as Low profile Notebook PC, Tablets and other applications. Series introduces "linear ranges" helper intended to help converting real-world values to register values when conversion is linear. This version just meld the helpers in power/supply but this is hardly the correct place. Maybe they would fit regmap? This version of series introduces ROHM specific DT binding entries for few charger parameters. I think these parameters are pretty common and maybe the "rohm,"-prefix should be dropped and we should try having common properties for different chips? If this seems reasonable I can try drafting parser functions in power/supply framework and extract the corresponding DT yaml bindings into generic power-supply.yaml doc. Please let me know if you think these properties should not be common - or that the power/supply framework should not contain helpers for parsing these properties. Then I'll just drop the RFC from series and submit the ROHM specific properties and do DT parsing in this driver. Patch 1: BD99954 charger DT binding docs Patch 2: Linear ranges helpers Patch 3: BD99954 driver --- Matti Vaittinen (3): dt_bindings: ROHM BD99954 Charger power: Add linear_range helper power: supply: Support ROHM bd99954 charger .../bindings/power/supply/rohm,bd9995x.yaml | 118 ++ drivers/power/supply/Kconfig | 14 + drivers/power/supply/Makefile | 2 + drivers/power/supply/bd70528-charger.c | 65 +- drivers/power/supply/bd99954-charger.c | 1056 ++++++++++++++++ drivers/power/supply/linear-ranges.h | 36 + drivers/power/supply/linear_ranges.c | 89 ++ include/linux/power/bd99954-charger.h | 1075 +++++++++++++++++ 8 files changed, 2398 insertions(+), 57 deletions(-) create mode 100644 Documentation/devicetree/bindings/power/supply/rohm,bd9995x.yaml create mode 100644 drivers/power/supply/bd99954-charger.c create mode 100644 drivers/power/supply/linear-ranges.h create mode 100644 drivers/power/supply/linear_ranges.c create mode 100644 include/linux/power/bd99954-charger.h -- 2.21.0 -- Matti Vaittinen, Linux device drivers ROHM Semiconductors, Finland SWDC Kiviharjunlenkki 1E 90220 OULU FINLAND ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~ Simon says - in Latin please. ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~ Thanks to Simon Glass for the translation =]