diff mbox

[2/2] gpio: samsung: Fix input mode setting function for GPIO int

Message ID 000101cd9c63$ecb606a0$c62213e0$@com (mailing list archive)
State New, archived
Headers show

Commit Message

Eunki Kim Sept. 27, 2012, 3:55 a.m. UTC
This patch makes GPIO pin to INTERRUPT mode or INPUT mode according
to bitmap_gpio_int. When the related bit of bitmap_gpio_int is set,
it makes GPIO pin to INTERRUPT mode instrad of INPUT mode in the
samsung_gpiolib_4bit_input function.

Signed-off-by: Eunki Kim <eunki_kim@samsung.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>
---
 drivers/gpio/gpio-samsung.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

 }

Comments

Linus Walleij Sept. 27, 2012, 5:48 a.m. UTC | #1
On Thu, Sep 27, 2012 at 5:55 AM, Eunki Kim <eunki_kim@samsung.com> wrote:

> This patch makes GPIO pin to INTERRUPT mode or INPUT mode according
> to bitmap_gpio_int. When the related bit of bitmap_gpio_int is set,
> it makes GPIO pin to INTERRUPT mode instrad of INPUT mode in the
> samsung_gpiolib_4bit_input function.
>
> Signed-off-by: Eunki Kim <eunki_kim@samsung.com>
> Cc: Kukjin Kim <kgene.kim@samsung.com>

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Are you taking this into the Samsung tree or shall I merge it
into my GPIO tree? In the latter case I need an ACK from
some Samsung maintainer.

Yours,
Linus Walleij
Kim Kukjin Oct. 23, 2012, 2:16 p.m. UTC | #2
Linus Walleij wrote:
> 
> On Thu, Sep 27, 2012 at 5:55 AM, Eunki Kim <eunki_kim@samsung.com> wrote:
> 
> > This patch makes GPIO pin to INTERRUPT mode or INPUT mode according
> > to bitmap_gpio_int. When the related bit of bitmap_gpio_int is set,
> > it makes GPIO pin to INTERRUPT mode instrad of INPUT mode in the
> > samsung_gpiolib_4bit_input function.
> >
> > Signed-off-by: Eunki Kim <eunki_kim@samsung.com>
> > Cc: Kukjin Kim <kgene.kim@samsung.com>
> 
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> 
> Are you taking this into the Samsung tree or shall I merge it
> into my GPIO tree? In the latter case I need an ACK from
> some Samsung maintainer.
> 
Hi, Linus

Let me pick this into Samsung tree with your ack :)

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
diff mbox

Patch

diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
index ba126cc..19caef4 100644
--- a/drivers/gpio/gpio-samsung.c
+++ b/drivers/gpio/gpio-samsung.c
@@ -596,7 +596,10 @@  static int samsung_gpiolib_4bit_input(struct gpio_chip *chip,
 	unsigned long con;
 
 	con = __raw_readl(base + GPIOCON_OFF);
-	con &= ~(0xf << con_4bit_shift(offset));
+	if (ourchip->bitmap_gpio_int & BIT(offset))
+		con |= 0xf << con_4bit_shift(offset);
+	else
+		con &= ~(0xf << con_4bit_shift(offset));
 	__raw_writel(con, base + GPIOCON_OFF);
 
 	gpio_dbg("%s: %p: CON now %08lx\n", __func__, base, con);
@@ -1018,6 +1021,8 @@  static void __init samsung_gpiolib_add_4bit_chips(struct samsung_gpio_chip
*chip
 		if ((base != NULL) && (chip->base == NULL))
 			chip->base = base + ((i) * 0x20);
 
+		chip->bitmap_gpio_int = 0;
+
 		samsung_gpiolib_add(chip);
 	}