Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1558408 > unrolled thread

[PATCH v2 2/4] mfd: max77686: Use of_device_get_match_data() helper

Started byJavier Martinez Canillas <javier@osg.samsung.com>
First post2017-01-13 14:40 +0100
Last post2017-01-16 07:40 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v2 2/4] mfd: max77686: Use of_device_get_match_data() helper Javier Martinez Canillas <javier@osg.samsung.com> - 2017-01-13 14:40 +0100
    Re: [PATCH v2 2/4] mfd: max77686: Use of_device_get_match_data()  helper Krzysztof Kozlowski <krzk@kernel.org> - 2017-01-13 15:20 +0100
    Re: [PATCH v2 2/4] mfd: max77686: Use of_device_get_match_data() helper Chanwoo Choi <cw00.choi@samsung.com> - 2017-01-16 07:40 +0100

#1558408 — [PATCH v2 2/4] mfd: max77686: Use of_device_get_match_data() helper

FromJavier Martinez Canillas <javier@osg.samsung.com>
Date2017-01-13 14:40 +0100
Subject[PATCH v2 2/4] mfd: max77686: Use of_device_get_match_data() helper
Message-ID<sZaff-1qE-19@gated-at.bofh.it>
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>

---

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(-)

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;
 
-- 
2.7.4

[toc] | [next] | [standalone]


#1558425 — Re: [PATCH v2 2/4] mfd: max77686: Use of_device_get_match_data() helper

FromKrzysztof Kozlowski <krzk@kernel.org>
Date2017-01-13 15:20 +0100
SubjectRe: [PATCH v2 2/4] mfd: max77686: Use of_device_get_match_data() helper
Message-ID<sZaRX-1TQ-1@gated-at.bofh.it>
In reply to#1558408
On Fri, Jan 13, 2017 at 10:34:06AM -0300, 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@osg.samsung.com>
> Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
> 
> ---
> 
> 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(-)

Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Tested-by: Krzysztof Kozlowski <krzk@kernel.org>

Best regards,
Krzysztof

[toc] | [prev] | [next] | [standalone]


#1559467

FromChanwoo Choi <cw00.choi@samsung.com>
Date2017-01-16 07:40 +0100
Message-ID<t097s-4PF-27@gated-at.bofh.it>
In reply to#1558408
Hi,

On 2017년 01월 13일 22:34, 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@osg.samsung.com>
> Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
> 
> ---
> 
> 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(-)
> 
> 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;
>  
> 

Looks good to me.
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>

-- 
Best Regards,
Chanwoo Choi
S/W Center, Samsung Electronics

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web