Re: [PATCH] regulator: gpio-regulator: fix forgotten gpios-states reading

2014-02-13 Thread Mark Brown
On Thu, Feb 13, 2014 at 08:17:54PM +0100, Heiko Stübner wrote:

> So I would argue for removing this commit again in favor of my v2 sent 16:34.

Yes, that's fine - it hasn't arrived here yet though and I wanted to get
a proper fix in.


signature.asc
Description: Digital signature


Re: [PATCH] regulator: gpio-regulator: fix forgotten gpios-states reading

2014-02-13 Thread Heiko Stübner
Am Donnerstag, 13. Februar 2014, 19:03:22 schrieb Mark Brown:
> On Thu, Feb 13, 2014 at 12:48:52AM +0100, Heiko Stübner wrote:
> > From: Heiko Stuebner 
> > 
> > Commit 934624d6e9f0 ("regulator: gpio-regulator: do not open-code counting
> > and access of dt array elements") forgot to convert the recently added
> > gpios-states property using the same pattern.
> 
> Morimoto-san sent a fix which did apply so I took that.

The gpio-state code also uses the pattern, that we're trying to remove (open-
coding dt element counting and exposing dtb internals, aka be32_to_cpup).

So reintroducing the "struct property" fixes the compile issue but does not 
resolve the underlying issue we're trying to improve.

So I would argue for removing this commit again in favor of my v2 sent 16:34.


Heiko
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] regulator: gpio-regulator: fix forgotten gpios-states reading

2014-02-13 Thread Mark Brown
On Thu, Feb 13, 2014 at 12:48:52AM +0100, Heiko Stübner wrote:
> From: Heiko Stuebner 
> 
> Commit 934624d6e9f0 ("regulator: gpio-regulator: do not open-code counting
> and access of dt array elements") forgot to convert the recently added
> gpios-states property using the same pattern.

Morimoto-san sent a fix which did apply so I took that.


signature.asc
Description: Digital signature


Re: [PATCH] regulator: gpio-regulator: fix forgotten gpios-states reading

2014-02-13 Thread Mark Brown
On Thu, Feb 13, 2014 at 12:48:52AM +0100, Heiko Stübner wrote:
> From: Heiko Stuebner 

> Commit 934624d6e9f0 ("regulator: gpio-regulator: do not open-code counting
> and access of dt array elements") forgot to convert the recently added
> gpios-states property using the same pattern.

> Convert this instance to use the of-helpers too, resolving the build error.

This doesn't apply for me against either topic/gpio or a remerge of
-next that still has your patch on it (I applied a revert for yesterday
to avoid breakage in -next).  Can you please check and resend?


signature.asc
Description: Digital signature


Re: [PATCH] regulator: gpio-regulator: fix forgotten gpios-states reading

2014-02-13 Thread Mark Brown
On Thu, Feb 13, 2014 at 12:48:52AM +0100, Heiko Stübner wrote:
 From: Heiko Stuebner heiko.stueb...@bqreaders.com

 Commit 934624d6e9f0 (regulator: gpio-regulator: do not open-code counting
 and access of dt array elements) forgot to convert the recently added
 gpios-states property using the same pattern.

 Convert this instance to use the of-helpers too, resolving the build error.

This doesn't apply for me against either topic/gpio or a remerge of
-next that still has your patch on it (I applied a revert for yesterday
to avoid breakage in -next).  Can you please check and resend?


signature.asc
Description: Digital signature


Re: [PATCH] regulator: gpio-regulator: fix forgotten gpios-states reading

2014-02-13 Thread Mark Brown
On Thu, Feb 13, 2014 at 12:48:52AM +0100, Heiko Stübner wrote:
 From: Heiko Stuebner heiko.stueb...@bqreaders.com
 
 Commit 934624d6e9f0 (regulator: gpio-regulator: do not open-code counting
 and access of dt array elements) forgot to convert the recently added
 gpios-states property using the same pattern.

Morimoto-san sent a fix which did apply so I took that.


signature.asc
Description: Digital signature


Re: [PATCH] regulator: gpio-regulator: fix forgotten gpios-states reading

2014-02-13 Thread Heiko Stübner
Am Donnerstag, 13. Februar 2014, 19:03:22 schrieb Mark Brown:
 On Thu, Feb 13, 2014 at 12:48:52AM +0100, Heiko Stübner wrote:
  From: Heiko Stuebner heiko.stueb...@bqreaders.com
  
  Commit 934624d6e9f0 (regulator: gpio-regulator: do not open-code counting
  and access of dt array elements) forgot to convert the recently added
  gpios-states property using the same pattern.
 
 Morimoto-san sent a fix which did apply so I took that.

The gpio-state code also uses the pattern, that we're trying to remove (open-
coding dt element counting and exposing dtb internals, aka be32_to_cpup).

So reintroducing the struct property fixes the compile issue but does not 
resolve the underlying issue we're trying to improve.

So I would argue for removing this commit again in favor of my v2 sent 16:34.


Heiko
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] regulator: gpio-regulator: fix forgotten gpios-states reading

2014-02-13 Thread Mark Brown
On Thu, Feb 13, 2014 at 08:17:54PM +0100, Heiko Stübner wrote:

 So I would argue for removing this commit again in favor of my v2 sent 16:34.

Yes, that's fine - it hasn't arrived here yet though and I wanted to get
a proper fix in.


signature.asc
Description: Digital signature


[PATCH] regulator: gpio-regulator: fix forgotten gpios-states reading

2014-02-12 Thread Heiko Stübner
From: Heiko Stuebner 

Commit 934624d6e9f0 ("regulator: gpio-regulator: do not open-code counting
and access of dt array elements") forgot to convert the recently added
gpios-states property using the same pattern.

Convert this instance to use the of-helpers too, resolving the build error.

Signed-off-by: Heiko Stuebner 
---
 drivers/regulator/gpio-regulator.c |   19 +--
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/regulator/gpio-regulator.c 
b/drivers/regulator/gpio-regulator.c
index 500aa3b..64b4413 100644
--- a/drivers/regulator/gpio-regulator.c
+++ b/drivers/regulator/gpio-regulator.c
@@ -171,22 +171,21 @@ of_get_gpio_regulator_config(struct device *dev, struct 
device_node *np)
if (!config->gpios)
return ERR_PTR(-ENOMEM);
 
-   prop = of_find_property(np, "gpios-states", NULL);
-   if (prop) {
-   proplen = prop->length / sizeof(int);
-   if (proplen != config->nr_gpios) {
-   /* gpios <-> gpios-states mismatch */
-   prop = NULL;
-   }
-   }
+   proplen = of_property_count_u32_elems(np, "gpios-states");
+   /* check gpios <-> gpios-states mismatch */
+   if (proplen != config->nr_gpios)
+   proplen = 0;
 
for (i = 0; i < config->nr_gpios; i++) {
gpio = of_get_named_gpio(np, "gpios", i);
if (gpio < 0)
break;
config->gpios[i].gpio = gpio;
-   if (prop && be32_to_cpup((int *)prop->value + i))
-   config->gpios[i].flags = GPIOF_OUT_INIT_HIGH;
+   if (proplen > 0) {
+   of_property_read_u32_index(np, "gpios-states", i, );
+   if (ret)
+   config->gpios[i].flags = GPIOF_OUT_INIT_HIGH;
+   }
}
 
/* Fetch states. */
-- 
1.7.10.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] regulator: gpio-regulator: fix forgotten gpios-states reading

2014-02-12 Thread Heiko Stübner
From: Heiko Stuebner heiko.stueb...@bqreaders.com

Commit 934624d6e9f0 (regulator: gpio-regulator: do not open-code counting
and access of dt array elements) forgot to convert the recently added
gpios-states property using the same pattern.

Convert this instance to use the of-helpers too, resolving the build error.

Signed-off-by: Heiko Stuebner heiko.stueb...@bqreaders.com
---
 drivers/regulator/gpio-regulator.c |   19 +--
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/regulator/gpio-regulator.c 
b/drivers/regulator/gpio-regulator.c
index 500aa3b..64b4413 100644
--- a/drivers/regulator/gpio-regulator.c
+++ b/drivers/regulator/gpio-regulator.c
@@ -171,22 +171,21 @@ of_get_gpio_regulator_config(struct device *dev, struct 
device_node *np)
if (!config-gpios)
return ERR_PTR(-ENOMEM);
 
-   prop = of_find_property(np, gpios-states, NULL);
-   if (prop) {
-   proplen = prop-length / sizeof(int);
-   if (proplen != config-nr_gpios) {
-   /* gpios - gpios-states mismatch */
-   prop = NULL;
-   }
-   }
+   proplen = of_property_count_u32_elems(np, gpios-states);
+   /* check gpios - gpios-states mismatch */
+   if (proplen != config-nr_gpios)
+   proplen = 0;
 
for (i = 0; i  config-nr_gpios; i++) {
gpio = of_get_named_gpio(np, gpios, i);
if (gpio  0)
break;
config-gpios[i].gpio = gpio;
-   if (prop  be32_to_cpup((int *)prop-value + i))
-   config-gpios[i].flags = GPIOF_OUT_INIT_HIGH;
+   if (proplen  0) {
+   of_property_read_u32_index(np, gpios-states, i, ret);
+   if (ret)
+   config-gpios[i].flags = GPIOF_OUT_INIT_HIGH;
+   }
}
 
/* Fetch states. */
-- 
1.7.10.4


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/