regulator: fan53555: Simplify probe()
authorBiju Das <biju.das.jz@bp.renesas.com>
Mon, 28 Aug 2023 16:47:46 +0000 (17:47 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 11 Sep 2023 00:31:23 +0000 (01:31 +0100)
Simplify probe() by replacing of_device_get_match_data() and ID lookup for
retrieving match data by i2c_get_match_data().

While at it, use dev_fwnode() API instead of 'client->dev.of_node'.

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

index 48f312167e5351b138ad6e2c8e759c90efca5e62..17c9bf204385900b8cbb4aa5f1b98766a9ea648b 100644 (file)
@@ -659,7 +659,6 @@ MODULE_DEVICE_TABLE(of, fan53555_dt_ids);
 
 static int fan53555_regulator_probe(struct i2c_client *client)
 {
-       const struct i2c_device_id *id = i2c_client_get_device_id(client);
        struct device_node *np = client->dev.of_node;
        struct fan53555_device_info *di;
        struct fan53555_platform_data *pdata;
@@ -682,10 +681,8 @@ static int fan53555_regulator_probe(struct i2c_client *client)
                                     "Platform data not found!\n");
 
        di->regulator = pdata->regulator;
-       if (client->dev.of_node) {
-               di->vendor =
-                       (unsigned long)of_device_get_match_data(&client->dev);
-       } else {
+       di->vendor = (uintptr_t)i2c_get_match_data(client);
+       if (!dev_fwnode(&client->dev)) {
                /* if no ramp constraint set, get the pdata ramp_delay */
                if (!di->regulator->constraints.ramp_delay) {
                        if (pdata->slew_rate >= ARRAY_SIZE(slew_rates))
@@ -695,8 +692,6 @@ static int fan53555_regulator_probe(struct i2c_client *client)
                        di->regulator->constraints.ramp_delay
                                        = slew_rates[pdata->slew_rate];
                }
-
-               di->vendor = id->driver_data;
        }
 
        regmap = devm_regmap_init_i2c(client, &fan53555_regmap_config);