Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac6aec2f5683588361ab408cb3346b08c66bdfbe
Commit:     ac6aec2f5683588361ab408cb3346b08c66bdfbe
Parent:     8cf5a8c5729116d0d60815393ec9f1c0f0bc2df7
Author:     Jiri Slaby <[EMAIL PROTECTED]>
AuthorDate: Thu Oct 18 03:06:26 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Thu Oct 18 14:37:27 2007 -0700

    Char: rocket, fix dynamic_dev tty
    
    - register_device unconditionally (non-pci dependent) to have also isa
      devices in /dev
    - unregister devices on module removal
    - don't set TTY_DRIVER_DYNAMIC_DEV twice (removed the one dependent on some
      macro)
    
    Signed-off-by: Jiri Slaby <[EMAIL PROTECTED]>
    Cc: Ferenc Wagner <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 drivers/char/rocket.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/char/rocket.c b/drivers/char/rocket.c
index d790b08..01ce0c7 100644
--- a/drivers/char/rocket.c
+++ b/drivers/char/rocket.c
@@ -700,8 +700,8 @@ static void init_r_port(int board, int aiop, int chan, 
struct pci_dev *pci_dev)
        spin_lock_init(&info->slock);
        mutex_init(&info->write_mtx);
        rp_table[line] = info;
-       if (pci_dev)
-               tty_register_device(rocket_driver, line, &pci_dev->dev);
+       tty_register_device(rocket_driver, line, pci_dev ? &pci_dev->dev :
+                       NULL);
 }
 
 /*
@@ -2438,7 +2438,7 @@ static int __init rp_init(void)
        rocket_driver->init_termios.c_ispeed = 9600;
        rocket_driver->init_termios.c_ospeed = 9600;
 #ifdef ROCKET_SOFT_FLOW
-       rocket_driver->flags |= TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
+       rocket_driver->flags |= TTY_DRIVER_REAL_RAW;
 #endif
        tty_set_operations(rocket_driver, &rocket_ops);
 
@@ -2495,10 +2495,14 @@ static void rp_cleanup_module(void)
        if (retval)
                printk(KERN_INFO "Error %d while trying to unregister "
                       "rocketport driver\n", -retval);
-       put_tty_driver(rocket_driver);
 
        for (i = 0; i < MAX_RP_PORTS; i++)
-               kfree(rp_table[i]);
+               if (rp_table[i]) {
+                       tty_unregister_device(rocket_driver, i);
+                       kfree(rp_table[i]);
+               }
+
+       put_tty_driver(rocket_driver);
 
        for (i = 0; i < NUM_BOARDS; i++) {
                if (rcktpt_io_addr[i] <= 0 || is_PCI[i])
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to