linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 00/15] power: bq24257: Add support for bq24250/bq24251
@ 2015-09-25 15:54 Andreas Dannenberg
  2015-09-25 15:54 ` [PATCH v7 06/15] power: bq24257: Add basic " Andreas Dannenberg
                   ` (4 more replies)
  0 siblings, 5 replies; 34+ messages in thread
From: Andreas Dannenberg @ 2015-09-25 15:54 UTC (permalink / raw)
  To: Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Laurentiu Palcu, Krzysztof Kozlowski
  Cc: Ramakrishna Pallala, linux-pm-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-api-u79uwXL29TY76Z2rM5mHXA, Andreas Dannenberg

This patch series extends the driver to also support bq24250/bq24251.

The bq24250/251/257 devices have a very similar feature set and are
virtually identical from a control register point of view so it made
sense to extend the existing driver rather than submitting a new driver.
In addition to the new device support the driver is also extended to
allow access to some device features previously hidden. Basic and
potentially dangerous charger config parameters affecting the actual
charging of the Li-Ion battery are only configurable through firmware
rather than sysfs properties. However some newly introduced properties
are exposed through sysfs properties as access to them may be desired
from userspace. For example, it is now possible to manually configure
the maximum current drawn from the input source to accommodate different
chargers (0.5A, 1.5A, 2.0A and so on) based on system knowledge a
userspace application may have rather than rely on the auto-detection
mechanism that may not work in all possible scenarios.

Note that most patches have dependencies on other patches in the series.

v7:
- Fixed an issue that would have impacted running bisect on the series
  and double checked the entire series builds one by one by running
  a git rebase -i --exec="make ..." ... on the Kernel tree
- Minor simplification of a return from a function

v6:
- Removed the ability to configure the IRQ through "stat-gpios"
- Allow re-configuring the input_current_limit via sysfs also when
  charger auto-detection is enabled
- Use gpiod interface for initialization as a platform device (nice
  GPIO setup simplification)
- Document all newly introduced sysfs nodes
- Streamlined/fixed/simplified charger state handling as it relates
  to battery removal/insertion and the associated handling of the
  input current limit setting
- Minor simplifications/cleanup
- Rebased onto git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-
  power-supply.git (branch "next") and completely retested

v5:
- Added patch to use the managed version of power supply register which
  also fixes a code flow issue that was introduced
- Minor fixes / consistency cleanup (Krzysztof's feedback)

v4:
- Removed configurability of the safety timer multiplier through DT

v3:
- Dropped the driver/symbol rename patch from v2 due to anticipated
  issues with upcoming bq2425x family additions
- Reverted additional mutex coverage for I2C access due to regmap
  built-in mutex protection being sufficient
- Removed support for trickle charging due to being a rare/uncommon
  use case
- Fixed most checkpatch.pl --strict alignment issues (except where
  the line length would exceed 80 chars)
- Fixed an issue with how the return value of gpio_to_desc() was
  handled
- Fixed an issue with the definition of bq24257_of_match[]
- Reordered the patch series to put the DT doc changes to the
  beginning

v2:
- Aligned DT bindings better with existing "ti,*" charger bindings
- Dropped patch that improperly reported a missing battery as a dead
  battery
- Fixed (hopefully, that is -- still waiting for my test platform)
  issue with how the private ACPI driver_data used to identify which
  bq2425x device to use
- Removed boolean DT/ACPI properties mostly by replacing them with more
  intelligent handling in the driver
- Rework/clarification of DT bindings doc
- Renamed/refactored filenames/symbols from bq24257 to bq2425x to
  better reflect that multiple devices are covered. Despite initial
  hesitation I feel this is a good opportunity for some clean-up as
  the driver is still very new in the Kernel so the change should be
  low risk. This also addresses one of Andrew Davis' feedback items.
  Plus, it makes for a nice alignment with the existing bq2415x_charger
  driver.

v1:
- Initial submission

Andreas Dannenberg (15):
  dt: power: bq24257-charger: Cover additional devices
  power: bq24257: Remove IRQ config through stat-gpios
  power: bq24257: Streamline input current limit setup
  power: bq24257: Use managed power supply register
  power: bq24257: Simplify bq24257_power_supply_init()
  power: bq24257: Add basic support for bq24250/bq24251
  power: bq24257: Add bit definition for temp sense enable
  power: bq24257: Allow manual setting of input current limit
  power: bq24257: Add SW-based approach for Power Good determination
  power: bq24257: Add over voltage protection setting support
  power: bq24257: Add input DPM voltage threshold setting support
  power: bq24257: Allow input current limit sysfs access
  power: bq24257: Add various device-specific sysfs properties
  power: bq24257: Add platform data based initialization
  Documentation: power: bq24257: Document exported sysfs entries

 Documentation/ABI/testing/sysfs-class-power        |  58 +++
 .../devicetree/bindings/power/bq24257.txt          |  53 ++-
 drivers/power/Kconfig                              |   5 +-
 drivers/power/bq24257_charger.c                    | 518 ++++++++++++++++++---
 include/linux/power/bq24257_charger.h              |  25 +
 5 files changed, 577 insertions(+), 82 deletions(-)
 create mode 100644 include/linux/power/bq24257_charger.h

-- 
1.9.1

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2015-09-29  6:02 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-25 15:54 [PATCH v7 00/15] power: bq24257: Add support for bq24250/bq24251 Andreas Dannenberg
2015-09-25 15:54 ` [PATCH v7 06/15] power: bq24257: Add basic " Andreas Dannenberg
     [not found]   ` <1443196460-26156-7-git-send-email-dannenberg-l0cyMroinI0@public.gmane.org>
2015-09-28 13:14     ` Krzysztof Kozlowski
2015-09-28 13:38       ` Andreas Dannenberg
2015-09-25 15:54 ` [PATCH v7 07/15] power: bq24257: Add bit definition for temp sense enable Andreas Dannenberg
     [not found] ` <1443196460-26156-1-git-send-email-dannenberg-l0cyMroinI0@public.gmane.org>
2015-09-25 15:54   ` [PATCH v7 01/15] dt: power: bq24257-charger: Cover additional devices Andreas Dannenberg
     [not found]     ` <1443196460-26156-2-git-send-email-dannenberg-l0cyMroinI0@public.gmane.org>
2015-09-28 12:16       ` Krzysztof Kozlowski
2015-09-28 18:16       ` Sebastian Reichel
2015-09-25 15:54   ` [PATCH v7 02/15] power: bq24257: Remove IRQ config through stat-gpios Andreas Dannenberg
     [not found]     ` <1443196460-26156-3-git-send-email-dannenberg-l0cyMroinI0@public.gmane.org>
2015-09-28 16:38       ` Sebastian Reichel
2015-09-25 15:54   ` [PATCH v7 03/15] power: bq24257: Streamline input current limit setup Andreas Dannenberg
     [not found]     ` <1443196460-26156-4-git-send-email-dannenberg-l0cyMroinI0@public.gmane.org>
2015-09-28 16:53       ` Sebastian Reichel
2015-09-25 15:54   ` [PATCH v7 04/15] power: bq24257: Use managed power supply register Andreas Dannenberg
     [not found]     ` <1443196460-26156-5-git-send-email-dannenberg-l0cyMroinI0@public.gmane.org>
2015-09-28 13:10       ` Krzysztof Kozlowski
2015-09-28 17:22       ` Sebastian Reichel
2015-09-25 15:54   ` [PATCH v7 05/15] power: bq24257: Simplify bq24257_power_supply_init() Andreas Dannenberg
     [not found]     ` <1443196460-26156-6-git-send-email-dannenberg-l0cyMroinI0@public.gmane.org>
2015-09-28 13:10       ` Krzysztof Kozlowski
2015-09-25 15:54   ` [PATCH v7 08/15] power: bq24257: Allow manual setting of input current limit Andreas Dannenberg
2015-09-29  6:02     ` Krzysztof Kozlowski
2015-09-25 15:54   ` [PATCH v7 09/15] power: bq24257: Add SW-based approach for Power Good determination Andreas Dannenberg
     [not found]     ` <1443196460-26156-10-git-send-email-dannenberg-l0cyMroinI0@public.gmane.org>
2015-09-27 20:20       ` Sebastian Reichel
2015-09-28 12:04         ` Andreas Dannenberg
2015-09-28 15:49           ` Andreas Dannenberg
2015-09-28 16:02           ` Sebastian Reichel
2015-09-25 15:54   ` [PATCH v7 10/15] power: bq24257: Add over voltage protection setting support Andreas Dannenberg
2015-09-25 15:54   ` [PATCH v7 11/15] power: bq24257: Add input DPM voltage threshold " Andreas Dannenberg
2015-09-25 15:54   ` [PATCH v7 12/15] power: bq24257: Allow input current limit sysfs access Andreas Dannenberg
2015-09-25 15:54   ` [PATCH v7 13/15] power: bq24257: Add various device-specific sysfs properties Andreas Dannenberg
2015-09-25 15:54   ` [PATCH v7 14/15] power: bq24257: Add platform data based initialization Andreas Dannenberg
     [not found]     ` <1443196460-26156-15-git-send-email-dannenberg-l0cyMroinI0@public.gmane.org>
2015-09-28 17:58       ` Sebastian Reichel
2015-09-28 22:50         ` Andreas Dannenberg
2015-09-28 18:19   ` [PATCH v7 00/15] power: bq24257: Add support for bq24250/bq24251 Sebastian Reichel
2015-09-25 15:54 ` [PATCH v7 15/15] Documentation: power: bq24257: Document exported sysfs entries Andreas Dannenberg
2015-09-28 12:14 ` [PATCH v7 00/15] power: bq24257: Add support for bq24250/bq24251 Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).