diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-07 22:23:21 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-07 22:23:21 -0500 |
commit | c96e2c92072d3e78954c961f53d8c7352f7abbd7 (patch) | |
tree | d844f26f926ff40e98e9eae0e11fd71acad81df4 /drivers/usb/core/file.c | |
parent | f2aca47dc3c2d0c2d5dbd972558557e74232bbce (diff) | |
parent | 64358164f5bfe5e11d4040c1eb674c29e1436ce5 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (70 commits)
USB: remove duplicate device id from zc0301
USB: remove duplicate device id from usb_storage
USB: remove duplicate device id from keyspan
USB: remove duplicate device id from ftdi_sio
USB: remove duplicate device id from visor
USB: a bit more coding style cleanup
usbcore: trivial whitespace fixes
usb-storage: use first bulk endpoints, not last
EHCI: fix interrupt-driven remote wakeup
USB: switch ehci-hcd to new polling scheme
USB: autosuspend for usb printer driver
USB Input: Added kernel module to support all GTCO CalComp USB InterWrite School products
USB: Sierra Wireless auto set D0
USB: usb ethernet gadget recognizes HUSB2DEV
USB: list atmel husb2_udc gadget controller
USB: gadgetfs AIO tweaks
USB: gadgetfs behaves better on userspace init bug
USB: gadgetfs race fix
USB: gadgetfs simplifications
USB: gadgetfs cleanups
...
Diffstat (limited to 'drivers/usb/core/file.c')
-rw-r--r-- | drivers/usb/core/file.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/usb/core/file.c b/drivers/usb/core/file.c index f794f07cfb33..01c857ac27af 100644 --- a/drivers/usb/core/file.c +++ b/drivers/usb/core/file.c | |||
@@ -194,14 +194,13 @@ int usb_register_dev(struct usb_interface *intf, | |||
194 | ++temp; | 194 | ++temp; |
195 | else | 195 | else |
196 | temp = name; | 196 | temp = name; |
197 | intf->class_dev = class_device_create(usb_class->class, NULL, | 197 | intf->usb_dev = device_create(usb_class->class, &intf->dev, |
198 | MKDEV(USB_MAJOR, minor), | 198 | MKDEV(USB_MAJOR, minor), "%s", temp); |
199 | &intf->dev, "%s", temp); | 199 | if (IS_ERR(intf->usb_dev)) { |
200 | if (IS_ERR(intf->class_dev)) { | ||
201 | spin_lock (&minor_lock); | 200 | spin_lock (&minor_lock); |
202 | usb_minors[intf->minor] = NULL; | 201 | usb_minors[intf->minor] = NULL; |
203 | spin_unlock (&minor_lock); | 202 | spin_unlock (&minor_lock); |
204 | retval = PTR_ERR(intf->class_dev); | 203 | retval = PTR_ERR(intf->usb_dev); |
205 | } | 204 | } |
206 | exit: | 205 | exit: |
207 | return retval; | 206 | return retval; |
@@ -242,8 +241,8 @@ void usb_deregister_dev(struct usb_interface *intf, | |||
242 | spin_unlock (&minor_lock); | 241 | spin_unlock (&minor_lock); |
243 | 242 | ||
244 | snprintf(name, BUS_ID_SIZE, class_driver->name, intf->minor - minor_base); | 243 | snprintf(name, BUS_ID_SIZE, class_driver->name, intf->minor - minor_base); |
245 | class_device_destroy(usb_class->class, MKDEV(USB_MAJOR, intf->minor)); | 244 | device_destroy(usb_class->class, MKDEV(USB_MAJOR, intf->minor)); |
246 | intf->class_dev = NULL; | 245 | intf->usb_dev = NULL; |
247 | intf->minor = -1; | 246 | intf->minor = -1; |
248 | destroy_usb_class(); | 247 | destroy_usb_class(); |
249 | } | 248 | } |