Revert "[PATCH] USB: convert usb class devices to real devices"
authorGreg Kroah-Hartman <gregkh@suse.de>
Wed, 2 Aug 2006 23:49:37 +0000 (16:49 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 2 Aug 2006 23:49:37 +0000 (16:49 -0700)
This reverts bd00949647ddcea47ce4ea8bb2cfcfc98ebf9f2a commit because it
required a newer version of udev to work properly than what is currently
documented in Documentation/Changes.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/file.c
include/linux/usb.h

index abee0f5..8de4f8c 100644 (file)
@@ -194,13 +194,14 @@ int usb_register_dev(struct usb_interface *intf,
                ++temp;
        else
                temp = name;
-       intf->usb_dev = device_create(usb_class->class, &intf->dev,
-                                     MKDEV(USB_MAJOR, minor), "%s", temp);
-       if (IS_ERR(intf->usb_dev)) {
+       intf->class_dev = class_device_create(usb_class->class, NULL,
+                                             MKDEV(USB_MAJOR, minor),
+                                             &intf->dev, "%s", temp);
+       if (IS_ERR(intf->class_dev)) {
                spin_lock (&minor_lock);
                usb_minors[intf->minor] = NULL;
                spin_unlock (&minor_lock);
-               retval = PTR_ERR(intf->usb_dev);
+               retval = PTR_ERR(intf->class_dev);
        }
 exit:
        return retval;
@@ -241,8 +242,8 @@ void usb_deregister_dev(struct usb_interface *intf,
        spin_unlock (&minor_lock);
 
        snprintf(name, BUS_ID_SIZE, class_driver->name, intf->minor - minor_base);
-       device_destroy(usb_class->class, MKDEV(USB_MAJOR, intf->minor));
-       intf->usb_dev = NULL;
+       class_device_destroy(usb_class->class, MKDEV(USB_MAJOR, intf->minor));
+       intf->class_dev = NULL;
        intf->minor = -1;
        destroy_usb_class();
 }
index c944e8f..398c52f 100644 (file)
@@ -103,8 +103,7 @@ enum usb_interface_condition {
  * @condition: binding state of the interface: not bound, binding
  *     (in probe()), bound to a driver, or unbinding (in disconnect())
  * @dev: driver model's view of this device
- * @usb_dev: if an interface is bound to the USB major, this will point
- *     to the sysfs representation for that device.
+ * @class_dev: driver model's class view of this device.
  *
  * USB device drivers attach to interfaces on a physical device.  Each
  * interface encapsulates a single high level function, such as feeding
@@ -144,7 +143,7 @@ struct usb_interface {
                                         * bound to */
        enum usb_interface_condition condition;         /* state of binding */
        struct device dev;              /* interface specific device info */
-       struct device *usb_dev;         /* pointer to the usb class's device, if any */
+       struct class_device *class_dev;
 };
 #define        to_usb_interface(d) container_of(d, struct usb_interface, dev)
 #define        interface_to_usbdev(intf) \