mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 08:26:59 +00:00
Revert "[PATCH] USB: convert usb class devices to real devices"
This reverts bd00949647
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>
This commit is contained in:
parent
f443ddf105
commit
27fb4f0a7f
2 changed files with 9 additions and 9 deletions
|
@ -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,
|
||||||
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 {
|
||||||
* @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 {
|
||||||
* 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) \
|
||||||
|
|
Loading…
Reference in a new issue