Skip to content

Commit

Permalink
gpio: samsung: Fix input mode setting function for GPIO int
Browse files Browse the repository at this point in the history
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>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
  • Loading branch information
Eunki Kim authored and Kukjin Kim committed Oct 23, 2012
1 parent 453e2dd commit 2b88ff4
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion drivers/gpio/gpio-samsung.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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);
}
}
Expand Down

0 comments on commit 2b88ff4

Please sign in to comment.