Re: [PATCH v2 2/4] mfd: max77686: Use of_device_get_match_data() helper
From: Lee Jones
Date: Mon Jan 23 2017 - 06:32:20 EST
On Fri, 13 Jan 2017, Javier Martinez Canillas wrote:
> 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@xxxxxxxxxxxxxxx>
> Acked-by: Laxman Dewangan <ldewangan@xxxxxxxxxx>
>
> ---
>
> Changes in v2:
> - Add Laxman's Acked-by tag to patch 2/4.
> - Mention in commit message that an unneeded check for match is removed.
>
> drivers/mfd/max77686.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
Applied, thanks.
> diff --git a/drivers/mfd/max77686.c b/drivers/mfd/max77686.c
> index ddae3bf3e46c..33dd09493605 100644
> --- a/drivers/mfd/max77686.c
> +++ b/drivers/mfd/max77686.c
> @@ -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;
>
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog