Hello Ralf,
I made a patch for serial setup about vr41xx.
This patch corrects the argument of early_serial_setup correctly.
In order to apply this patch, it is necessary to apply the patche sent before.
I already sent the following patch to you.
1. [PATCH][2.6] Changed clock functions for vr41xx
This patch changes a clock function for a power management.
http://www.hh.iij4u.or.jp/~yuasa/linux-vr/v26/01-cmu-v26.diff
Please apply these patches to v2.6.
Yoichi
diff -urN -X dontdiff linux-orig/arch/mips/vr41xx/common/serial.c
linux/arch/mips/vr41xx/common/serial.c
--- linux-orig/arch/mips/vr41xx/common/serial.c Sat Feb 21 17:13:46 2004
+++ linux/arch/mips/vr41xx/common/serial.c Sun Feb 22 00:59:38 2004
@@ -1,34 +1,23 @@
/*
- * FILE NAME
- * arch/mips/vr41xx/common/serial.c
+ * serial.c, Serial Interface Unit routines for NEC VR4100 series.
*
- * BRIEF MODULE DESCRIPTION
- * Serial Interface Unit routines for NEC VR4100 series.
- *
- * Author: Yoichi Yuasa
- * yyuasa@mvista.com or source@mvista.com
- *
- * Copyright 2002 MontaVista Software Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Copyright (C) 2002 MontaVista Software Inc.
+ * Author: Yoichi Yuasa <yyuasa@mvista.com or source@mvista.com>
+ * Copyright (C) 2003-2004 Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/*
* Changes:
@@ -41,7 +30,9 @@
*/
#include <linux/init.h>
#include <linux/types.h>
+#include <linux/tty.h>
#include <linux/serial.h>
+#include <linux/serial_core.h>
#include <linux/smp.h>
#include <asm/addrspace.h>
@@ -117,33 +108,33 @@
void __init vr41xx_siu_init(int interface, int module)
{
- struct serial_struct s;
+ struct uart_port port;
vr41xx_siu_ifselect(interface, module);
- memset(&s, 0, sizeof(s));
+ memset(&port, 0, sizeof(port));
- s.line = vr41xx_serial_ports;
- s.baud_base = SIU_BASE_BAUD;
- s.irq = SIU_IRQ;
- s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+ port.line = vr41xx_serial_ports;
+ port.uartclk = SIU_BASE_BAUD;
+ port.irq = SIU_IRQ;
+ port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
switch (current_cpu_data.cputype) {
case CPU_VR4111:
case CPU_VR4121:
- s.iomem_base = (unsigned char *)SIURB_TYPE1;
+ port.membase = (char *)SIURB_TYPE1;
break;
case CPU_VR4122:
case CPU_VR4131:
case CPU_VR4133:
- s.iomem_base = (unsigned char *)SIURB_TYPE2;
+ port.membase = (char *)SIURB_TYPE2;
break;
default:
panic("Unexpected CPU of NEC VR4100 series");
break;
}
- s.iomem_reg_shift = 0;
- s.io_type = SERIAL_IO_MEM;
- if (early_serial_setup(&s) != 0)
+ port.regshift = 0;
+ port.iotype = UPIO_MEM;
+ if (early_serial_setup(&port) != 0)
printk(KERN_ERR "SIU setup failed!\n");
vr41xx_supply_clock(SIU_CLOCK);
@@ -153,23 +144,23 @@
void __init vr41xx_dsiu_init(void)
{
- struct serial_struct s;
+ struct uart_port port;
if (current_cpu_data.cputype != CPU_VR4122 &&
current_cpu_data.cputype != CPU_VR4131 &&
current_cpu_data.cputype != CPU_VR4133)
return;
- memset(&s, 0, sizeof(s));
+ memset(&port, 0, sizeof(port));
- s.line = vr41xx_serial_ports;
- s.baud_base = DSIU_BASE_BAUD;
- s.irq = DSIU_IRQ;
- s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
- s.iomem_base = (unsigned char *)DSIURB;
- s.iomem_reg_shift = 0;
- s.io_type = SERIAL_IO_MEM;
- if (early_serial_setup(&s) != 0)
+ port.line = vr41xx_serial_ports;
+ port.uartclk = DSIU_BASE_BAUD;
+ port.irq = DSIU_IRQ;
+ port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
+ port.membase = (char *)DSIURB;
+ port.regshift = 0;
+ port.iotype = UPIO_MEM;
+ if (early_serial_setup(&port) != 0)
printk(KERN_ERR "DSIU setup failed!\n");
vr41xx_supply_clock(DSIU_CLOCK);
|