diff options
Diffstat (limited to 'drivers/usb/core/driver.c')
-rw-r--r-- | drivers/usb/core/driver.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c index 9a56635dc19c..112a7ae5095c 100644 --- a/drivers/usb/core/driver.c +++ b/drivers/usb/core/driver.c | |||
@@ -726,16 +726,6 @@ static int usb_uevent(struct device *dev, struct kobj_uevent_env *env) | |||
726 | return -ENODEV; | 726 | return -ENODEV; |
727 | } | 727 | } |
728 | 728 | ||
729 | #ifdef CONFIG_USB_DEVICEFS | ||
730 | /* If this is available, userspace programs can directly read | ||
731 | * all the device descriptors we don't tell them about. Or | ||
732 | * act as usermode drivers. | ||
733 | */ | ||
734 | if (add_uevent_var(env, "DEVICE=/proc/bus/usb/%03d/%03d", | ||
735 | usb_dev->bus->busnum, usb_dev->devnum)) | ||
736 | return -ENOMEM; | ||
737 | #endif | ||
738 | |||
739 | /* per-device configurations are common */ | 729 | /* per-device configurations are common */ |
740 | if (add_uevent_var(env, "PRODUCT=%x/%x/%x", | 730 | if (add_uevent_var(env, "PRODUCT=%x/%x/%x", |
741 | le16_to_cpu(usb_dev->descriptor.idVendor), | 731 | le16_to_cpu(usb_dev->descriptor.idVendor), |
@@ -788,15 +778,13 @@ int usb_register_device_driver(struct usb_device_driver *new_udriver, | |||
788 | 778 | ||
789 | retval = driver_register(&new_udriver->drvwrap.driver); | 779 | retval = driver_register(&new_udriver->drvwrap.driver); |
790 | 780 | ||
791 | if (!retval) { | 781 | if (!retval) |
792 | pr_info("%s: registered new device driver %s\n", | 782 | pr_info("%s: registered new device driver %s\n", |
793 | usbcore_name, new_udriver->name); | 783 | usbcore_name, new_udriver->name); |
794 | usbfs_update_special(); | 784 | else |
795 | } else { | ||
796 | printk(KERN_ERR "%s: error %d registering device " | 785 | printk(KERN_ERR "%s: error %d registering device " |
797 | " driver %s\n", | 786 | " driver %s\n", |
798 | usbcore_name, retval, new_udriver->name); | 787 | usbcore_name, retval, new_udriver->name); |
799 | } | ||
800 | 788 | ||
801 | return retval; | 789 | return retval; |
802 | } | 790 | } |
@@ -815,7 +803,6 @@ void usb_deregister_device_driver(struct usb_device_driver *udriver) | |||
815 | usbcore_name, udriver->name); | 803 | usbcore_name, udriver->name); |
816 | 804 | ||
817 | driver_unregister(&udriver->drvwrap.driver); | 805 | driver_unregister(&udriver->drvwrap.driver); |
818 | usbfs_update_special(); | ||
819 | } | 806 | } |
820 | EXPORT_SYMBOL_GPL(usb_deregister_device_driver); | 807 | EXPORT_SYMBOL_GPL(usb_deregister_device_driver); |
821 | 808 | ||
@@ -856,8 +843,6 @@ int usb_register_driver(struct usb_driver *new_driver, struct module *owner, | |||
856 | if (retval) | 843 | if (retval) |
857 | goto out; | 844 | goto out; |
858 | 845 | ||
859 | usbfs_update_special(); | ||
860 | |||
861 | retval = usb_create_newid_files(new_driver); | 846 | retval = usb_create_newid_files(new_driver); |
862 | if (retval) | 847 | if (retval) |
863 | goto out_newid; | 848 | goto out_newid; |
@@ -897,8 +882,6 @@ void usb_deregister(struct usb_driver *driver) | |||
897 | usb_remove_newid_files(driver); | 882 | usb_remove_newid_files(driver); |
898 | driver_unregister(&driver->drvwrap.driver); | 883 | driver_unregister(&driver->drvwrap.driver); |
899 | usb_free_dynids(driver); | 884 | usb_free_dynids(driver); |
900 | |||
901 | usbfs_update_special(); | ||
902 | } | 885 | } |
903 | EXPORT_SYMBOL_GPL(usb_deregister); | 886 | EXPORT_SYMBOL_GPL(usb_deregister); |
904 | 887 | ||