USB: serial: clean up generic-operation handling
authorJohan Hovold <jhovold@gmail.com>
Thu, 21 Mar 2013 11:36:44 +0000 (12:36 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Mar 2013 20:48:26 +0000 (13:48 -0700)
Most USB serial drivers are, and should be, using as much of the generic
implementation as possible.

Rename the fixup_generic function to a more descriptive name.
Reword the related debug message in a more neutral tone (and remember to
add the missing newline).
Finally, move the operations initialisation to after the initial sanity
checks.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/usb-serial.c

index 4819fd9a639af2fb00e76b45516582c832340402..3eb4d06e49be1dc948852903604b97bbd108c9a5 100644 (file)
@@ -1291,12 +1291,12 @@ module_exit(usb_serial_exit);
        do {                                                            \
                if (!type->function) {                                  \
                        type->function = usb_serial_generic_##function; \
-                       pr_debug("Had to override the " #function       \
-                               " usb serial operation with the generic one.");\
-                       }                                               \
+                       pr_debug("%s: using generic " #function "\n",   \
+                                               type->driver.name);     \
+               }                                                       \
        } while (0)
 
-static void fixup_generic(struct usb_serial_driver *device)
+static void usb_serial_operations_init(struct usb_serial_driver *device)
 {
        set_to_generic_if_null(device, open);
        set_to_generic_if_null(device, write);
@@ -1316,8 +1316,6 @@ static int usb_serial_register(struct usb_serial_driver *driver)
        if (usb_disabled())
                return -ENODEV;
 
-       fixup_generic(driver);
-
        if (!driver->description)
                driver->description = driver->driver.name;
        if (!driver->usb_driver) {
@@ -1326,6 +1324,8 @@ static int usb_serial_register(struct usb_serial_driver *driver)
                return -EINVAL;
        }
 
+       usb_serial_operations_init(driver);
+
        /* Add this device to our list of devices */
        mutex_lock(&table_lock);
        list_add(&driver->driver_list, &usb_serial_driver_list);