Message ID | cover.1581597365.git.matti.vaittinen@fi.rohmeurope.com |
---|---|
Headers | show |
Series | Support ROHM BD99954 charger IC | expand |
On Fri, Feb 14, 2020 at 8:37 AM Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> wrote: > Many devices have control registers which control some measurable > property. Often a register contains control field so that change in > this field causes linear change in the controlled property. It is not > a rare case that user wants to give 'meaningfull' control values and > driver needs to convert them to register field values. Even more > often user wants to 'see' the currently set value - again in > meaningfull units - and driver needs to convert the values it reads > from register to these meaningfull units. Rename meaningfull -> meaningful > This ideas is stol... borrowed from regulator framework's > regulator_linear_ranges handling. Hehe maybe one day we can move the whole thing to lib/ but let's take one step at a time. > Provide a linear_range helper which can do conversion from user value > to register value 'selector'. > > Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> > --- > > Where should we put these? This works. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
On Fri, Feb 14, 2020 at 8:38 AM Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> wrote: > Add parsing of new device-tree battery bindings. > > - tricklecharge-current-microamp > - precharge-upper-limit-microvolt > - re-charge-voltage-microvolt > - over-voltage-threshold-microvolt > > Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
Morning Linus, On Fri, 2020-02-21 at 14:49 +0100, Linus Walleij wrote: > On Fri, Feb 14, 2020 at 8:37 AM Matti Vaittinen > <matti.vaittinen@fi.rohmeurope.com> wrote: > > > Many devices have control registers which control some measurable > > property. Often a register contains control field so that change in > > this field causes linear change in the controlled property. It is > > not > > a rare case that user wants to give 'meaningfull' control values > > and > > driver needs to convert them to register field values. Even more > > often user wants to 'see' the currently set value - again in > > meaningfull units - and driver needs to convert the values it reads > > from register to these meaningfull units. > > Rename meaningfull -> meaningful > > > This ideas is stol... borrowed from regulator framework's > > regulator_linear_ranges handling. > > Hehe maybe one day we can move the whole thing to lib/ > but let's take one step at a time. > > > Provide a linear_range helper which can do conversion from user > > value > > to register value 'selector'. > > > > Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> > > --- > > > > Where should we put these? > > This works. > > Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Uh.. Sorry but I did already send v3 where I changed the approach to what was suggested by Mark. Eg, I tried pulling the range code out of regulator framework and used that in power/supply too. Basic idea is still the same - but instead of using min_sel + amount of values in range, the version 3 uses min_sel and max_sel as regulators did. That minimized changes to numerous regulator drivers defining ranges. Sorry for making you to do unnecessary reviewing. Best Regards Matti Vaittinen