Hi,

Here's a patch against 2.5.3-pre1 for the USB serial keyspan driver.  It
removes lots of unneeded usb_serial_device_type structures for devices
that do not yet have the firmware downloaded to them yet.

thanks,

greg k-h



diff -Nru a/drivers/usb/serial/keyspan.c b/drivers/usb/serial/keyspan.c
--- a/drivers/usb/serial/keyspan.c      Wed Jan 16 09:57:46 2002
+++ b/drivers/usb/serial/keyspan.c      Wed Jan 16 09:57:46 2002
@@ -178,15 +178,7 @@
 /* Functions used by new usb-serial code. */
 static int __init keyspan_init (void)
 {
-       usb_serial_register (&keyspan_usa18x_pre_device);
-       usb_serial_register (&keyspan_usa19_pre_device);
-       usb_serial_register (&keyspan_usa19w_pre_device);
-       usb_serial_register (&keyspan_usa28_pre_device);
-       usb_serial_register (&keyspan_usa28x_pre_device);
-       usb_serial_register (&keyspan_usa28xa_pre_device);
-       usb_serial_register (&keyspan_usa28xb_pre_device);
-       usb_serial_register (&keyspan_usa49w_pre_device);
-
+       usb_serial_register (&keyspan_pre_device);
        usb_serial_register (&keyspan_usa18x_device);
        usb_serial_register (&keyspan_usa19_device);
        usb_serial_register (&keyspan_usa19w_device);
@@ -203,15 +195,7 @@
 
 static void __exit keyspan_exit (void)
 {
-       usb_serial_deregister (&keyspan_usa18x_pre_device);
-       usb_serial_deregister (&keyspan_usa19_pre_device);
-       usb_serial_deregister (&keyspan_usa19w_pre_device);
-       usb_serial_deregister (&keyspan_usa28_pre_device);
-       usb_serial_deregister (&keyspan_usa28x_pre_device);
-       usb_serial_deregister (&keyspan_usa28xa_pre_device);
-       usb_serial_deregister (&keyspan_usa28xb_pre_device);
-       usb_serial_deregister (&keyspan_usa49w_pre_device);
-
+       usb_serial_deregister (&keyspan_pre_device);
        usb_serial_deregister (&keyspan_usa18x_device);
        usb_serial_deregister (&keyspan_usa19_device);
        usb_serial_deregister (&keyspan_usa19w_device);
diff -Nru a/drivers/usb/serial/keyspan.h b/drivers/usb/serial/keyspan.h
--- a/drivers/usb/serial/keyspan.h      Wed Jan 16 09:57:45 2002
+++ b/drivers/usb/serial/keyspan.h      Wed Jan 16 09:57:45 2002
@@ -372,42 +372,15 @@
    ID pattern.  But, for now, it looks like we need slightly different
    behavior for each match. */
 
-static __devinitdata struct usb_device_id keyspan_usa18x_pre_ids[] = {
+/* usb_device_id table for the pre-firmware download keyspan devices */
+static __devinitdata struct usb_device_id keyspan_pre_ids[] = {
        { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa18x_pre_product_id) },
-       { }     /* Terminating entry */
-};
-
-static __devinitdata struct usb_device_id keyspan_usa19_pre_ids[] = {
        { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa19_pre_product_id) },
-       { } /* Terminating entry */
-};
-
-static __devinitdata struct usb_device_id keyspan_usa19w_pre_ids[] = {
        { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa19w_pre_product_id) },
-       { } /* Terminating entry */
-};
-
-static __devinitdata struct usb_device_id keyspan_usa28_pre_ids[] = {
        { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28_pre_product_id) },
-       { } /* Terminating entry */
-};
-
-static __devinitdata struct usb_device_id keyspan_usa28x_pre_ids[] = {
        { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28x_pre_product_id) },
-       { } /* Terminating entry */
-};
-
-static __devinitdata struct usb_device_id keyspan_usa28xa_pre_ids[] = {
        { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28xa_pre_product_id) },
-       { } /* Terminating entry */
-};
-
-static __devinitdata struct usb_device_id keyspan_usa28xb_pre_ids[] = {
        { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28xb_pre_product_id) },
-       { } /* Terminating entry */
-};
-
-static __devinitdata struct usb_device_id keyspan_usa49w_pre_ids[] = {
        { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa49w_pre_product_id) },
        { } /* Terminating entry */
 };
@@ -448,10 +421,10 @@
 };
 
     /* Structs for the devices, pre and post renumeration. */
-static struct usb_serial_device_type keyspan_usa18x_pre_device = {
+static struct usb_serial_device_type keyspan_pre_device = {
        owner:                  THIS_MODULE,
-       name:                   "Keyspan USA18X - (without firmware)",
-       id_table:               keyspan_usa18x_pre_ids,
+       name:                   "Keyspan - (without firmware)",
+       id_table:               keyspan_pre_ids,
        num_interrupt_in:       NUM_DONT_CARE,
        num_bulk_in:            NUM_DONT_CARE,
        num_bulk_out:           NUM_DONT_CARE,
@@ -459,84 +432,6 @@
        startup:                keyspan_fake_startup    
 };
 
-static struct usb_serial_device_type keyspan_usa19_pre_device = {
-       owner:                  THIS_MODULE,
-       name:                   "Keyspan USA19 - (without firmware)",
-       id_table:               keyspan_usa19_pre_ids,
-       num_interrupt_in:       NUM_DONT_CARE,
-       num_bulk_in:            NUM_DONT_CARE,
-       num_bulk_out:           NUM_DONT_CARE,
-       num_ports:              1,
-       startup:                keyspan_fake_startup    
-};
-
-
-static struct usb_serial_device_type keyspan_usa19w_pre_device = {
-       owner:                  THIS_MODULE,
-       name:                   "Keyspan USA19W - (without firmware)",
-       id_table:               keyspan_usa19w_pre_ids,
-       num_interrupt_in:       NUM_DONT_CARE,
-       num_bulk_in:            NUM_DONT_CARE,
-       num_bulk_out:           NUM_DONT_CARE,
-       num_ports:              1,
-       startup:                keyspan_fake_startup    
-};
-
-
-static struct usb_serial_device_type keyspan_usa28_pre_device = {
-       owner:                  THIS_MODULE,
-       name:                   "Keyspan USA28 - (without firmware)",
-       id_table:               keyspan_usa28_pre_ids,
-       num_interrupt_in:       NUM_DONT_CARE,
-       num_bulk_in:            NUM_DONT_CARE,
-       num_bulk_out:           NUM_DONT_CARE,
-       num_ports:              2,
-       startup:                keyspan_fake_startup    
-};
-
-static struct usb_serial_device_type keyspan_usa28x_pre_device = {
-       owner:                  THIS_MODULE,
-       name:                   "Keyspan USA28X - (without firmware)",
-       id_table:               keyspan_usa28x_pre_ids,
-       num_interrupt_in:       NUM_DONT_CARE,
-       num_bulk_in:            NUM_DONT_CARE,
-       num_bulk_out:           NUM_DONT_CARE,
-       num_ports:              2,
-       startup:                keyspan_fake_startup    
-};
-
-static struct usb_serial_device_type keyspan_usa28xa_pre_device = {
-       owner:                  THIS_MODULE,
-       name:                   "Keyspan USA28XA - (without firmware)",
-       id_table:               keyspan_usa28xa_pre_ids,
-       num_interrupt_in:       NUM_DONT_CARE,
-       num_bulk_in:            NUM_DONT_CARE,
-       num_bulk_out:           NUM_DONT_CARE,
-       num_ports:              2,
-       startup:                keyspan_fake_startup    
-};
-
-static struct usb_serial_device_type keyspan_usa28xb_pre_device = {
-       owner:                  THIS_MODULE,
-       name:                   "Keyspan USA28XB - (without firmware)",
-       id_table:               keyspan_usa28xb_pre_ids,
-       num_interrupt_in:       NUM_DONT_CARE,
-       num_bulk_in:            NUM_DONT_CARE,
-       num_bulk_out:           NUM_DONT_CARE,
-       num_ports:              2,
-       startup:                keyspan_fake_startup    
-};
-
-static struct usb_serial_device_type keyspan_usa49w_pre_device = {
-       owner:                  THIS_MODULE,
-       name:                   "Keyspan USA49W - (without firmware)",
-       id_table:               keyspan_usa49w_pre_ids,
-       num_interrupt_in:       NUM_DONT_CARE,
-       num_bulk_in:            NUM_DONT_CARE,
-       num_bulk_out:           NUM_DONT_CARE,
-       num_ports:              4,
-       startup:                keyspan_fake_startup    
-};
 
 static struct usb_serial_device_type keyspan_usa18x_device = {
        owner:                  THIS_MODULE,
@@ -550,8 +445,6 @@
        close:                  keyspan_close,
        write:                  keyspan_write,
        write_room:             keyspan_write_room,
-       //write_bulk_callback:  Not used - we define our own herbs
-       //read_int_callback:    keyspan_usa26_read_int_callback,
        chars_in_buffer:        keyspan_chars_in_buffer,
        throttle:               keyspan_rx_throttle,
        unthrottle:             keyspan_rx_unthrottle,
@@ -574,8 +467,6 @@
        close:                  keyspan_close,
        write:                  keyspan_write,
        write_room:             keyspan_write_room,
-//     write_bulk_callback:    keyspan_write_bulk_callback,
-//     read_int_callback:      keyspan_usa28_read_int_callback,
        chars_in_buffer:        keyspan_chars_in_buffer,
        throttle:               keyspan_rx_throttle,
        unthrottle:             keyspan_rx_unthrottle,
@@ -599,8 +490,6 @@
        close:                  keyspan_close,
        write:                  keyspan_write,
        write_room:             keyspan_write_room,
-       //write_bulk_callback:  Not used - we define our own herbs
-       //read_int_callback:    keyspan_usa26_read_int_callback,
        chars_in_buffer:        keyspan_chars_in_buffer,
        throttle:               keyspan_rx_throttle,
        unthrottle:             keyspan_rx_unthrottle,
@@ -640,8 +529,6 @@
        close:                  keyspan_close,
        write:                  keyspan_write,
        write_room:             keyspan_write_room,
-//     write_bulk_callback:    keyspan_write_bulk_callback,
-//     read_int_callback:      keyspan_usa26_read_int_callback,
        chars_in_buffer:        keyspan_chars_in_buffer,
        throttle:               keyspan_rx_throttle,
        unthrottle:             keyspan_rx_unthrottle,
@@ -665,8 +552,6 @@
        close:                  keyspan_close,
        write:                  keyspan_write,
        write_room:             keyspan_write_room,
-//     write_bulk_callback:    keyspan_write_bulk_callback,
-//     read_int_callback:      keyspan_usa26_read_int_callback,
        chars_in_buffer:        keyspan_chars_in_buffer,
        throttle:               keyspan_rx_throttle,
        unthrottle:             keyspan_rx_unthrottle,
@@ -690,8 +575,6 @@
        close:                  keyspan_close,
        write:                  keyspan_write,
        write_room:             keyspan_write_room,
-       //write_bulk_callback:  Not used - we define our own herbs
-       //read_int_callback:    keyspan_usa26_read_int_callback,
        chars_in_buffer:        keyspan_chars_in_buffer,
        throttle:               keyspan_rx_throttle,
        unthrottle:             keyspan_rx_unthrottle,


_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to