[parisc-linux-cvs] Serial MUX driver update.

Ryan Bradetich rbradetich@uswest.net
25 Aug 2002 21:30:35 -0600


Update to the serial mux driver.

- Ryan


Index: mux.c
===================================================================
RCS file: /var/cvs/linux/drivers/char/mux.c,v
retrieving revision 1.1
diff -u -p -r1.1 mux.c
--- mux.c	22 Aug 2002 04:33:13 -0000	1.1
+++ mux.c	26 Aug 2002 03:24:44 -0000
@@ -161,6 +161,8 @@ mux_drv_poll(unsigned long unused)
  * @tty: Ptr to the tty structure.
  *
  * This function returns the number of chars sitting in the outbound fifo.
+ * [Note: This function is required for the normal_poll function in 
+ *  drivers/char/n_tty.c].
  */
 static int
 mux_chars_in_buffer(struct tty_struct *tty)
@@ -534,8 +536,9 @@ mux_probe(struct parisc_device *dev)
 	mux_drv_timer.function = mux_drv_poll;
 	mod_timer(&mux_drv_timer, jiffies + MUX_POLL_DELAY);
 
-	printk(KERN_INFO "Serial MUX driver version %s\n",
-	       mux_drv_version);
+	hpa = dev->hpa;
+	printk(KERN_INFO "Serial MUX driver version %s at 0x%lx\n",
+	       mux_drv_version, hpa);
 
 	/* Initialize the tty_driver structure */
 
@@ -567,7 +570,7 @@ mux_probe(struct parisc_device *dev)
 	mux_drv_driver.put_char = NULL;
 	mux_drv_driver.flush_chars = NULL;
 	mux_drv_driver.write_room = mux_write_room;
-	mux_drv_driver.chars_in_buffer = NULL;
+	mux_drv_driver.chars_in_buffer = mux_chars_in_buffer;
 	mux_drv_driver.flush_buffer = mux_flush_buffer;
 	mux_drv_driver.ioctl = mux_ioctl;
 	mux_drv_driver.throttle = NULL;
@@ -584,12 +587,12 @@ mux_probe(struct parisc_device *dev)
 	if (tty_register_driver(&mux_drv_driver))
 		panic("Could not register the serial MUX driver\n");
 
-	hpa = dev->hpa;
 	return 0;
 }
 
 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 */
 	{ 0, }
 };