diff mbox series

[v2] power: supply: sbs-battery: Make similar OF and ID table

Message ID 20230824162344.385151-1-biju.das.jz@bp.renesas.com (mailing list archive)
State Handled Elsewhere, archived
Headers show
Series [v2] power: supply: sbs-battery: Make similar OF and ID table | expand

Commit Message

Biju Das Aug. 24, 2023, 4:23 p.m. UTC
Make similar OF and ID table to extend support for ID match
using i2c_match_data(). Currently it works only for OF match
tables as the field is wrong for ID match.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v1->v2:
 * Dropped patch#2 as  Zero is a expected match value for this driver
   and the driver does not check for a NULL return value from
   *_get_match_data() anyway.
---
 drivers/power/supply/sbs-battery.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Andy Shevchenko Aug. 28, 2023, 11:28 a.m. UTC | #1
On Thu, Aug 24, 2023 at 05:23:44PM +0100, Biju Das wrote:
> Make similar OF and ID table to extend support for ID match
> using i2c_match_data(). Currently it works only for OF match
> tables as the field is wrong for ID match.

...

> -	chip->flags = (u32)(uintptr_t)device_get_match_data(&client->dev);
> +	chip->flags = (u32)(uintptr_t)i2c_get_match_data(client);

Why is (u32)casting still needed?
Why it was there beforehand?.. Do we have a compiler warning?
diff mbox series

Patch

diff --git a/drivers/power/supply/sbs-battery.c b/drivers/power/supply/sbs-battery.c
index cdfc8466d129..520bbde20451 100644
--- a/drivers/power/supply/sbs-battery.c
+++ b/drivers/power/supply/sbs-battery.c
@@ -1135,7 +1135,7 @@  static int sbs_probe(struct i2c_client *client)
 	if (!chip)
 		return -ENOMEM;
 
-	chip->flags = (u32)(uintptr_t)device_get_match_data(&client->dev);
+	chip->flags = (u32)(uintptr_t)i2c_get_match_data(client);
 	chip->client = client;
 	psy_cfg.of_node = client->dev.of_node;
 	psy_cfg.drv_data = chip;
@@ -1253,9 +1253,9 @@  static SIMPLE_DEV_PM_OPS(sbs_pm_ops, sbs_suspend, NULL);
 #endif
 
 static const struct i2c_device_id sbs_id[] = {
-	{ "bq20z65", 0 },
-	{ "bq20z75", 0 },
-	{ "sbs-battery", 1 },
+	{ "bq20z65", SBS_FLAGS_TI_BQ20ZX5 },
+	{ "bq20z75", SBS_FLAGS_TI_BQ20ZX5 },
+	{ "sbs-battery", 0 },
 	{}
 };
 MODULE_DEVICE_TABLE(i2c, sbs_id);