Commit cae74b30 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

Revert "[PATCH] USB: move usb_device_class class devices to be real devices"

This reverts c182274f 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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 27fb4f0a
...@@ -517,19 +517,19 @@ static int check_ctrlrecip(struct dev_state *ps, unsigned int requesttype, unsig ...@@ -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) ...@@ -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 { ...@@ -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 */
/* /*
......
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