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 --]
next prev parent 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