[ARM] 3710/1: AT91 Serial: Use GPIO API
authorAndrew Victor <andrew@sanpeople.com>
Wed, 5 Jul 2006 13:31:13 +0000 (14:31 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 5 Jul 2006 13:31:13 +0000 (14:31 +0100)
Patch from Andrew Victor

The AT91RM9200 errata work-around should be using the GPIO API and not
accessing the PIO registers directly.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/serial/at91_serial.c

index a7d664383dae48f2d2202fbfb8c5e3d499fd9274..54c6b2adf7b73c57a2023768a8e11b6cc545bd9e 100644 (file)
@@ -41,6 +41,7 @@
 #include <asm/mach/serial_at91.h>
 #include <asm/arch/board.h>
 #include <asm/arch/system.h>
+#include <asm/arch/gpio.h>
 
 #if defined(CONFIG_SERIAL_AT91_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
 #define SUPPORT_SYSRQ
@@ -140,9 +141,9 @@ static void at91_set_mctrl(struct uart_port *port, u_int mctrl)
                 */
                if (port->mapbase == AT91_BASE_US0) {
                        if (mctrl & TIOCM_RTS)
-                               at91_sys_write(AT91_PIOA + PIO_CODR, AT91_PA21_RTS0);
+                               at91_set_gpio_value(AT91_PIN_PA21, 0);
                        else
-                               at91_sys_write(AT91_PIOA + PIO_SODR, AT91_PA21_RTS0);
+                               at91_set_gpio_value(AT91_PIN_PA21, 1);
                }
        }