diff options
-rw-r--r-- | drivers/usb/core/driver.c | 9 | ||||
-rw-r--r-- | include/linux/usb.h | 6 |
2 files changed, 10 insertions, 5 deletions
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c index 5e65bc258e1b..bb139f06bcd6 100644 --- a/drivers/usb/core/driver.c +++ b/drivers/usb/core/driver.c | |||
@@ -404,8 +404,9 @@ int usb_device_match(struct device *dev, struct device_driver *drv) | |||
404 | } | 404 | } |
405 | 405 | ||
406 | /** | 406 | /** |
407 | * usb_register - register a USB driver | 407 | * usb_register_driver - register a USB driver |
408 | * @new_driver: USB operations for the driver | 408 | * @new_driver: USB operations for the driver |
409 | * @owner: module owner of this driver. | ||
409 | * | 410 | * |
410 | * Registers a USB driver with the USB core. The list of unattached | 411 | * Registers a USB driver with the USB core. The list of unattached |
411 | * interfaces will be rescanned whenever a new driver is added, allowing | 412 | * interfaces will be rescanned whenever a new driver is added, allowing |
@@ -416,7 +417,7 @@ int usb_device_match(struct device *dev, struct device_driver *drv) | |||
416 | * usb_register_dev() to enable that functionality. This function no longer | 417 | * usb_register_dev() to enable that functionality. This function no longer |
417 | * takes care of that. | 418 | * takes care of that. |
418 | */ | 419 | */ |
419 | int usb_register(struct usb_driver *new_driver) | 420 | int usb_register_driver(struct usb_driver *new_driver, struct module *owner) |
420 | { | 421 | { |
421 | int retval = 0; | 422 | int retval = 0; |
422 | 423 | ||
@@ -427,7 +428,7 @@ int usb_register(struct usb_driver *new_driver) | |||
427 | new_driver->driver.bus = &usb_bus_type; | 428 | new_driver->driver.bus = &usb_bus_type; |
428 | new_driver->driver.probe = usb_probe_interface; | 429 | new_driver->driver.probe = usb_probe_interface; |
429 | new_driver->driver.remove = usb_unbind_interface; | 430 | new_driver->driver.remove = usb_unbind_interface; |
430 | new_driver->driver.owner = new_driver->owner; | 431 | new_driver->driver.owner = owner; |
431 | spin_lock_init(&new_driver->dynids.lock); | 432 | spin_lock_init(&new_driver->dynids.lock); |
432 | INIT_LIST_HEAD(&new_driver->dynids.list); | 433 | INIT_LIST_HEAD(&new_driver->dynids.list); |
433 | 434 | ||
@@ -447,7 +448,7 @@ int usb_register(struct usb_driver *new_driver) | |||
447 | 448 | ||
448 | return retval; | 449 | return retval; |
449 | } | 450 | } |
450 | EXPORT_SYMBOL_GPL(usb_register); | 451 | EXPORT_SYMBOL_GPL(usb_register_driver); |
451 | 452 | ||
452 | /** | 453 | /** |
453 | * usb_deregister - unregister a USB driver | 454 | * usb_deregister - unregister a USB driver |
diff --git a/include/linux/usb.h b/include/linux/usb.h index 8d5829936bc4..3d05c63451a8 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
@@ -625,7 +625,11 @@ struct usb_class_driver { | |||
625 | * use these in module_init()/module_exit() | 625 | * use these in module_init()/module_exit() |
626 | * and don't forget MODULE_DEVICE_TABLE(usb, ...) | 626 | * and don't forget MODULE_DEVICE_TABLE(usb, ...) |
627 | */ | 627 | */ |
628 | extern int usb_register(struct usb_driver *); | 628 | int usb_register_driver(struct usb_driver *, struct module *); |
629 | static inline int usb_register(struct usb_driver *driver) | ||
630 | { | ||
631 | return usb_register_driver(driver, THIS_MODULE); | ||
632 | } | ||
629 | extern void usb_deregister(struct usb_driver *); | 633 | extern void usb_deregister(struct usb_driver *); |
630 | 634 | ||
631 | extern int usb_register_dev(struct usb_interface *intf, | 635 | extern int usb_register_dev(struct usb_interface *intf, |