USB: Turn interface_to_usbdev into an inline function
authorMatthew Wilcox <willy@linux.intel.com>
Fri, 30 Apr 2010 19:11:30 +0000 (13:11 -0600)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 20 May 2010 20:21:41 +0000 (13:21 -0700)
The stronger type-checking would have prevented a bug I had.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/linux/usb.h

index fd7d61e58198b5232c68cc2025e723867a52c107..cf3b289a87a27dd4471f95408b6c284e1b0e3a90 100644 (file)
@@ -184,8 +184,6 @@ struct usb_interface {
        struct work_struct reset_ws;    /* for resets in atomic context */
 };
 #define        to_usb_interface(d) container_of(d, struct usb_interface, dev)
-#define        interface_to_usbdev(intf) \
-       container_of(intf->dev.parent, struct usb_device, dev)
 
 static inline void *usb_get_intfdata(struct usb_interface *intf)
 {
@@ -493,6 +491,11 @@ struct usb_device {
 };
 #define        to_usb_device(d) container_of(d, struct usb_device, dev)
 
+static inline struct usb_device *interface_to_usbdev(struct usb_interface *intf)
+{
+       return to_usb_device(intf->dev.parent);
+}
+
 extern struct usb_device *usb_get_dev(struct usb_device *dev);
 extern void usb_put_dev(struct usb_device *dev);