The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: Waqar Hameed <waqar.hameed@axis.com>
Cc: kernel@axis.com, linux-kernel@vger.kernel.org,  linux-pm@vger.kernel.org
Subject: Re: [PATCH v3 2/2] power: supply: Add driver for TI BQ25630 charger
Date: Sat, 25 Jul 2026 02:57:51 +0200	[thread overview]
Message-ID: <amQD4oydNkzlOIeC@venus> (raw)
In-Reply-To: <ca5228dc74705adf96f0af5363ccb65bb965640b.1782683551.git.waqar.hameed@axis.com>

[-- Attachment #1: Type: text/plain, Size: 2261 bytes --]

Hi,

On Mon, Jun 29, 2026 at 12:01:19AM +0200, Waqar Hameed wrote:
> TI BQ25630 is a battery charger that is I2C controlled. Despite its
> model name, it is rather different from the other devices in the BQ256xx
> family; it has a completely different register layout and some other
> additional functionality (see the datasheet for more details [1]).
> 
> The most "annoying" thing is that it has two different register lengths:
> 8-bit and 16-bit. Moreover, the 16-bit registers are further partitioned
> into either being little- or big-endian... Luckily, `regmap` has support
> for multiple `regmap_config`s (by setting unique names). Therefore, use
> three different `regmap_config`s for the corresponding registers. ADC
> functionality has been left out, due to it not having any real-world
> use-cases.
> 
> The `enum power_supply_property` values are straightforward to map. Some
> properties are clamped (e.g. voltage/current ranges). Common
> `bq25630_read/write_limit()` functions for this are therefore suitable.
> 
> Interrupts are sent whenever a state change is detected. Save the state
> status registers in `bq25630_data` and `memcmp()` this in order to
> decide if `power_supply_changed()` should be called or not. The actual
> state values are in (and fetched from) the other
> `power_supply_property`-mapped registers.
> 
> [1] https://www.ti.com/lit/gpn/bq25630
> 
> Signed-off-by: Waqar Hameed <waqar.hameed@axis.com>
> ---
>  drivers/power/supply/Kconfig           |    7 +
>  drivers/power/supply/Makefile          |    1 +
>  drivers/power/supply/bq25630_charger.c | 1073 ++++++++++++++++++++++++
>  3 files changed, 1081 insertions(+)
>  create mode 100644 drivers/power/supply/bq25630_charger.c
> 

[...]

> +static const struct power_supply_desc bq25630_charger_psy_desc = {
> +	.name = BQ25630_DRV_NAME,
> +	.type = POWER_SUPPLY_TYPE_USB_TYPE_C,

Just POWER_SUPPLY_TYPE_USB, other USB details should be done via
USB_TYPES (as you do already). I just cannot remove those types
because they are used by some old drivers and exposed to userspace
and thus ABI. I guesss I should add a _DEPRECATED to the in-kernel
name.

I will fix that up while applying.

Greetings,

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2026-07-25  0:58 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-28 22:01 [PATCH v3 0/2] Add driver for TI BQ25630 charger Waqar Hameed
2026-06-28 22:01 ` [PATCH v3 2/2] power: supply: " Waqar Hameed
2026-07-25  0:57   ` Sebastian Reichel [this message]
2026-06-28 22:01 ` [PATCH v3 1/2] dt-bindings: power: supply: Add " Waqar Hameed
2026-07-25  1:01 ` [PATCH v3 0/2] Add driver for " Sebastian Reichel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=amQD4oydNkzlOIeC@venus \
    --to=sebastian.reichel@collabora.com \
    --cc=kernel@axis.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=waqar.hameed@axis.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox