Commit 27fb4f0a authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

Revert "[PATCH] USB: convert usb class devices to real devices"

This reverts bd009496 commit because it
required a newer version of udev to work properly than what is currently
documented in Documentation/Changes.
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent f443ddf1
...@@ -194,13 +194,14 @@ int usb_register_dev(struct usb_interface *intf, ...@@ -194,13 +194,14 @@ int usb_register_dev(struct usb_interface *intf,
++temp; ++temp;
else else
temp = name; temp = name;
intf->usb_dev = device_create(usb_class->class, &intf->dev, intf->class_dev = class_device_create(usb_class->class, NULL,
MKDEV(USB_MAJOR, minor), "%s", temp); MKDEV(USB_MAJOR, minor),
if (IS_ERR(intf->usb_dev)) { &intf->dev, "%s", temp);
if (IS_ERR(intf->class_dev)) {
spin_lock (&minor_lock); spin_lock (&minor_lock);
usb_minors[intf->minor] = NULL; usb_minors[intf->minor] = NULL;
spin_unlock (&minor_lock); spin_unlock (&minor_lock);
retval = PTR_ERR(intf->usb_dev); retval = PTR_ERR(intf->class_dev);
} }
exit: exit:
return retval; return retval;
...@@ -241,8 +242,8 @@ void usb_deregister_dev(struct usb_interface *intf, ...@@ -241,8 +242,8 @@ void usb_deregister_dev(struct usb_interface *intf,
spin_unlock (&minor_lock); spin_unlock (&minor_lock);
snprintf(name, BUS_ID_SIZE, class_driver->name, intf->minor - minor_base); snprintf(name, BUS_ID_SIZE, class_driver->name, intf->minor - minor_base);
device_destroy(usb_class->class, MKDEV(USB_MAJOR, intf->minor)); class_device_destroy(usb_class->class, MKDEV(USB_MAJOR, intf->minor));
intf->usb_dev = NULL; intf->class_dev = NULL;
intf->minor = -1; intf->minor = -1;
destroy_usb_class(); destroy_usb_class();
} }
......
...@@ -103,8 +103,7 @@ enum usb_interface_condition { ...@@ -103,8 +103,7 @@ enum usb_interface_condition {
* @condition: binding state of the interface: not bound, binding * @condition: binding state of the interface: not bound, binding
* (in probe()), bound to a driver, or unbinding (in disconnect()) * (in probe()), bound to a driver, or unbinding (in disconnect())
* @dev: driver model's view of this device * @dev: driver model's view of this device
* @usb_dev: if an interface is bound to the USB major, this will point * @class_dev: driver model's class view of this device.
* to the sysfs representation for that device.
* *
* USB device drivers attach to interfaces on a physical device. Each * USB device drivers attach to interfaces on a physical device. Each
* interface encapsulates a single high level function, such as feeding * interface encapsulates a single high level function, such as feeding
...@@ -144,7 +143,7 @@ struct usb_interface { ...@@ -144,7 +143,7 @@ struct usb_interface {
* bound to */ * bound to */
enum usb_interface_condition condition; /* state of binding */ enum usb_interface_condition condition; /* state of binding */
struct device dev; /* interface specific device info */ 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 to_usb_interface(d) container_of(d, struct usb_interface, dev)
#define interface_to_usbdev(intf) \ #define interface_to_usbdev(intf) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment