diff options
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/core/usb.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c index 7eee400d3e32..5f6873f5f268 100644 --- a/drivers/usb/core/usb.c +++ b/drivers/usb/core/usb.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/usb.h> | 34 | #include <linux/usb.h> |
35 | #include <linux/mutex.h> | 35 | #include <linux/mutex.h> |
36 | #include <linux/workqueue.h> | 36 | #include <linux/workqueue.h> |
37 | #include <linux/debugfs.h> | ||
37 | 38 | ||
38 | #include <asm/io.h> | 39 | #include <asm/io.h> |
39 | #include <linux/scatterlist.h> | 40 | #include <linux/scatterlist.h> |
@@ -1001,6 +1002,22 @@ static struct notifier_block usb_bus_nb = { | |||
1001 | .notifier_call = usb_bus_notify, | 1002 | .notifier_call = usb_bus_notify, |
1002 | }; | 1003 | }; |
1003 | 1004 | ||
1005 | struct dentry *usb_debug_root; | ||
1006 | EXPORT_SYMBOL_GPL(usb_debug_root); | ||
1007 | |||
1008 | static int usb_debugfs_init(void) | ||
1009 | { | ||
1010 | usb_debug_root = debugfs_create_dir("usb", NULL); | ||
1011 | if (!usb_debug_root) | ||
1012 | return -ENOENT; | ||
1013 | return 0; | ||
1014 | } | ||
1015 | |||
1016 | static void usb_debugfs_cleanup(void) | ||
1017 | { | ||
1018 | debugfs_remove(usb_debug_root); | ||
1019 | } | ||
1020 | |||
1004 | /* | 1021 | /* |
1005 | * Init | 1022 | * Init |
1006 | */ | 1023 | */ |
@@ -1012,6 +1029,10 @@ static int __init usb_init(void) | |||
1012 | return 0; | 1029 | return 0; |
1013 | } | 1030 | } |
1014 | 1031 | ||
1032 | retval = usb_debugfs_init(); | ||
1033 | if (retval) | ||
1034 | goto out; | ||
1035 | |||
1015 | retval = ksuspend_usb_init(); | 1036 | retval = ksuspend_usb_init(); |
1016 | if (retval) | 1037 | if (retval) |
1017 | goto out; | 1038 | goto out; |
@@ -1083,6 +1104,7 @@ static void __exit usb_exit(void) | |||
1083 | bus_unregister_notifier(&usb_bus_type, &usb_bus_nb); | 1104 | bus_unregister_notifier(&usb_bus_type, &usb_bus_nb); |
1084 | bus_unregister(&usb_bus_type); | 1105 | bus_unregister(&usb_bus_type); |
1085 | ksuspend_usb_cleanup(); | 1106 | ksuspend_usb_cleanup(); |
1107 | usb_debugfs_cleanup(); | ||
1086 | } | 1108 | } |
1087 | 1109 | ||
1088 | subsys_initcall(usb_init); | 1110 | subsys_initcall(usb_init); |