regulator: mp886x: Make similar OF and ID table
authorBiju Das <biju.das.jz@bp.renesas.com>
Sat, 26 Aug 2023 17:38:41 +0000 (18:38 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 11 Sep 2023 00:31:26 +0000 (01:31 +0100)
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
driver_data is wrong for ID match.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20230826173841.91807-1-biju.das.jz@bp.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/mp886x.c

index 9911be2e6baca9d0684c0702e145f733dd0f747b..48dcee5287f3d3fe3d8c2c57243ae718a2e70ef6 100644 (file)
@@ -315,7 +315,7 @@ static int mp886x_i2c_probe(struct i2c_client *client)
        if (IS_ERR(di->en_gpio))
                return PTR_ERR(di->en_gpio);
 
-       di->ci = of_device_get_match_data(dev);
+       di->ci = i2c_get_match_data(client);
        di->dev = dev;
 
        regmap = devm_regmap_init_i2c(client, &mp886x_regmap_config);
@@ -341,20 +341,14 @@ static int mp886x_i2c_probe(struct i2c_client *client)
 }
 
 static const struct of_device_id mp886x_dt_ids[] = {
-       {
-               .compatible = "mps,mp8867",
-               .data = &mp8867_ci
-       },
-       {
-               .compatible = "mps,mp8869",
-               .data = &mp8869_ci
-       },
+       { .compatible = "mps,mp8867", .data = &mp8867_ci },
+       { .compatible = "mps,mp8869", .data = &mp8869_ci },
        { }
 };
 MODULE_DEVICE_TABLE(of, mp886x_dt_ids);
 
 static const struct i2c_device_id mp886x_id[] = {
-       { "mp886x", },
+       { "mp886x", (kernel_ulong_t)&mp8869_ci },
        { },
 };
 MODULE_DEVICE_TABLE(i2c, mp886x_id);