regulator: fan53555: Use of_device_get_match_data() to simplify probe
authorJisheng Zhang <jszhang@marvell.com>
Thu, 20 Jul 2017 08:42:17 +0000 (16:42 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 20 Jul 2017 11:19:19 +0000 (12:19 +0100)
if fan53555_regulator_probe() is called and the "client->dev.of_node"
isn't NULL, it means OF registered a device with a valid compatible
string, so match cannot be NULL.

Use of_device_get_match_data() to retrieve the drvdata pointer.  No
functional change intended.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/fan53555.c

index 60f4318..6b1c0e4 100644 (file)
@@ -407,14 +407,8 @@ static int fan53555_regulator_probe(struct i2c_client *client,
 
        di->regulator = pdata->regulator;
        if (client->dev.of_node) {
-               const struct of_device_id *match;
-
-               match = of_match_device(of_match_ptr(fan53555_dt_ids),
-                                       &client->dev);
-               if (!match)
-                       return -ENODEV;
-
-               di->vendor = (unsigned long) match->data;
+               di->vendor =
+                       (unsigned long)of_device_get_match_data(&client->dev);
        } else {
                /* if no ramp constraint set, get the pdata ramp_delay */
                if (!di->regulator->constraints.ramp_delay) {