Commit c3452f5e authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman

USB: serial: clean up generic-operation handling

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: default avatarJohan Hovold <jhovold@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 79b80b8a
...@@ -1291,12 +1291,12 @@ module_exit(usb_serial_exit); ...@@ -1291,12 +1291,12 @@ module_exit(usb_serial_exit);
do { \ do { \
if (!type->function) { \ if (!type->function) { \
type->function = usb_serial_generic_##function; \ type->function = usb_serial_generic_##function; \
pr_debug("Had to override the " #function \ pr_debug("%s: using generic " #function "\n", \
" usb serial operation with the generic one.");\ type->driver.name); \
} \ } \
} while (0) } 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, open);
set_to_generic_if_null(device, write); set_to_generic_if_null(device, write);
...@@ -1316,8 +1316,6 @@ static int usb_serial_register(struct usb_serial_driver *driver) ...@@ -1316,8 +1316,6 @@ static int usb_serial_register(struct usb_serial_driver *driver)
if (usb_disabled()) if (usb_disabled())
return -ENODEV; return -ENODEV;
fixup_generic(driver);
if (!driver->description) if (!driver->description)
driver->description = driver->driver.name; driver->description = driver->driver.name;
if (!driver->usb_driver) { if (!driver->usb_driver) {
...@@ -1326,6 +1324,8 @@ static int usb_serial_register(struct usb_serial_driver *driver) ...@@ -1326,6 +1324,8 @@ static int usb_serial_register(struct usb_serial_driver *driver)
return -EINVAL; return -EINVAL;
} }
usb_serial_operations_init(driver);
/* Add this device to our list of devices */ /* Add this device to our list of devices */
mutex_lock(&table_lock); mutex_lock(&table_lock);
list_add(&driver->driver_list, &usb_serial_driver_list); list_add(&driver->driver_list, &usb_serial_driver_list);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment