linux-mips
[Top] [All Lists]

Re: Preliminary patch for ip32 ttyS* device

To: Giuseppe Sacco <giuseppe@eppesuigoccas.homedns.org>
Subject: Re: Preliminary patch for ip32 ttyS* device
From: Ralf Baechle <ralf@linux-mips.org>
Date: Wed, 31 Oct 2007 13:08:28 +0000
Cc: mips kernel list <linux-mips@linux-mips.org>, Martin Michlmayr <tbm@cyrius.com>
In-reply-to: <20071030214015.050b7950.giuseppe@eppesuigoccas.homedns.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20071030214015.050b7950.giuseppe@eppesuigoccas.homedns.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.14 (2007-02-12)
On Tue, Oct 30, 2007 at 09:40:15PM +0100, Giuseppe Sacco wrote:

> this is a patch that make ttyS0 and ttyS1 work on my SGI O2. I don't know if 
> it is enough good for a general use since I am also changing code 
> drivers/serial/serial_core.c. Probably the best solution would be to use 
> mapbase instead of membase in arch/mips/sgi-ip32/ip32-platform.c.

> diff --git a/arch/mips/sgi-ip32/ip32-platform.c 
> b/arch/mips/sgi-ip32/ip32-platform.c
> index 7309e48..77febd6 100644
> --- a/arch/mips/sgi-ip32/ip32-platform.c
> +++ b/arch/mips/sgi-ip32/ip32-platform.c
> @@ -42,7 +42,7 @@ static struct platform_device uart8250_device = {
>  static int __init uart8250_init(void)
>  {
>       uart8250_data[0].membase = (void __iomem *) &mace->isa.serial1;
> -     uart8250_data[1].membase = (void __iomem *) &mace->isa.serial1;
> +     uart8250_data[1].membase = (void __iomem *) &mace->isa.serial2;

The s/isa.serial1/isa.serial2/ part looks reasonable.

> diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
> index 3bb5d24..7caa877 100644
> --- a/drivers/serial/serial_core.c
> +++ b/drivers/serial/serial_core.c
> @@ -2455,6 +2455,8 @@ int uart_match_port(struct uart_port *port1, struct 
> uart_port *port2)
>       case UPIO_AU:
>       case UPIO_TSI:
>       case UPIO_DWAPB:
> +             if (port1->mapbase==0 && port2->mapbase==0)
> +                     return (port1->membase == port2->membase);

This hack is only needed because ->mapbase is not initialized.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>