Revert "[PATCH] USB: move usb_device_class class devices to be real devices"
This reverts c182274ffe
commit because it
required a newer version of udev to work properly than what is currently
documented in Documentation/Changes.
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
27fb4f0a7f
commit
cae74b30dd
|
@ -517,19 +517,19 @@ static int check_ctrlrecip(struct dev_state *ps, unsigned int requesttype, unsig
|
||||||
|
|
||||||
static struct usb_device *usbdev_lookup_minor(int minor)
|
static struct usb_device *usbdev_lookup_minor(int minor)
|
||||||
{
|
{
|
||||||
struct device *device;
|
struct class_device *class_dev;
|
||||||
struct usb_device *udev = NULL;
|
struct usb_device *dev = NULL;
|
||||||
|
|
||||||
down(&usb_device_class->sem);
|
down(&usb_device_class->sem);
|
||||||
list_for_each_entry(device, &usb_device_class->devices, node) {
|
list_for_each_entry(class_dev, &usb_device_class->children, node) {
|
||||||
if (device->devt == MKDEV(USB_DEVICE_MAJOR, minor)) {
|
if (class_dev->devt == MKDEV(USB_DEVICE_MAJOR, minor)) {
|
||||||
udev = device->platform_data;
|
dev = class_dev->class_data;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
up(&usb_device_class->sem);
|
up(&usb_device_class->sem);
|
||||||
|
|
||||||
return udev;
|
return dev;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1580,16 +1580,16 @@ static void usbdev_add(struct usb_device *dev)
|
||||||
{
|
{
|
||||||
int minor = ((dev->bus->busnum-1) * 128) + (dev->devnum-1);
|
int minor = ((dev->bus->busnum-1) * 128) + (dev->devnum-1);
|
||||||
|
|
||||||
dev->usbfs_dev = device_create(usb_device_class, &dev->dev,
|
dev->class_dev = class_device_create(usb_device_class, NULL,
|
||||||
MKDEV(USB_DEVICE_MAJOR, minor),
|
MKDEV(USB_DEVICE_MAJOR, minor), &dev->dev,
|
||||||
"usbdev%d.%d", dev->bus->busnum, dev->devnum);
|
"usbdev%d.%d", dev->bus->busnum, dev->devnum);
|
||||||
|
|
||||||
dev->usbfs_dev->platform_data = dev;
|
dev->class_dev->class_data = dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void usbdev_remove(struct usb_device *dev)
|
static void usbdev_remove(struct usb_device *dev)
|
||||||
{
|
{
|
||||||
device_unregister(dev->usbfs_dev);
|
class_device_unregister(dev->class_dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int usbdev_notify(struct notifier_block *self, unsigned long action,
|
static int usbdev_notify(struct notifier_block *self, unsigned long action,
|
||||||
|
|
|
@ -360,7 +360,7 @@ struct usb_device {
|
||||||
char *serial; /* iSerialNumber string, if present */
|
char *serial; /* iSerialNumber string, if present */
|
||||||
|
|
||||||
struct list_head filelist;
|
struct list_head filelist;
|
||||||
struct device *usbfs_dev;
|
struct class_device *class_dev;
|
||||||
struct dentry *usbfs_dentry; /* usbfs dentry entry for the device */
|
struct dentry *usbfs_dentry; /* usbfs dentry entry for the device */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue