All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 RESEND] gpio: tegra: read output value when gpio is set in direction_out
@ 2012-11-15 23:04 ` Laxman Dewangan
  0 siblings, 0 replies; 4+ messages in thread
From: Laxman Dewangan @ 2012-11-15 23:04 UTC (permalink / raw)
  To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A,
	grant.likely-s3s/WqlpOiPyB63q8FvJNQ
  Cc: swarren-DDmLM1+adcrQT0dZR+AlfA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Laxman Dewangan

Read the output value when gpio is set for the output mode for
gpio_get_value(). Reading input value in direction out does not
give correct value.

Signed-off-by: Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
Changes from V1:
- Keep the if part implementation same the else part to have implementation
  same kind.

Not too old patchi but just resending in case of it is missed.
Adding acked by Stephen as he acked this patch.


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

diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
index c7c175a..1163cf1 100644
--- a/drivers/gpio/gpio-tegra.c
+++ b/drivers/gpio/gpio-tegra.c
@@ -135,6 +135,11 @@ static void tegra_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
 
 static int tegra_gpio_get(struct gpio_chip *chip, unsigned offset)
 {
+	/* If gpio is in output mode then read from the out value */
+	if ((tegra_gpio_readl(GPIO_OE(offset)) >> GPIO_BIT(offset)) & 1)
+		return (tegra_gpio_readl(GPIO_OUT(offset)) >>
+				GPIO_BIT(offset)) & 0x1;
+
 	return (tegra_gpio_readl(GPIO_IN(offset)) >> GPIO_BIT(offset)) & 0x1;
 }
 
-- 
1.7.1.1

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

* [PATCH V2 RESEND] gpio: tegra: read output value when gpio is set in direction_out
@ 2012-11-15 23:04 ` Laxman Dewangan
  0 siblings, 0 replies; 4+ messages in thread
From: Laxman Dewangan @ 2012-11-15 23:04 UTC (permalink / raw)
  To: linus.walleij, grant.likely
  Cc: swarren, linux-kernel, linux-tegra, Laxman Dewangan

Read the output value when gpio is set for the output mode for
gpio_get_value(). Reading input value in direction out does not
give correct value.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
---
Changes from V1:
- Keep the if part implementation same the else part to have implementation
  same kind.

Not too old patchi but just resending in case of it is missed.
Adding acked by Stephen as he acked this patch.


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

diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
index c7c175a..1163cf1 100644
--- a/drivers/gpio/gpio-tegra.c
+++ b/drivers/gpio/gpio-tegra.c
@@ -135,6 +135,11 @@ static void tegra_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
 
 static int tegra_gpio_get(struct gpio_chip *chip, unsigned offset)
 {
+	/* If gpio is in output mode then read from the out value */
+	if ((tegra_gpio_readl(GPIO_OE(offset)) >> GPIO_BIT(offset)) & 1)
+		return (tegra_gpio_readl(GPIO_OUT(offset)) >>
+				GPIO_BIT(offset)) & 0x1;
+
 	return (tegra_gpio_readl(GPIO_IN(offset)) >> GPIO_BIT(offset)) & 0x1;
 }
 
-- 
1.7.1.1


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

* Re: [PATCH V2 RESEND] gpio: tegra: read output value when gpio is set in direction_out
  2012-11-15 23:04 ` Laxman Dewangan
@ 2012-11-17 23:05     ` Linus Walleij
  -1 siblings, 0 replies; 4+ messages in thread
From: Linus Walleij @ 2012-11-17 23:05 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: grant.likely-s3s/WqlpOiPyB63q8FvJNQ,
	swarren-DDmLM1+adcrQT0dZR+AlfA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On Fri, Nov 16, 2012 at 12:04 AM, Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> wrote:

> Read the output value when gpio is set for the output mode for
> gpio_get_value(). Reading input value in direction out does not
> give correct value.
>
> Signed-off-by: Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> ---
> Changes from V1:
> - Keep the if part implementation same the else part to have implementation
>   same kind.
>
> Not too old patchi but just resending in case of it is missed.
> Adding acked by Stephen as he acked this patch.

This patch was already applied in my tree... sorry
no clue why you haven't seen it?

Yours,
Linus Walleij

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

* Re: [PATCH V2 RESEND] gpio: tegra: read output value when gpio is set in direction_out
@ 2012-11-17 23:05     ` Linus Walleij
  0 siblings, 0 replies; 4+ messages in thread
From: Linus Walleij @ 2012-11-17 23:05 UTC (permalink / raw)
  To: Laxman Dewangan; +Cc: grant.likely, swarren, linux-kernel, linux-tegra

On Fri, Nov 16, 2012 at 12:04 AM, Laxman Dewangan <ldewangan@nvidia.com> wrote:

> Read the output value when gpio is set for the output mode for
> gpio_get_value(). Reading input value in direction out does not
> give correct value.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Acked-by: Stephen Warren <swarren@nvidia.com>
> ---
> Changes from V1:
> - Keep the if part implementation same the else part to have implementation
>   same kind.
>
> Not too old patchi but just resending in case of it is missed.
> Adding acked by Stephen as he acked this patch.

This patch was already applied in my tree... sorry
no clue why you haven't seen it?

Yours,
Linus Walleij

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

end of thread, other threads:[~2012-11-17 23:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-15 23:04 [PATCH V2 RESEND] gpio: tegra: read output value when gpio is set in direction_out Laxman Dewangan
2012-11-15 23:04 ` Laxman Dewangan
     [not found] ` <1353020646-14867-1-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-17 23:05   ` Linus Walleij
2012-11-17 23:05     ` Linus Walleij

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.