From: Greg Kroah-Hartman <[EMAIL PROTECTED]>

This moves the usb class devices that control the usbfs nodes to show up
in the proper place in the larger device tree.

Cc: Kay Sievers <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
 drivers/usb/core/devio.c |   24 ++++++++++++------------
 include/linux/usb.h      |    2 +-
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
index 4b3a6ab..74be846 100644
--- a/drivers/usb/core/devio.c
+++ b/drivers/usb/core/devio.c
@@ -522,19 +522,19 @@ static int check_ctrlrecip(struct dev_state *ps, unsigned 
int requesttype, unsig
 
 static struct usb_device *usbdev_lookup_minor(int minor)
 {
-       struct class_device *class_dev;
-       struct usb_device *dev = NULL;
+       struct device *device;
+       struct usb_device *udev = NULL;
 
        down(&usb_device_class->sem);
-       list_for_each_entry(class_dev, &usb_device_class->children, node) {
-               if (class_dev->devt == MKDEV(USB_DEVICE_MAJOR, minor)) {
-                       dev = class_dev->class_data;
+       list_for_each_entry(device, &usb_device_class->devices, node) {
+               if (device->devt == MKDEV(USB_DEVICE_MAJOR, minor)) {
+                       udev = device->platform_data;
                        break;
                }
        }
        up(&usb_device_class->sem);
 
-       return dev;
+       return udev;
 };
 
 /*
@@ -1596,19 +1596,19 @@ static int usbdev_add(struct usb_device *dev)
 {
        int minor = ((dev->bus->busnum-1) * 128) + (dev->devnum-1);
 
-       dev->class_dev = class_device_create(usb_device_class, NULL,
-                               MKDEV(USB_DEVICE_MAJOR, minor), &dev->dev,
+       dev->usbfs_dev = device_create(usb_device_class, &dev->dev,
+                               MKDEV(USB_DEVICE_MAJOR, minor),
                                "usbdev%d.%d", dev->bus->busnum, dev->devnum);
-       if (IS_ERR(dev->class_dev))
-               return PTR_ERR(dev->class_dev);
+       if (IS_ERR(dev->usbfs_dev))
+               return PTR_ERR(dev->usbfs_dev);
 
-       dev->class_dev->class_data = dev;
+       dev->usbfs_dev->platform_data = dev;
        return 0;
 }
 
 static void usbdev_remove(struct usb_device *dev)
 {
-       class_device_unregister(dev->class_dev);
+       device_unregister(dev->usbfs_dev);
 }
 
 static int usbdev_notify(struct notifier_block *self, unsigned long action,
diff --git a/include/linux/usb.h b/include/linux/usb.h
index aab5b1b..f18ced0 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -372,7 +372,7 @@ struct usb_device {
        char *serial;                   /* iSerialNumber string, if present */
 
        struct list_head filelist;
-       struct class_device *class_dev;
+       struct device *usbfs_dev;
        struct dentry *usbfs_dentry;    /* usbfs dentry entry for the device */
 
        /*
-- 
1.4.4.4


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to