Fix rocket port driver

Message ID 20020131003130.A1413@averell
State New, archived
Headers show
Series
  • Fix rocket port driver
Related show

Commit Message

Andi Kleen Jan. 30, 2002, 11:31 p.m. UTC
This patch fixes the rocketport serial driver to compile again
(after the kdev_t changes) and also adds support for a rocketport 
card I managed to buy second hand with a non standard pci ID. 

Patch for 2.5.3. Please apply.

-Andi



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

Comments

Jeff Garzik Jan. 31, 2002, 1:16 a.m. UTC | #1
On Thu, Jan 31, 2002 at 12:31:30AM +0100, Andi Kleen wrote:

Cool.


> @@ -2042,6 +2046,10 @@
>  			PCI_DEVICE_ID_RP8M, i, &bus, &device_fn)) 
>  			if(register_PCI(count+boards_found, bus, device_fn))
>  				count++;
> +		if(!pcibios_find_device(PCI_VENDOR_ID_RP,
> +			0x8, i, &bus, &device_fn)) 
> +			if(register_PCI(count+boards_found, bus, device_fn))
> +				count++;	

Would it be possible to beg and plead and convince you to convert this
driver to the new PCI API?

It hasn't been touched in ages AFAICS, and both 2.4 as well as 2.5 would
greatly benefit from such a [tested] change.

	Jeff



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Andi Kleen Jan. 31, 2002, 1:24 a.m. UTC | #2
On Thu, Jan 31, 2002 at 02:16:40AM +0100, Jeff Garzik wrote:
> > @@ -2042,6 +2046,10 @@
> >  			PCI_DEVICE_ID_RP8M, i, &bus, &device_fn)) 
> >  			if(register_PCI(count+boards_found, bus, device_fn))
> >  				count++;
> > +		if(!pcibios_find_device(PCI_VENDOR_ID_RP,
> > +			0x8, i, &bus, &device_fn)) 
> > +			if(register_PCI(count+boards_found, bus, device_fn))
> > +				count++;	
> 
> Would it be possible to beg and plead and convince you to convert this
> driver to the new PCI API?

I can do that, but not tonight. 

Linus, Dave, please does that not let stop you from merging my previous
patch anyways until I get to it..

> 
> It hasn't been touched in ages AFAICS, and both 2.4 as well as 2.5 would
> greatly benefit from such a [tested] change.

Comtrol has a newer "beta" driver on their ftp site, but it only adds support
for some new hardware features, but doesn't change much otherwise. 

-Andi

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

Patch

--- linux-2.5.3-work/drivers/char/rocket.c-o	Fri Sep 21 19:55:22 2001
+++ linux-2.5.3-work/drivers/char/rocket.c	Wed Jan 30 23:00:48 2002
@@ -227,7 +227,7 @@ 
 	if (!info)
 		return 1;
 	if (info->magic != RPORT_MAGIC) {
-		printk(badmagic, MAJOR(device), MINOR(device), routine);
+		printk(badmagic, major(device), minor(device), routine);
 		return 1;
 	}
 #endif
@@ -896,7 +896,7 @@ 
 	CHANNEL_t	*cp;
 	unsigned long page;
 	
-	line = MINOR(tty->device) - tty->driver.minor_start;
+	line = minor(tty->device) - tty->driver.minor_start;
 	if ((line < 0) || (line >= MAX_RP_PORTS))
 		return -ENODEV;
 	if (!tmp_buf) {
@@ -1467,7 +1467,7 @@ 
 {
 	if (tty)
 		sprintf(buf, "%s%d", tty->driver.name,
-			MINOR(tty->device) - tty->driver.minor_start +
+			minor(tty->device) - tty->driver.minor_start +
 			tty->driver.name_base);
 	else
 		strcpy(buf, "NULL tty");
@@ -1964,6 +1964,10 @@ 
 		str = "8-port Modem";
 		max_num_aiops = 1;
 		break;
+	case 0x8:
+		str = "mysterious 8 port"; 
+		max_num_aiops = 1; 
+		break;
 	default:
 		str = "(unknown/unsupported)";
 		max_num_aiops = 0;
@@ -2042,6 +2046,10 @@ 
 			PCI_DEVICE_ID_RP8M, i, &bus, &device_fn)) 
 			if(register_PCI(count+boards_found, bus, device_fn))
 				count++;
+		if(!pcibios_find_device(PCI_VENDOR_ID_RP,
+			0x8, i, &bus, &device_fn)) 
+			if(register_PCI(count+boards_found, bus, device_fn))
+				count++;	
 	}
 	return(count);
 }