From 1d332d5413131c7e722ee66563f700eca29af139 Mon Sep 17 00:00:00 2001 From: Eunki Kim Date: Tue, 23 Oct 2012 22:39:38 +0900 Subject: [PATCH] --- yaml --- r: 342519 b: refs/heads/master c: 2b88ff4a75f2175902389e3356d6227d7030e382 h: refs/heads/master i: 342517: aae4b49fcb62d0dda68ca72330dbf1d998c14954 342515: 8fd44ae427a13c1ba31f777633f5454db70cfd1f 342511: 415cf8e2ea060502c2329978659fc848ffedefaa v: v3 --- [refs] | 2 +- trunk/drivers/gpio/gpio-samsung.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index f655ecc24acb..d7f4608a5d52 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 453e2dd768de8aa82ee503f1d45395149aa357d6 +refs/heads/master: 2b88ff4a75f2175902389e3356d6227d7030e382 diff --git a/trunk/drivers/gpio/gpio-samsung.c b/trunk/drivers/gpio/gpio-samsung.c index a006f0db15af..15be3d9aebe9 100644 --- a/trunk/drivers/gpio/gpio-samsung.c +++ b/trunk/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); @@ -1081,6 +1084,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); } }