From c886d2690dae0258d64fef02d8a24c901f7c2d6b Mon Sep 17 00:00:00 2001 From: kaloz Date: Sun, 27 Apr 2008 16:56:19 +0000 Subject: incomplete Gumstix support git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10955 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../pxa/patches-2.6.21/030-serial-divisor.patch | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 target/linux/pxa/patches-2.6.21/030-serial-divisor.patch (limited to 'target/linux/pxa/patches-2.6.21/030-serial-divisor.patch') diff --git a/target/linux/pxa/patches-2.6.21/030-serial-divisor.patch b/target/linux/pxa/patches-2.6.21/030-serial-divisor.patch new file mode 100644 index 000000000..efce5a51e --- /dev/null +++ b/target/linux/pxa/patches-2.6.21/030-serial-divisor.patch @@ -0,0 +1,31 @@ +Index: linux-2.6.21gum/drivers/serial/pxa.c +=================================================================== +--- linux-2.6.21gum.orig/drivers/serial/pxa.c ++++ linux-2.6.21gum/drivers/serial/pxa.c +@@ -41,6 +41,7 @@ + #include + #include + #include ++#include + #include + + #include +@@ -577,8 +578,16 @@ static void serial_pxa_config_port(struc + static int + serial_pxa_verify_port(struct uart_port *port, struct serial_struct *ser) + { +- /* we don't want the core code to modify any port params */ +- return -EINVAL; ++ struct uart_pxa_port *up = (struct uart_pxa_port *)port; ++ int ret = 0; ++ ++ if (up->port.uartclk / 16 != ser->baud_base) ++ ret = -EINVAL; ++ else if (((up->port.line & 1) == 0) && ser->baud_base > 230400) /* Max baud rate for STUART and FFUART */ ++ ret = -EINVAL; ++ else if (((up->port.line & 1) != 0) && ser->baud_base > 921600) /* Max baud rate for HWUART and BTUART */ ++ ret = -EINVAL; ++ return ret; + } + + static const char * -- cgit v1.2.3