vserver 1.9.3
[linux-2.6.git] / drivers / usb / serial / keyspan_pda.c
index 5a349ae..cd441d7 100644 (file)
 #include <asm/uaccess.h>
 #include <linux/usb.h>
 
-#ifdef CONFIG_USB_SERIAL_DEBUG
-       static int debug = 1;
-#else
-       static int debug;
-#endif
-
+static int debug;
 
 struct ezusb_hex_record {
        __u16 address;
@@ -191,13 +186,7 @@ static void keyspan_pda_wakeup_write( struct usb_serial_port *port )
        wake_up_interruptible( &port->write_wait );
 
        /* wake up line discipline */
-       if( (tty->flags & (1 << TTY_DO_WRITE_WAKEUP))
-       && tty->ldisc.write_wakeup )
-               (tty->ldisc.write_wakeup)(tty);
-
-       /* wake up other tty processes */
-       wake_up_interruptible( &tty->write_wait );
-       /* For 2.2.16 backport -- wake_up_interruptible( &tty->poll_wait ); */
+       tty_wakeup(tty);
 }
 
 static void keyspan_pda_request_unthrottle( struct usb_serial *serial )
@@ -781,7 +770,7 @@ static int keyspan_pda_startup (struct usb_serial *serial)
        usb_set_serial_port_data(serial->port[0], priv);
        init_waitqueue_head(&serial->port[0]->write_wait);
        INIT_WORK(&priv->wakeup_work, (void *)keyspan_pda_wakeup_write,
-                       (void *)(&serial->port[0]));
+                       (void *)(serial->port[0]));
        INIT_WORK(&priv->unthrottle_work,
                        (void *)keyspan_pda_request_unthrottle,
                        (void *)(serial));
@@ -909,6 +898,6 @@ MODULE_AUTHOR( DRIVER_AUTHOR );
 MODULE_DESCRIPTION( DRIVER_DESC );
 MODULE_LICENSE("GPL");
 
-MODULE_PARM(debug, "i");
+module_param(debug, bool, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(debug, "Debug enabled or not");