public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] gpio: ml_ioh_gpio: Fix output value of ioh_gpio_direction_output()
@ 2011-03-24 23:17 Peter Tyser
  2011-03-25  0:31 ` Tomoya MORINAGA
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Peter Tyser @ 2011-03-24 23:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Peter Tyser, tomoya-linux, Grant Likely

The ioh_gpio_direction_output() function was missing a write to set the
desired output value.  The function would properly set the GPIO
direction, but not the output value.  The value would have to manually
be set with a follow up call to ioh_gpio_set().

Add the missing write so that ioh_gpio_direction_output() sets both the
GPIO direction and value.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Cc: tomoya-linux@dsn.okisemi.com
Cc: Grant Likely <grant.likely@secretlab.ca>
---
This is untested - just noticed it while working on an unrelated change.  An
ack or tested-by from someone with real hardware would be appreciated.

 drivers/gpio/ml_ioh_gpio.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/gpio/ml_ioh_gpio.c b/drivers/gpio/ml_ioh_gpio.c
index cead8e6..7a0423c 100644
--- a/drivers/gpio/ml_ioh_gpio.c
+++ b/drivers/gpio/ml_ioh_gpio.c
@@ -116,6 +116,7 @@ static int ioh_gpio_direction_output(struct gpio_chip *gpio, unsigned nr,
 		reg_val |= (1 << nr);
 	else
 		reg_val &= ~(1 << nr);
+	iowrite32(reg_val, &chip->reg->regs[chip->ch].po);
 
 	mutex_unlock(&chip->lock);
 
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* RE: [PATCH] gpio: ml_ioh_gpio: Fix output value of ioh_gpio_direction_output()
  2011-03-24 23:17 [PATCH] gpio: ml_ioh_gpio: Fix output value of ioh_gpio_direction_output() Peter Tyser
@ 2011-03-25  0:31 ` Tomoya MORINAGA
  2011-03-25 14:47   ` Peter Tyser
  2011-03-25 15:04 ` [PATCH] gpio: pch_gpio: Fix output value of pch_gpio_direction_output() Peter Tyser
  2011-03-31 21:18 ` [PATCH] gpio: ml_ioh_gpio: Fix output value of ioh_gpio_direction_output() Grant Likely
  2 siblings, 1 reply; 8+ messages in thread
From: Tomoya MORINAGA @ 2011-03-25  0:31 UTC (permalink / raw)
  To: 'Peter Tyser', linux-kernel
  Cc: 'Grant Likely', Toshiharu Okada

 Hi Peter,

On Friday, March 25, 2011 8:17 AM, Peter Tyser wrote:

> The ioh_gpio_direction_output() function was missing a write 
> to set the desired output value.  The function would properly 
> set the GPIO direction, but not the output value.  The value 
> would have to manually be set with a follow up call to ioh_gpio_set().

> This is untested - just noticed it while working on an 
> unrelated change.  An ack or tested-by from someone with real 
> hardware would be appreciated.

Thank you for your indication.
Your saying is right.
However since your patch looks incorrect,
after testing, I will post new patch by next week.

Thanks,
-----------------------------------------
Tomoya MORINAGA
OKI SEMICONDUCTOR CO., LTD.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH] gpio: ml_ioh_gpio: Fix output value of ioh_gpio_direction_output()
  2011-03-25  0:31 ` Tomoya MORINAGA
@ 2011-03-25 14:47   ` Peter Tyser
  2011-03-28  0:56     ` Tomoya MORINAGA
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Tyser @ 2011-03-25 14:47 UTC (permalink / raw)
  To: Tomoya MORINAGA; +Cc: linux-kernel, 'Grant Likely', Toshiharu Okada

Hi Tomoya,

On Fri, 2011-03-25 at 09:31 +0900, Tomoya MORINAGA wrote:
> Hi Peter,
> 
> On Friday, March 25, 2011 8:17 AM, Peter Tyser wrote:
> 
> > The ioh_gpio_direction_output() function was missing a write 
> > to set the desired output value.  The function would properly 
> > set the GPIO direction, but not the output value.  The value 
> > would have to manually be set with a follow up call to ioh_gpio_set().
> 
> > This is untested - just noticed it while working on an 
> > unrelated change.  An ack or tested-by from someone with real 
> > hardware would be appreciated.
> 
> Thank you for your indication.
> Your saying is right.
> However since your patch looks incorrect,
> after testing, I will post new patch by next week.

Out of curiosity, what looks incorrect about the patch?  The code to set
the GPIO value is identical to the code in ioh_gpio_set(), which was the
old code path.

Best,
Peter


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH] gpio: pch_gpio: Fix output value of pch_gpio_direction_output()
  2011-03-24 23:17 [PATCH] gpio: ml_ioh_gpio: Fix output value of ioh_gpio_direction_output() Peter Tyser
  2011-03-25  0:31 ` Tomoya MORINAGA
@ 2011-03-25 15:04 ` Peter Tyser
  2011-03-31 21:16   ` Grant Likely
  2011-03-31 21:17   ` Grant Likely
  2011-03-31 21:18 ` [PATCH] gpio: ml_ioh_gpio: Fix output value of ioh_gpio_direction_output() Grant Likely
  2 siblings, 2 replies; 8+ messages in thread
From: Peter Tyser @ 2011-03-25 15:04 UTC (permalink / raw)
  To: linux-kernel; +Cc: Peter Tyser, Tomoya MORINAGA, Toshiharu Okada, Grant Likely

The pch_gpio_direction_output() function was missing a write to set the
desired output value.  The function would properly set the GPIO
direction, but not the output value.  The value would have to manually
be set with a follow up call to pch_gpio_set().

Add the missing write so that pch_gpio_direction_output() sets both the
GPIO direction and value.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Cc: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Cc: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
---
Just noticed this driver has the same bug.  This file looks nearly identical
to ml_ioh_gpio.c.  They could likely be combined with minimal effort.

 drivers/gpio/pch_gpio.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/gpio/pch_gpio.c b/drivers/gpio/pch_gpio.c
index c59d953..fa52862 100644
--- a/drivers/gpio/pch_gpio.c
+++ b/drivers/gpio/pch_gpio.c
@@ -105,6 +105,7 @@ static int pch_gpio_direction_output(struct gpio_chip *gpio, unsigned nr,
 		reg_val |= (1 << nr);
 	else
 		reg_val &= ~(1 << nr);
+	iowrite32(reg_val, &chip->reg->po);
 
 	mutex_unlock(&chip->lock);
 
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* RE: [PATCH] gpio: ml_ioh_gpio: Fix output value of ioh_gpio_direction_output()
  2011-03-25 14:47   ` Peter Tyser
@ 2011-03-28  0:56     ` Tomoya MORINAGA
  0 siblings, 0 replies; 8+ messages in thread
From: Tomoya MORINAGA @ 2011-03-28  0:56 UTC (permalink / raw)
  To: 'Peter Tyser'
  Cc: linux-kernel, 'Grant Likely', 'Toshiharu Okada'

Hi Peter

On Friday, March 25, 2011 11:47 PM, Peter Tyser wrote:
> Out of curiosity, what looks incorrect about the patch?  The 
> code to set the GPIO value is identical to the code in 
> ioh_gpio_set(), which was the old code path.

Sorry, I miss-understood.
Your patch looks good.
In fact, I could confirm the GPIO driver with your patch works well on evaluation board.

Thanks,
-----------------------------------------
Tomoya MORINAGA
OKI SEMICONDUCTOR CO., LTD.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] gpio: pch_gpio: Fix output value of pch_gpio_direction_output()
  2011-03-25 15:04 ` [PATCH] gpio: pch_gpio: Fix output value of pch_gpio_direction_output() Peter Tyser
@ 2011-03-31 21:16   ` Grant Likely
  2011-03-31 21:17   ` Grant Likely
  1 sibling, 0 replies; 8+ messages in thread
From: Grant Likely @ 2011-03-31 21:16 UTC (permalink / raw)
  To: Peter Tyser; +Cc: linux-kernel, Tomoya MORINAGA, Toshiharu Okada

On Fri, Mar 25, 2011 at 10:04:00AM -0500, Peter Tyser wrote:
> The pch_gpio_direction_output() function was missing a write to set the
> desired output value.  The function would properly set the GPIO
> direction, but not the output value.  The value would have to manually
> be set with a follow up call to pch_gpio_set().
> 
> Add the missing write so that pch_gpio_direction_output() sets both the
> GPIO direction and value.
> 
> Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
> Cc: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
> Cc: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com>
> Cc: Grant Likely <grant.likely@secretlab.ca>
> ---
> Just noticed this driver has the same bug.  This file looks nearly identical
> to ml_ioh_gpio.c.  They could likely be combined with minimal effort.

Ah, yeah.  Almost exactly the same.

Tomoya, why is this driver cloned?

g.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] gpio: pch_gpio: Fix output value of pch_gpio_direction_output()
  2011-03-25 15:04 ` [PATCH] gpio: pch_gpio: Fix output value of pch_gpio_direction_output() Peter Tyser
  2011-03-31 21:16   ` Grant Likely
@ 2011-03-31 21:17   ` Grant Likely
  1 sibling, 0 replies; 8+ messages in thread
From: Grant Likely @ 2011-03-31 21:17 UTC (permalink / raw)
  To: Peter Tyser; +Cc: linux-kernel, Tomoya MORINAGA, Toshiharu Okada

On Fri, Mar 25, 2011 at 10:04:00AM -0500, Peter Tyser wrote:
> The pch_gpio_direction_output() function was missing a write to set the
> desired output value.  The function would properly set the GPIO
> direction, but not the output value.  The value would have to manually
> be set with a follow up call to pch_gpio_set().
> 
> Add the missing write so that pch_gpio_direction_output() sets both the
> GPIO direction and value.
> 
> Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
> Cc: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
> Cc: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com>
> Cc: Grant Likely <grant.likely@secretlab.ca>

Applied, thanks.

g.
> ---
> Just noticed this driver has the same bug.  This file looks nearly identical
> to ml_ioh_gpio.c.  They could likely be combined with minimal effort.
> 
>  drivers/gpio/pch_gpio.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpio/pch_gpio.c b/drivers/gpio/pch_gpio.c
> index c59d953..fa52862 100644
> --- a/drivers/gpio/pch_gpio.c
> +++ b/drivers/gpio/pch_gpio.c
> @@ -105,6 +105,7 @@ static int pch_gpio_direction_output(struct gpio_chip *gpio, unsigned nr,
>  		reg_val |= (1 << nr);
>  	else
>  		reg_val &= ~(1 << nr);
> +	iowrite32(reg_val, &chip->reg->po);
>  
>  	mutex_unlock(&chip->lock);
>  
> -- 
> 1.7.0.4
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] gpio: ml_ioh_gpio: Fix output value of ioh_gpio_direction_output()
  2011-03-24 23:17 [PATCH] gpio: ml_ioh_gpio: Fix output value of ioh_gpio_direction_output() Peter Tyser
  2011-03-25  0:31 ` Tomoya MORINAGA
  2011-03-25 15:04 ` [PATCH] gpio: pch_gpio: Fix output value of pch_gpio_direction_output() Peter Tyser
@ 2011-03-31 21:18 ` Grant Likely
  2 siblings, 0 replies; 8+ messages in thread
From: Grant Likely @ 2011-03-31 21:18 UTC (permalink / raw)
  To: Peter Tyser; +Cc: linux-kernel, tomoya-linux

On Thu, Mar 24, 2011 at 06:17:14PM -0500, Peter Tyser wrote:
> The ioh_gpio_direction_output() function was missing a write to set the
> desired output value.  The function would properly set the GPIO
> direction, but not the output value.  The value would have to manually
> be set with a follow up call to ioh_gpio_set().
> 
> Add the missing write so that ioh_gpio_direction_output() sets both the
> GPIO direction and value.
> 
> Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
> Cc: tomoya-linux@dsn.okisemi.com
> Cc: Grant Likely <grant.likely@secretlab.ca>
> ---
> This is untested - just noticed it while working on an unrelated change.  An
> ack or tested-by from someone with real hardware would be appreciated.

Applied, thanks.

g.

> 
>  drivers/gpio/ml_ioh_gpio.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpio/ml_ioh_gpio.c b/drivers/gpio/ml_ioh_gpio.c
> index cead8e6..7a0423c 100644
> --- a/drivers/gpio/ml_ioh_gpio.c
> +++ b/drivers/gpio/ml_ioh_gpio.c
> @@ -116,6 +116,7 @@ static int ioh_gpio_direction_output(struct gpio_chip *gpio, unsigned nr,
>  		reg_val |= (1 << nr);
>  	else
>  		reg_val &= ~(1 << nr);
> +	iowrite32(reg_val, &chip->reg->regs[chip->ch].po);
>  
>  	mutex_unlock(&chip->lock);
>  
> -- 
> 1.7.0.4
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-03-31 21:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-24 23:17 [PATCH] gpio: ml_ioh_gpio: Fix output value of ioh_gpio_direction_output() Peter Tyser
2011-03-25  0:31 ` Tomoya MORINAGA
2011-03-25 14:47   ` Peter Tyser
2011-03-28  0:56     ` Tomoya MORINAGA
2011-03-25 15:04 ` [PATCH] gpio: pch_gpio: Fix output value of pch_gpio_direction_output() Peter Tyser
2011-03-31 21:16   ` Grant Likely
2011-03-31 21:17   ` Grant Likely
2011-03-31 21:18 ` [PATCH] gpio: ml_ioh_gpio: Fix output value of ioh_gpio_direction_output() Grant Likely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox