usb/endpoint: Set release callback in the struct device_type instead of in the device...
authorLan Tianyu <tianyu.lan@intel.com>
Fri, 17 Aug 2012 08:44:55 +0000 (16:44 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Aug 2012 21:38:08 +0000 (14:38 -0700)
For following the way the rest of the usb core does, this patch is to change
the place of setting release callback.

Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/endpoint.c

index db7fe50c23d4df96a90faddf880507ccfdd55d26..68cc6532e7492ee4293708ab8db9cd6e257e5e51 100644 (file)
@@ -24,10 +24,6 @@ struct ep_device {
 #define to_ep_device(_dev) \
        container_of(_dev, struct ep_device, dev)
 
-struct device_type usb_ep_device_type = {
-       .name =         "usb_endpoint",
-};
-
 struct ep_attribute {
        struct attribute attr;
        ssize_t (*show)(struct usb_device *,
@@ -172,6 +168,11 @@ static void ep_device_release(struct device *dev)
        kfree(ep_dev);
 }
 
+struct device_type usb_ep_device_type = {
+       .name =         "usb_endpoint",
+       .release = ep_device_release,
+};
+
 int usb_create_ep_devs(struct device *parent,
                        struct usb_host_endpoint *endpoint,
                        struct usb_device *udev)
@@ -190,7 +191,6 @@ int usb_create_ep_devs(struct device *parent,
        ep_dev->dev.groups = ep_dev_groups;
        ep_dev->dev.type = &usb_ep_device_type;
        ep_dev->dev.parent = parent;
-       ep_dev->dev.release = ep_device_release;
        dev_set_name(&ep_dev->dev, "ep_%02x", endpoint->desc.bEndpointAddress);
 
        retval = device_register(&ep_dev->dev);