mfd: axp20x: Use dev->driver->of_match_table in axp20x_match_device()
authorChen-Yu Tsai <wens@csie.org>
Fri, 12 Feb 2016 02:02:40 +0000 (10:02 +0800)
committerLee Jones <lee.jones@linaro.org>
Fri, 12 Feb 2016 08:51:17 +0000 (08:51 +0000)
In axp20x_match_device(), match the of_device_id table bound to the
device driver instead of pointing to axp20x_of_match directly. This
will allow us to keep axp20x_match_device() unmodified when we expand
the axp20x driver into multiple ones covering different interface
types.

of_device_get_match_data() cannot be used here as we need to know if
it failed to get a match, or if the match data value just happened to
be 0, as it is for the AXP152.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/axp20x.c

index 685a786..3e186f2 100644 (file)
@@ -613,7 +613,7 @@ static int axp20x_match_device(struct axp20x_dev *axp20x)
        const struct of_device_id *of_id;
 
        if (dev->of_node) {
-               of_id = of_match_device(axp20x_of_match, dev);
+               of_id = of_match_device(dev->driver->of_match_table, dev);
                if (!of_id) {
                        dev_err(dev, "Unable to match OF ID\n");
                        return -ENODEV;