From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S264834AbUEKQq4 (ORCPT ); Tue, 11 May 2004 12:46:56 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S264882AbUEKQqj (ORCPT ); Tue, 11 May 2004 12:46:39 -0400 Received: from p060042.ppp.asahi-net.or.jp ([221.113.60.42]:4601 "EHLO mitou.ysato.dip.jp") by vger.kernel.org with ESMTP id S264828AbUEKQhI (ORCPT ); Tue, 11 May 2004 12:37:08 -0400 Date: Wed, 12 May 2004 01:37:07 +0900 Message-ID: From: Yoshinori Sato To: Linus Torvalds Cc: linux kernel Mailing List Subject: [PATCH] H8/300 update (5/9) SCI driver fix User-Agent: Wanderlust/2.11.24 (Wonderwall) SEMI/1.14.6 (Maruoka) LIMIT/1.14.7 (Fujiidera) APEL/10.6 Emacs/21.3 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org - fix h8300 depend setup sequence -- Yoshinori Sato diff -Nru linux-2.6.6/drivers/serial/sh-sci.c linux-2.6.6-h8300/drivers/serial/sh-sci.c --- linux-2.6.6/drivers/serial/sh-sci.c 2004-05-11 14:30:46.000000000 +0900 +++ linux-2.6.6-h8300/drivers/serial/sh-sci.c 2004-05-11 19:21:26.000000000 +0900 @@ -904,14 +904,14 @@ { struct sci_port *s = &sci_ports[port->line]; - sci_request_irq(s); - sci_start_tx(port, 1); - sci_start_rx(port, 1); - #if defined(__H8300S__) h8300_sci_enable(port, sci_enable); #endif + sci_request_irq(s); + sci_start_tx(port, 1); + sci_start_rx(port, 1); + return 0; } @@ -1328,6 +1328,7 @@ int bits = 8; int parity = 'n'; int flow = 'n'; + int ret; if (co->index >= SCI_NPORTS) co->index = 0; @@ -1345,10 +1346,19 @@ #else port->uartclk = CONFIG_CPU_CLOCK; #endif +#if defined(__H8300S__) + h8300_sci_enable(port, sci_enable); +#endif if (options) uart_parse_options(options, &baud, &parity, &bits, &flow); - return uart_set_options(port, co, baud, parity, bits, flow); + ret = uart_set_options(port, co, baud, parity, bits, flow); +#if defined(__H8300H__) || defined(__H8300S__) + /* disable rx interrupt */ + if (ret == 0) + sci_stop_rx(port); +#endif + return ret; } static struct console serial_console = {