Re: [RESEND 1] 8250_hp300: unuse register_serial/unregister_serial

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2005-04-04 at 10:52 +0200, Geert Uytterhoeven wrote:
> 	Hi Russell,
> 
> On Mon, 4 Apr 2005, Russell King wrote:
> > ----- Forwarded message from Russell King <[email protected]> -----
> > 
> > Date:	Thu, 24 Mar 2005 13:19:57 +0000
> > From:	Russell King <[email protected]>
> > To:	[email protected], [email protected]
> > Cc:	Linux Kernel List <[email protected]>
> > Subject: 8250_hp300: unuse register_serial/unregister_serial
> > 
> > Kars, Geert,
> > 
> > Here's a patch which converts 8250_hp300 to use serial8250_register_port
> > and serial8250_unregister_port, rather than register_serial/
> > unregister_serial.
> > 
> > The 8250-variants allow you to associate the struct device with the port,
> > allowing sysfs to indicate which device owns which serial port.  Plus, we
> > stop using a potentially obsolete (and functionally inferior) function.
> > 
> > This patch is untested; please test, and send bug fixes.
> > 
> > Note: if you need power management, that should come via your device
> > driver, calling serial8250_suspend_port() / serial8250_resume_port()
> > as appropriate.
> 
> For me it's OK. But I don't have an HP9000/300 to test. Kars?

Sorry, I've been busy the past few days (getting married and stuff), I
did look at the patch but didn't get around to send a reply.

I needed the following extra changes, after that it compiles and works
on my HP300:

Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
ttyS0 at MMIO 0x690011 (irq = 5) is a 16550A
ttyS1 at MMIO 0x41c040 (irq = 0) is a 16550
ttyS2 at MMIO 0x41c060 (irq = 0) is a 16550


Kind regards,

Kars.

--- linux-2.6-m68k-hp/drivers/serial/8250_hp300.c	2005-04-04 15:38:13.448568529 +0200
+++ linux-2.6-m68k-hp/drivers/serial/8250_hp300.c.new	2005-04-04 15:11:27.000000000 +0200
@@ -9,15 +9,15 @@
 #include <linux/init.h>
 #include <linux/string.h>
 #include <linux/kernel.h>
-#include <linux/tty.h>
 #include <linux/serial.h>
-#include <linux/serialP.h>
 #include <linux/serial_core.h>
 #include <linux/delay.h>
 #include <linux/dio.h>
 #include <linux/console.h>
 #include <asm/io.h>
 
+#include "8250.h"
+
 #if !defined(CONFIG_HPDCA) && !defined(CONFIG_HPAPCI)
 #warning CONFIG_8250 defined but neither CONFIG_HPDCA nor CONFIG_HPAPCI defined, are you sure?
 #endif
@@ -180,14 +180,14 @@
 	port.irq = d->ipl;
 	port.uartclk = HPDCA_BAUD_BASE * 16;
 	port.mapbase = (d->resource.start + UART_OFFSET);
-	port.membase = (char *)(serial_req.iomap_base + DIO_VIRADDRBASE);
+	port.membase = (char *)(port.mapbase + DIO_VIRADDRBASE);
 	port.regshift = 1;
 	port.dev = &d->dev;
 	line = serial8250_register_port(&port);
 
 	if (line < 0) {
 		printk(KERN_NOTICE "8250_hp300: register_serial() DCA scode %d"
-		       " irq %d failed\n", d->scode, serial_req.irq);
+		       " irq %d failed\n", d->scode, port.irq);
 		return -ENOMEM;
 	}
 
@@ -261,7 +261,7 @@
 		uport.flags = UPF_SKIP_TEST | UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF;
 		/* XXX - no interrupt support yet */
 		uport.irq = 0;
-		uport.baud_base = HPAPCI_BAUD_BASE * 16;
+		uport.uartclk = HPAPCI_BAUD_BASE * 16;
 		uport.mapbase = base;
 		uport.membase = (char *)(base + DIO_VIRADDRBASE);
 		uport.regshift = 2;


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux