[parisc-linux-cvs] [PATCH] Serial MUX updates.

Ryan Bradetich rbradetich@uswest.net
11 Sep 2002 01:09:58 -0600


This patch fixes the following problems:

	* Handle (badly, I admit) the case where a box has multiple
	  serial muxes.  Robbie's K580 has 2 serial muxes and this
	  did bad things with the driver.  Serial Mux v 0.2 will 
          handle this condition better.

	* Change the mux_tbl to recongize any serial muxes present,
	  not just the ones I had tested and specified.
	  Thanks for the idea willy!

- Ryan


Index: Makefile
===================================================================
RCS file: /var/cvs/linux/Makefile,v
retrieving revision 1.348
diff -u -p -r1.348 Makefile
--- Makefile	11 Sep 2002 07:01:04 -0000	1.348
+++ Makefile	11 Sep 2002 07:03:04 -0000
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 4
 SUBLEVEL = 19
-EXTRAVERSION = -pa13
+EXTRAVERSION = -pa14
 
 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 
Index: drivers/char/mux.c
===================================================================
RCS file: /var/cvs/linux/drivers/char/mux.c,v
retrieving revision 1.2
diff -u -p -r1.2 mux.c
--- drivers/char/mux.c	26 Aug 2002 03:27:10 -0000	1.2
+++ drivers/char/mux.c	11 Sep 2002 07:03:04 -0000
@@ -532,6 +532,11 @@ mux_open(struct tty_struct *tty, struct 
 static int __init 
 mux_probe(struct parisc_device *dev)
 {
+	if(hpa) {
+		printk(KERN_INFO "Serial MUX driver already registered, skipping additonal MUXes for now.\n");
+		return 1;
+	}
+
 	init_timer(&mux_drv_timer);
 	mux_drv_timer.function = mux_drv_poll;
 	mod_timer(&mux_drv_timer, jiffies + MUX_POLL_DELAY);
@@ -591,8 +596,7 @@ mux_probe(struct parisc_device *dev)
 }
 
 static struct parisc_device_id mux_tbl[] = {
-	{ HPHW_A_DIRECT, HVERSION_REV_ANY_ID, 0x015, 0x0000D }, /* Eole CAP/MUX */
-	{ HPHW_A_DIRECT, HVERSION_REV_ANY_ID, 0x044, 0x0000D }, /* Sahp Baat Kiuh AP/MUX */
+	{ HPHW_A_DIRECT, HVERSION_REV_ANY_ID, HVERSION_ANY_ID, 0x0000D },
 	{ 0, }
 };