diff options
-rw-r--r-- | drivers/usb/core/file.c | 13 | ||||
-rw-r--r-- | include/linux/usb.h | 5 |
2 files changed, 9 insertions, 9 deletions
diff --git a/drivers/usb/core/file.c b/drivers/usb/core/file.c index abee0f5b6a66..8de4f8c99d61 100644 --- a/drivers/usb/core/file.c +++ b/drivers/usb/core/file.c | |||
@@ -194,13 +194,14 @@ int usb_register_dev(struct usb_interface *intf, | |||
194 | ++temp; | 194 | ++temp; |
195 | else | 195 | else |
196 | temp = name; | 196 | temp = name; |
197 | intf->usb_dev = device_create(usb_class->class, &intf->dev, | 197 | intf->class_dev = class_device_create(usb_class->class, NULL, |
198 | MKDEV(USB_MAJOR, minor), "%s", temp); | 198 | MKDEV(USB_MAJOR, minor), |
199 | if (IS_ERR(intf->usb_dev)) { | 199 | &intf->dev, "%s", temp); |
200 | if (IS_ERR(intf->class_dev)) { | ||
200 | spin_lock (&minor_lock); | 201 | spin_lock (&minor_lock); |
201 | usb_minors[intf->minor] = NULL; | 202 | usb_minors[intf->minor] = NULL; |
202 | spin_unlock (&minor_lock); | 203 | spin_unlock (&minor_lock); |
203 | retval = PTR_ERR(intf->usb_dev); | 204 | retval = PTR_ERR(intf->class_dev); |
204 | } | 205 | } |
205 | exit: | 206 | exit: |
206 | return retval; | 207 | return retval; |
@@ -241,8 +242,8 @@ void usb_deregister_dev(struct usb_interface *intf, | |||
241 | spin_unlock (&minor_lock); | 242 | spin_unlock (&minor_lock); |
242 | 243 | ||
243 | snprintf(name, BUS_ID_SIZE, class_driver->name, intf->minor - minor_base); | 244 | snprintf(name, BUS_ID_SIZE, class_driver->name, intf->minor - minor_base); |
244 | device_destroy(usb_class->class, MKDEV(USB_MAJOR, intf->minor)); | 245 | class_device_destroy(usb_class->class, MKDEV(USB_MAJOR, intf->minor)); |
245 | intf->usb_dev = NULL; | 246 | intf->class_dev = NULL; |
246 | intf->minor = -1; | 247 | intf->minor = -1; |
247 | destroy_usb_class(); | 248 | destroy_usb_class(); |
248 | } | 249 | } |
diff --git a/include/linux/usb.h b/include/linux/usb.h index c944e8f06a4a..398c52f37679 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
@@ -103,8 +103,7 @@ enum usb_interface_condition { | |||
103 | * @condition: binding state of the interface: not bound, binding | 103 | * @condition: binding state of the interface: not bound, binding |
104 | * (in probe()), bound to a driver, or unbinding (in disconnect()) | 104 | * (in probe()), bound to a driver, or unbinding (in disconnect()) |
105 | * @dev: driver model's view of this device | 105 | * @dev: driver model's view of this device |
106 | * @usb_dev: if an interface is bound to the USB major, this will point | 106 | * @class_dev: driver model's class view of this device. |
107 | * to the sysfs representation for that device. | ||
108 | * | 107 | * |
109 | * USB device drivers attach to interfaces on a physical device. Each | 108 | * USB device drivers attach to interfaces on a physical device. Each |
110 | * interface encapsulates a single high level function, such as feeding | 109 | * interface encapsulates a single high level function, such as feeding |
@@ -144,7 +143,7 @@ struct usb_interface { | |||
144 | * bound to */ | 143 | * bound to */ |
145 | enum usb_interface_condition condition; /* state of binding */ | 144 | enum usb_interface_condition condition; /* state of binding */ |
146 | struct device dev; /* interface specific device info */ | 145 | struct device dev; /* interface specific device info */ |
147 | struct device *usb_dev; /* pointer to the usb class's device, if any */ | 146 | struct class_device *class_dev; |
148 | }; | 147 | }; |
149 | #define to_usb_interface(d) container_of(d, struct usb_interface, dev) | 148 | #define to_usb_interface(d) container_of(d, struct usb_interface, dev) |
150 | #define interface_to_usbdev(intf) \ | 149 | #define interface_to_usbdev(intf) \ |