diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-02-01 22:28:57 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-02-01 22:28:57 -0500 |
commit | b6cf160c4b788a31f6a4017a469b956ca77febf4 (patch) | |
tree | d4d525000e283fe08905385d91dd0170454eae9a /drivers/usb/host/ohci-hcd.c | |
parent | ed50d6cbc394cd0966469d3e249353c9dd1d38b9 (diff) | |
parent | 2c044a4803804708984931bcbd03314732e995d5 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (128 commits)
USB: fix codingstyle issues in drivers/usb/core/*.c
USB: fix codingstyle issues in drivers/usb/core/message.c
USB: fix codingstyle issues in drivers/usb/core/hcd-pci.c
USB: fix codingstyle issues in drivers/usb/core/devio.c
USB: fix codingstyle issues in drivers/usb/core/devices.c
USB: fix codingstyle issues in drivers/usb/core/*.h
USB: fix codingstyle issues in include/linux/usb/
USB: fix codingstyle issues in include/linux/usb.h
USB: mark USB drivers as being GPL only
USB: use a real vendor and product id for root hubs
USB: mount options: fix usbfs
USB: Fix usb_serial_driver structure for Kobil cardreader driver.
usb: ehci should use u16 for isochronous intervals
usb: ehci, remove false clear-reset path
USB: Use menuconfig objects
usb: ohci-sm501 driver
usb: dma bounce buffer support
USB: last abuses of intfdata in close for usb-serial drivers
USB: kl5kusb105 don't flush to logically disconnected devices
USB: oti6858: cleanup
...
Diffstat (limited to 'drivers/usb/host/ohci-hcd.c')
-rw-r--r-- | drivers/usb/host/ohci-hcd.c | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index ddd4ee1f2413..dd4798ee028e 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <linux/dmapool.h> | 36 | #include <linux/dmapool.h> |
37 | #include <linux/reboot.h> | 37 | #include <linux/reboot.h> |
38 | #include <linux/workqueue.h> | 38 | #include <linux/workqueue.h> |
39 | #include <linux/debugfs.h> | ||
39 | 40 | ||
40 | #include <asm/io.h> | 41 | #include <asm/io.h> |
41 | #include <asm/irq.h> | 42 | #include <asm/irq.h> |
@@ -809,13 +810,9 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd) | |||
809 | } | 810 | } |
810 | 811 | ||
811 | if (ints & OHCI_INTR_WDH) { | 812 | if (ints & OHCI_INTR_WDH) { |
812 | if (HC_IS_RUNNING(hcd->state)) | ||
813 | ohci_writel (ohci, OHCI_INTR_WDH, ®s->intrdisable); | ||
814 | spin_lock (&ohci->lock); | 813 | spin_lock (&ohci->lock); |
815 | dl_done_list (ohci); | 814 | dl_done_list (ohci); |
816 | spin_unlock (&ohci->lock); | 815 | spin_unlock (&ohci->lock); |
817 | if (HC_IS_RUNNING(hcd->state)) | ||
818 | ohci_writel (ohci, OHCI_INTR_WDH, ®s->intrenable); | ||
819 | } | 816 | } |
820 | 817 | ||
821 | if (quirk_zfmicro(ohci) && (ints & OHCI_INTR_SF)) { | 818 | if (quirk_zfmicro(ohci) && (ints & OHCI_INTR_SF)) { |
@@ -1032,6 +1029,13 @@ MODULE_LICENSE ("GPL"); | |||
1032 | #define PLATFORM_DRIVER usb_hcd_pnx4008_driver | 1029 | #define PLATFORM_DRIVER usb_hcd_pnx4008_driver |
1033 | #endif | 1030 | #endif |
1034 | 1031 | ||
1032 | #if defined(CONFIG_CPU_SUBTYPE_SH7720) || \ | ||
1033 | defined(CONFIG_CPU_SUBTYPE_SH7721) || \ | ||
1034 | defined(CONFIG_CPU_SUBTYPE_SH7763) | ||
1035 | #include "ohci-sh.c" | ||
1036 | #define PLATFORM_DRIVER ohci_hcd_sh_driver | ||
1037 | #endif | ||
1038 | |||
1035 | 1039 | ||
1036 | #ifdef CONFIG_USB_OHCI_HCD_PPC_OF | 1040 | #ifdef CONFIG_USB_OHCI_HCD_PPC_OF |
1037 | #include "ohci-ppc-of.c" | 1041 | #include "ohci-ppc-of.c" |
@@ -1048,6 +1052,11 @@ MODULE_LICENSE ("GPL"); | |||
1048 | #define SSB_OHCI_DRIVER ssb_ohci_driver | 1052 | #define SSB_OHCI_DRIVER ssb_ohci_driver |
1049 | #endif | 1053 | #endif |
1050 | 1054 | ||
1055 | #ifdef CONFIG_MFD_SM501 | ||
1056 | #include "ohci-sm501.c" | ||
1057 | #define PLATFORM_DRIVER ohci_hcd_sm501_driver | ||
1058 | #endif | ||
1059 | |||
1051 | #if !defined(PCI_DRIVER) && \ | 1060 | #if !defined(PCI_DRIVER) && \ |
1052 | !defined(PLATFORM_DRIVER) && \ | 1061 | !defined(PLATFORM_DRIVER) && \ |
1053 | !defined(OF_PLATFORM_DRIVER) && \ | 1062 | !defined(OF_PLATFORM_DRIVER) && \ |
@@ -1068,6 +1077,14 @@ static int __init ohci_hcd_mod_init(void) | |||
1068 | pr_debug ("%s: block sizes: ed %Zd td %Zd\n", hcd_name, | 1077 | pr_debug ("%s: block sizes: ed %Zd td %Zd\n", hcd_name, |
1069 | sizeof (struct ed), sizeof (struct td)); | 1078 | sizeof (struct ed), sizeof (struct td)); |
1070 | 1079 | ||
1080 | #ifdef DEBUG | ||
1081 | ohci_debug_root = debugfs_create_dir("ohci", NULL); | ||
1082 | if (!ohci_debug_root) { | ||
1083 | retval = -ENOENT; | ||
1084 | goto error_debug; | ||
1085 | } | ||
1086 | #endif | ||
1087 | |||
1071 | #ifdef PS3_SYSTEM_BUS_DRIVER | 1088 | #ifdef PS3_SYSTEM_BUS_DRIVER |
1072 | retval = ps3_ohci_driver_register(&PS3_SYSTEM_BUS_DRIVER); | 1089 | retval = ps3_ohci_driver_register(&PS3_SYSTEM_BUS_DRIVER); |
1073 | if (retval < 0) | 1090 | if (retval < 0) |
@@ -1130,6 +1147,12 @@ static int __init ohci_hcd_mod_init(void) | |||
1130 | ps3_ohci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); | 1147 | ps3_ohci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); |
1131 | error_ps3: | 1148 | error_ps3: |
1132 | #endif | 1149 | #endif |
1150 | #ifdef DEBUG | ||
1151 | debugfs_remove(ohci_debug_root); | ||
1152 | ohci_debug_root = NULL; | ||
1153 | error_debug: | ||
1154 | #endif | ||
1155 | |||
1133 | return retval; | 1156 | return retval; |
1134 | } | 1157 | } |
1135 | module_init(ohci_hcd_mod_init); | 1158 | module_init(ohci_hcd_mod_init); |
@@ -1154,6 +1177,9 @@ static void __exit ohci_hcd_mod_exit(void) | |||
1154 | #ifdef PS3_SYSTEM_BUS_DRIVER | 1177 | #ifdef PS3_SYSTEM_BUS_DRIVER |
1155 | ps3_ohci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); | 1178 | ps3_ohci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); |
1156 | #endif | 1179 | #endif |
1180 | #ifdef DEBUG | ||
1181 | debugfs_remove(ohci_debug_root); | ||
1182 | #endif | ||
1157 | } | 1183 | } |
1158 | module_exit(ohci_hcd_mod_exit); | 1184 | module_exit(ohci_hcd_mod_exit); |
1159 | 1185 | ||