[ARM] 4095/1: S3C24XX: Fix GPIO set for Bank A

GPIO bank A can only be output or a special
function, and the regs-gpio.h header has
mistakenly got this as input or output.

The mistake is carried on into the gpio.c
s3c2410_gpio_cfgpin() call which will set the
wrong value if S3C2410_GPIO_OUTPUT is passed.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Ben Dooks 2007-01-16 12:33:35 +01:00 committed by Russell King
parent 5225cd8079
commit 6c3c5bb3c6
2 changed files with 3 additions and 2 deletions

View file

@ -57,6 +57,7 @@ void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function)
case S3C2410_GPIO_SFN2: case S3C2410_GPIO_SFN2:
case S3C2410_GPIO_SFN3: case S3C2410_GPIO_SFN3:
if (pin < S3C2410_GPIO_BANKB) { if (pin < S3C2410_GPIO_BANKB) {
function -= 1;
function &= 1; function &= 1;
function <<= S3C2410_GPIO_OFFSET(pin); function <<= S3C2410_GPIO_OFFSET(pin);
} else { } else {

View file

@ -52,10 +52,10 @@
/* general configuration options */ /* general configuration options */
#define S3C2410_GPIO_LEAVE (0xFFFFFFFF) #define S3C2410_GPIO_LEAVE (0xFFFFFFFF)
#define S3C2410_GPIO_INPUT (0xFFFFFFF0) #define S3C2410_GPIO_INPUT (0xFFFFFFF0) /* not available on A */
#define S3C2410_GPIO_OUTPUT (0xFFFFFFF1) #define S3C2410_GPIO_OUTPUT (0xFFFFFFF1)
#define S3C2410_GPIO_IRQ (0xFFFFFFF2) /* not available for all */ #define S3C2410_GPIO_IRQ (0xFFFFFFF2) /* not available for all */
#define S3C2410_GPIO_SFN2 (0xFFFFFFF2) /* not available on A */ #define S3C2410_GPIO_SFN2 (0xFFFFFFF2) /* bank A => addr/cs/nand */
#define S3C2410_GPIO_SFN3 (0xFFFFFFF3) /* not available on A */ #define S3C2410_GPIO_SFN3 (0xFFFFFFF3) /* not available on A */
/* register address for the GPIO registers. /* register address for the GPIO registers.