summaryrefslogtreecommitdiffstats
path: root/include/linux/usb.h
diff options
context:
space:
mode:
authorMatthew Wilcox <willy@linux.intel.com>2010-04-30 13:11:30 -0600
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-20 13:21:41 -0700
commit1e429018b646bdf903554e92ead1cda96cc552dc (patch)
treee57fdbc9e823d5b06659ceae6ce9850c6ab3be91 /include/linux/usb.h
parentfe54b058de9d1df5fef9e2a559651f4b7c9f04b1 (diff)
USB: Turn interface_to_usbdev into an inline function
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>
Diffstat (limited to 'include/linux/usb.h')
-rw-r--r--include/linux/usb.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h
index fd7d61e5819..cf3b289a87a 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -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);