aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/core/driver.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2005-11-21 17:53:03 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2006-01-04 16:48:32 -0500
commit2143acc6dc79bdbff812f02a7dc5ab9d4fc81fc8 (patch)
tree523c2d57e412766bfc37b9ff6c22ff01108c92a5 /drivers/usb/core/driver.c
parentba9dc657af86d05d2971633e57d1f6f94ed60472 (diff)
[PATCH] USB: make registering a usb driver automatically set the module owner
This fixes the driver that forgot to set the module owner up. Now we can remove the unneeded pointer from the usb driver structure. The idea for how to do this was from Al Viro, who did this for the PCI drivers. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/core/driver.c')
-rw-r--r--drivers/usb/core/driver.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
index 5e65bc258e1..bb139f06bcd 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 */
419int usb_register(struct usb_driver *new_driver) 420int 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}
450EXPORT_SYMBOL_GPL(usb_register); 451EXPORT_SYMBOL_GPL(usb_register_driver);
451 452
452/** 453/**
453 * usb_deregister - unregister a USB driver 454 * usb_deregister - unregister a USB driver