summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Victor <andrew@sanpeople.com>2006-07-05 15:31:13 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-07-05 15:31:13 +0200
commit20e652761cbf6983fd067aef2f0242c262057737 (patch)
treedc934ceb9ca6d90536bd02516d3ad19e9dfa75bd
parentMerge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq (diff)
downloadlinux-20e652761cbf6983fd067aef2f0242c262057737.tar.xz
linux-20e652761cbf6983fd067aef2f0242c262057737.zip
[ARM] 3710/1: AT91 Serial: Use GPIO API
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>
-rw-r--r--drivers/serial/at91_serial.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/serial/at91_serial.c b/drivers/serial/at91_serial.c
index a7d664383dae..54c6b2adf7b7 100644
--- a/drivers/serial/at91_serial.c
+++ b/drivers/serial/at91_serial.c
@@ -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);
}
}