mfd: max77686: Use of_device_get_match_data() helper
authorJavier Martinez Canillas <javier@osg.samsung.com>
Fri, 13 Jan 2017 13:34:06 +0000 (10:34 -0300)
committerLee Jones <lee.jones@linaro.org>
Mon, 13 Feb 2017 09:29:43 +0000 (09:29 +0000)
Use the generic helper to get the matched of_device_id .data, instead of
open coding it.

The driver was checking if matching the OF node with the driver's OF table
was failing, but this doesn't make too much sense since this can't happen
in practice. The fact the probe function was called, means OF registered a
device with a valid compatible string so a of_device_get_match_data() call
will always succeed. So just remove this unneeded check.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Tested-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/max77686.c

index ddae3bf3e46cfb325f7197c59cfb197fcb0e64e5..33dd094936059f873c45478416361f8e65a4fd83 100644 (file)
@@ -34,6 +34,7 @@
 #include <linux/mfd/max77686-private.h>
 #include <linux/err.h>
 #include <linux/of.h>
+#include <linux/of_device.h>
 
 static const struct mfd_cell max77686_devs[] = {
        { .name = "max77686-pmic", },
@@ -175,7 +176,6 @@ static int max77686_i2c_probe(struct i2c_client *i2c,
                              const struct i2c_device_id *id)
 {
        struct max77686_dev *max77686 = NULL;
-       const struct of_device_id *match;
        unsigned int data;
        int ret = 0;
        const struct regmap_config *config;
@@ -188,13 +188,8 @@ static int max77686_i2c_probe(struct i2c_client *i2c,
        if (!max77686)
                return -ENOMEM;
 
-       match = of_match_node(max77686_pmic_dt_match, i2c->dev.of_node);
-       if (!match)
-               return -EINVAL;
-
-       max77686->type = (unsigned long)match->data;
-
        i2c_set_clientdata(i2c, max77686);
+       max77686->type = (unsigned long)of_device_get_match_data(&i2c->dev);
        max77686->dev = &i2c->dev;
        max77686->i2c = i2c;