lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sun, 3 May 2020 17:29:22 +0200
From:   Sebastian Reichel <sre@...nel.org>
To:     Mark Brown <broonie@...nel.org>
Cc:     Matti Vaittinen <matti.vaittinen@...rohmeurope.com>,
        linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v10 00/11] Support ROHM BD99954 charger IC

Hi Mark,

I think it's best to create an immutable branch for patches 1-5,
which introduce the linear ranges helper. It can go into regulator
and power-supply tree. Then I take patches 6-11 directly into
power-supply. Do you want to create the immutable branch, or should
I send you a pull request?

-- Sebastian

On Wed, Apr 15, 2020 at 08:16:56AM +0300, Matti Vaittinen wrote:
> 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 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.
> 
> Current implementation does not support inversely proportional ranges
> but adding support for that could be helpful.
> 
> This version of series introduces new battry DT binding entries and
> adds the parsing in power_supply_get_battery_info().
> 
> Changelog v10:
>  - Add patch 11 which removes the "default n" from power/supply KConfig
>    (Please just drop from series if you disagree)
>  - Fix the regulator_linear_ranges added to qcom_smd-regulator.c at
>    v5.7-rc1
>  - Minor styling to BD70528 power/supply driver as suggested by Andy
> 
> Changelog v9:
>  General:
>    - rebased on top of v5.7-rc1
>    - re-ordered patches as suggested by Sebastian Reichel
>    - added few acks
>  BD99954 driver:
>    - Moved bd99954-charger.h to drivers/power/supply
>    - fixed a typo from print
>    - used devm_add_action_or_reset and removed remove callback
> 
> Changelog v8:
>  Linear ranges
>    - small improvements suggested by Andy Shevchenko, no functional changes
> 
> Changelog v7:
>  General:
>    - rebased on top of v5.6
>  bd99954 driver:
>    - fixed bunch of styling issues spotted by Andy Shevchenko
>    - dropped ACPI table as ACPI properties are not supported at this
>      version of driver.
>    - added few acks
> 
> Changelog v6:
>  generic:
>    - rebased on top of 5.6-rc7.
>  linear ranges:
>    - moved to lib as requested by Greg KH
>    - EXPORT_SYMBOL => EXPORT_SYMBOL_GPL
>    - licence GPL-2.0, not later
>    - added KUnit test for linear ranges
> 
> Changelog v5:
>  generic:
>    - rebased on top of 5.6-rc6.
>  DT-bindings:
>    - Dropped -charger extension from compatible and removed wildcard x.
>  regulators:
>    - squashed the regulator changes in one patch.
>  power-supply KConfig:
>    - fixed indentiation
>    - dropped unnecessary 'default N' from BD99954.
> 
> Changelog v4:
>  generic:
>    - rebase and drop RFC.
>  DT-bindings:
>    - add I2C node address-cells and size-cells to fix yaml check errors
>    - uncomment multipleOf:
>  bd70528:
>    - add patch which renames driver internal linear_range struct to
>      avoid collision when regulator/driver.h (which gets included from
>      rohm generic header) introduces the linear_range struct.
>  regulators:
>    - rebase to v5.6-rc2 and convert also the two newly introduced
>      drivers to use linear_range struct instead of
>      regulator_linear_range.
>  linear_ranges:
>    - Fix kerneldoc.
> 
> Changelog RFC-v3:
>  DT-bindings:
>    - fix the BD99954 binding (the *-microvolt Vs. *-microvolts issue is
>      still there. Not sure which one is correct)
>    - renabe tricklecharge-* binding to trickle-charge-* as suggested by
>      Rob.
>  - drop the linear-ranges helper which was written for BD70528 and
>    extract the linear-range code from regulator framework instead.
>  - refactor regulator framework to utilize extracted linear-ranges
>    code.
>  - change the struct regulator_linear_range to linear_range from
>    regulator drivers.
>  - refactor BD70528 to use regulator framework originated
>    linear-ranges code.
>  - change BD99954 to use linear-ranges code from regulator framework
> 
> Changelog RFC-v2:
>  DT-bindings:
>    - Used the battery parameters described in battery.txt
>    - Added few new parameters to battery.txt
>    - Added ASCII art charging profile chart for BD99954 to explain
>      states and limits.
>  Linear ranges:
>    - Fixed division by zero error from linear-ranges code if step 0 is
>      used.
>  Power-supply core:
>    - Added parsing of new battery parameters.
>  BD99954 driver:
>    - converted to use battery parameters from battery node
>    - Added step 0 ranges for reg values which do not change voltage
>    - added dt-node to psy-config
> 
> Patch 1:
> 	Linear ranges helpers
> Patch 2:
> 	Test for linear ranges helpers
> Patch 3:
> 	Rename driver internal struct linear_range from bd70528-power
> Patch 4:
> 	Use linear-ranges helpers in regulator framework and
> 	convert regulator drivers to use new linear_range struct.
> Patch 5:
> 	Use linear-ranges helpers in bd70528 driver
> Patch 6:
> 	DT binding docs for the new battery parameters
> Patch 7:
> 	Parsing of new battery parameters
> Patch 8:
> 	BD99954 charger DT binding docs
> Patch 9:
> 	ROHM BD99954 charger IC driver
> Patch 10:
> 	Fix Kconfig help text indentiation for other entries as well.
> Patch 10:
> 	Fix Kconfig by removing the "default n".
> 
> ---
> 
> Matti Vaittinen (11):
>   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
>   power: supply: bd70528: use linear ranges
>   dt-bindings: battery: add new battery parameters
>   power: supply: add battery parameters
>   dt_bindings: ROHM BD99954 Charger
>   power: supply: Support ROHM bd99954 charger
>   power: supply: Fix Kconfig help text indentiation
>   power: supply: KConfig cleanup default n
> 
>  .../bindings/power/supply/battery.txt         |    6 +
>  .../bindings/power/supply/rohm,bd99954.yaml   |  155 +++
>  drivers/power/supply/Kconfig                  |   36 +-
>  drivers/power/supply/Makefile                 |    1 +
>  drivers/power/supply/bd70528-charger.c        |  140 +-
>  drivers/power/supply/bd99954-charger.c        | 1142 +++++++++++++++++
>  drivers/power/supply/bd99954-charger.h        | 1075 ++++++++++++++++
>  drivers/power/supply/power_supply_core.c      |    8 +
>  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/power_supply.h                  |    4 +
>  include/linux/regulator/driver.h              |   27 +-
>  lib/Kconfig                                   |    3 +
>  lib/Kconfig.debug                             |   11 +
>  lib/Makefile                                  |    2 +
>  lib/linear_ranges.c                           |  241 ++++
>  lib/test_linear_ranges.c                      |  228 ++++
>  62 files changed, 3228 insertions(+), 362 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/power/supply/rohm,bd99954.yaml
>  create mode 100644 drivers/power/supply/bd99954-charger.c
>  create mode 100644 drivers/power/supply/bd99954-charger.h
>  create mode 100644 include/linux/linear_range.h
>  create mode 100644 lib/linear_ranges.c
>  create mode 100644 lib/test_linear_ranges.c
> 
> 
> base-commit: 8f3d9f354286745c751374f5f1fcafee6b3f3136
> -- 
> 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 =] 

Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)

Powered by blists - more mailing lists