From: Hans de Goede <hdegoede@redhat.com>
To: Sebastian Reichel <sre@kernel.org>
Cc: Hans de Goede <hdegoede@redhat.com>, Takashi Iwai <tiwai@suse.de>,
linux-pm@vger.kernel.org, Liam Breck <kernel@networkimprov.net>,
Tony Lindgren <tony@atomide.com>
Subject: [PATCH v2 2/7] power: supply: bq24190_charger: Add support for bq24192i
Date: Wed, 22 Mar 2017 15:55:31 +0100 [thread overview]
Message-ID: <20170322145536.30570-3-hdegoede@redhat.com> (raw)
In-Reply-To: <20170322145536.30570-1-hdegoede@redhat.com>
The bq24192 and bq24192i are mostly identical to the bq24190, TI even
published a single datasheet for all 3 of them. The difference
between the bq24190 and bq24192[i] is the way charger-type detection
is done, the bq24190 is to be directly connected to the USB a/b lines,
where as the the bq24192[i] has a gpio which should be driven high/low
externally depending on the type of charger connected, from a register
level access pov there is no difference.
The differences between the bq24192 and bq24192i are:
1) Lower default charge rate on the bq24192i
2) Pre-charge-current can be max 640 mA on the bq24192i
On x86/ACPI systems the code which instantiates the i2c client may not
know the exact variant being used, so instead of coding the model-id
in the i2c_id struct and bailing if it does not match, check the reported
model-id matches one of the supported variants.
This commit only adds support for the bq24192i as I don't
have a bq24192 to test with, adding support for the bq24192 should
be as simple as also accepting its model-id in the model-id test.
Cc: Liam Breck <kernel@networkimprov.net>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
Changes in v2:
-Improve commit msg
-Drop model-id from bq24190_i2c_ids table and bdi struct
-Only add support for the bq24192i and not for the bq24192
---
drivers/power/supply/bq24190_charger.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/drivers/power/supply/bq24190_charger.c b/drivers/power/supply/bq24190_charger.c
index fa2d2da..d74c8cc 100644
--- a/drivers/power/supply/bq24190_charger.c
+++ b/drivers/power/supply/bq24190_charger.c
@@ -149,7 +149,6 @@ struct bq24190_dev_info {
struct power_supply *charger;
struct power_supply *battery;
char model_name[I2C_NAME_SIZE];
- kernel_ulong_t model;
bool initialized;
bool irq_event;
struct mutex f_reg_lock;
@@ -1291,8 +1290,11 @@ static int bq24190_hw_init(struct bq24190_dev_info *bdi)
if (ret < 0)
return ret;
- if (v != bdi->model)
+ if (v != BQ24190_REG_VPRS_PN_24190 &&
+ v != BQ24190_REG_VPRS_PN_24192I) {
+ dev_err(bdi->dev, "Error unknown model: 0x%02x\n", v);
return -ENODEV;
+ }
ret = bq24190_register_reset(bdi);
if (ret < 0)
@@ -1327,7 +1329,6 @@ static int bq24190_probe(struct i2c_client *client,
bdi->client = client;
bdi->dev = dev;
- bdi->model = id->driver_data;
strncpy(bdi->model_name, id->name, I2C_NAME_SIZE);
mutex_init(&bdi->f_reg_lock);
bdi->f_reg = 0;
@@ -1526,13 +1527,9 @@ static const struct dev_pm_ops bq24190_pm_ops = {
SET_SYSTEM_SLEEP_PM_OPS(bq24190_pm_suspend, bq24190_pm_resume)
};
-/*
- * Only support the bq24190 right now. The bq24192, bq24192i, and bq24193
- * are similar but not identical so the driver needs to be extended to
- * support them.
- */
static const struct i2c_device_id bq24190_i2c_ids[] = {
- { "bq24190", BQ24190_REG_VPRS_PN_24190 },
+ { "bq24190" },
+ { "bq24192i" },
{ },
};
MODULE_DEVICE_TABLE(i2c, bq24190_i2c_ids);
--
2.9.3
next prev parent reply other threads:[~2017-03-22 14:55 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-22 14:55 [PATCH 0/7] power: supply: bq24190_charger: Various fixes + extcon support Hans de Goede
2017-03-22 14:55 ` [PATCH v2 1/7] power: supply: bq24190_charger: Use i2c-core irq-mapping code Hans de Goede
2017-03-22 15:37 ` Tony Lindgren
2017-03-23 11:11 ` Sebastian Reichel
2017-03-24 23:44 ` Liam Breck
2017-03-22 14:55 ` Hans de Goede [this message]
2017-03-23 11:12 ` [PATCH v2 2/7] power: supply: bq24190_charger: Add support for bq24192i Sebastian Reichel
2017-03-24 23:34 ` Liam Breck
2017-03-22 14:55 ` [PATCH v2 3/7] power: supply: bq24190_charger: Use extcon to determine ilimit, 5v boost Hans de Goede
2017-03-22 15:50 ` Tony Lindgren
2017-03-22 15:57 ` Hans de Goede
2017-03-22 18:50 ` Liam Breck
2017-03-23 8:31 ` Hans de Goede
2017-03-22 14:55 ` [PATCH v2 4/7] power: supply: bq24190_charger: Never reset the charger chip Hans de Goede
2017-03-22 15:43 ` Tony Lindgren
2017-03-22 15:45 ` Hans de Goede
2017-03-22 15:51 ` Tony Lindgren
2017-03-23 7:16 ` Liam Breck
2017-03-23 8:44 ` Hans de Goede
2017-03-23 11:36 ` Liam Breck
2017-03-23 11:44 ` Hans de Goede
2017-03-23 11:47 ` Liam Breck
2017-03-23 11:48 ` Hans de Goede
2017-03-23 20:33 ` Liam Breck
2017-03-23 22:01 ` Hans de Goede
2017-03-24 23:49 ` Liam Breck
2017-03-22 18:41 ` Liam Breck
2017-03-23 8:16 ` Hans de Goede
2017-03-23 10:59 ` Sebastian Reichel
2017-03-23 11:20 ` Sebastian Reichel
2017-03-22 14:55 ` [PATCH v2 5/7] power: supply: bq24190_charger: Don't spam the logs on charger plug / unplug Hans de Goede
2017-03-22 15:44 ` Tony Lindgren
2017-03-23 11:17 ` Sebastian Reichel
2017-03-23 13:34 ` Liam Breck
2017-03-23 21:31 ` Liam Breck
2017-03-23 22:02 ` Hans de Goede
2017-03-23 22:24 ` Liam Breck
2017-03-24 9:25 ` Sebastian Reichel
2017-03-24 23:31 ` Liam Breck
2017-03-24 10:29 ` [PATCH] power: bq24190_charger: Limit over/under voltage fault logging Liam Breck
2017-03-25 11:17 ` Hans de Goede
2017-03-25 11:24 ` [PATCH v2] " Liam Breck
2017-03-26 8:44 ` Hans de Goede
2017-03-26 10:56 ` Liam Breck
2017-03-26 11:04 ` Hans de Goede
2017-03-29 16:33 ` Tony Lindgren
2017-03-22 14:55 ` [PATCH v2 6/7] power: supply: bq24190_charger: Cleanup error-exit labels in probe() Hans de Goede
2017-03-22 15:45 ` Tony Lindgren
2017-03-22 19:09 ` Liam Breck
2017-03-23 8:37 ` Hans de Goede
2017-03-24 23:58 ` Liam Breck
2017-03-23 11:21 ` Sebastian Reichel
2017-03-23 11:46 ` Hans de Goede
2017-03-22 14:55 ` [PATCH v2 7/7] power: supply: bq24190_charger: Remove battery power_supply device Hans de Goede
2017-03-25 0:19 ` Liam Breck
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=20170322145536.30570-3-hdegoede@redhat.com \
--to=hdegoede@redhat.com \
--cc=kernel@networkimprov.net \
--cc=linux-pm@vger.kernel.org \
--cc=sre@kernel.org \
--cc=tiwai@suse.de \
--cc=tony@atomide.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;
as well as URLs for NNTP newsgroup(s).