aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/oxu210hp-hcd.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-05-21 00:26:12 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-05-21 00:26:12 -0400
commit7a9b149212f3716c598afe973b6261fd58453b7a (patch)
tree477716d84c71da124448b72278e98da28aadbd3d /drivers/usb/host/oxu210hp-hcd.c
parent3d62e3fdce8ef265a3706c52ae1ca6ab84e30f0e (diff)
parente26bcf37234c67624f62d9fc95f922b8dbda1363 (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: (229 commits) USB: remove unused usb_buffer_alloc and usb_buffer_free macros usb: musb: update gfp/slab.h includes USB: ftdi_sio: fix legacy SIO-device header USB: kl5usb105: reimplement using generic framework USB: kl5usb105: minor clean ups USB: kl5usb105: fix memory leak USB: io_ti: use kfifo to implement write buffering USB: io_ti: remove unsused private counter USB: ti_usb: use kfifo to implement write buffering USB: ir-usb: fix incorrect write-buffer length USB: aircable: fix incorrect write-buffer length USB: safe_serial: straighten out read processing USB: safe_serial: reimplement read using generic framework USB: safe_serial: reimplement write using generic framework usb-storage: always print quirks USB: usb-storage: trivial debug improvements USB: oti6858: use port write fifo USB: oti6858: use kfifo to implement write buffering USB: cypress_m8: use kfifo to implement write buffering USB: cypress_m8: remove unused drain define ... Fix up conflicts (due to usb_buffer_alloc/free renaming) in drivers/input/tablet/acecad.c drivers/input/tablet/kbtab.c drivers/input/tablet/wacom_sys.c drivers/media/video/gspca/gspca.c sound/usb/usbaudio.c
Diffstat (limited to 'drivers/usb/host/oxu210hp-hcd.c')
-rw-r--r--drivers/usb/host/oxu210hp-hcd.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/drivers/usb/host/oxu210hp-hcd.c b/drivers/usb/host/oxu210hp-hcd.c
index e62b30b3e429..f608dfd09a8a 100644
--- a/drivers/usb/host/oxu210hp-hcd.c
+++ b/drivers/usb/host/oxu210hp-hcd.c
@@ -34,12 +34,11 @@
34#include <linux/list.h> 34#include <linux/list.h>
35#include <linux/interrupt.h> 35#include <linux/interrupt.h>
36#include <linux/usb.h> 36#include <linux/usb.h>
37#include <linux/usb/hcd.h>
37#include <linux/moduleparam.h> 38#include <linux/moduleparam.h>
38#include <linux/dma-mapping.h> 39#include <linux/dma-mapping.h>
39#include <linux/io.h> 40#include <linux/io.h>
40 41
41#include "../core/hcd.h"
42
43#include <asm/irq.h> 42#include <asm/irq.h>
44#include <asm/system.h> 43#include <asm/system.h>
45#include <asm/unaligned.h> 44#include <asm/unaligned.h>
@@ -3154,10 +3153,10 @@ static inline unsigned int oxu_port_speed(struct oxu_hcd *oxu,
3154 case 0: 3153 case 0:
3155 return 0; 3154 return 0;
3156 case 1: 3155 case 1:
3157 return 1 << USB_PORT_FEAT_LOWSPEED; 3156 return USB_PORT_STAT_LOW_SPEED;
3158 case 2: 3157 case 2:
3159 default: 3158 default:
3160 return 1 << USB_PORT_FEAT_HIGHSPEED; 3159 return USB_PORT_STAT_HIGH_SPEED;
3161 } 3160 }
3162} 3161}
3163 3162
@@ -3202,7 +3201,7 @@ static int oxu_hub_control(struct usb_hcd *hcd, u16 typeReq,
3202 * Even if OWNER is set, so the port is owned by the 3201 * Even if OWNER is set, so the port is owned by the
3203 * companion controller, khubd needs to be able to clear 3202 * companion controller, khubd needs to be able to clear
3204 * the port-change status bits (especially 3203 * the port-change status bits (especially
3205 * USB_PORT_FEAT_C_CONNECTION). 3204 * USB_PORT_STAT_C_CONNECTION).
3206 */ 3205 */
3207 3206
3208 switch (wValue) { 3207 switch (wValue) {
@@ -3264,11 +3263,11 @@ static int oxu_hub_control(struct usb_hcd *hcd, u16 typeReq,
3264 3263
3265 /* wPortChange bits */ 3264 /* wPortChange bits */
3266 if (temp & PORT_CSC) 3265 if (temp & PORT_CSC)
3267 status |= 1 << USB_PORT_FEAT_C_CONNECTION; 3266 status |= USB_PORT_STAT_C_CONNECTION << 16;
3268 if (temp & PORT_PEC) 3267 if (temp & PORT_PEC)
3269 status |= 1 << USB_PORT_FEAT_C_ENABLE; 3268 status |= USB_PORT_STAT_C_ENABLE << 16;
3270 if ((temp & PORT_OCC) && !ignore_oc) 3269 if ((temp & PORT_OCC) && !ignore_oc)
3271 status |= 1 << USB_PORT_FEAT_C_OVER_CURRENT; 3270 status |= USB_PORT_STAT_C_OVERCURRENT << 16;
3272 3271
3273 /* whoever resumes must GetPortStatus to complete it!! */ 3272 /* whoever resumes must GetPortStatus to complete it!! */
3274 if (temp & PORT_RESUME) { 3273 if (temp & PORT_RESUME) {
@@ -3286,7 +3285,7 @@ static int oxu_hub_control(struct usb_hcd *hcd, u16 typeReq,
3286 /* resume completed? */ 3285 /* resume completed? */
3287 else if (time_after_eq(jiffies, 3286 else if (time_after_eq(jiffies,
3288 oxu->reset_done[wIndex])) { 3287 oxu->reset_done[wIndex])) {
3289 status |= 1 << USB_PORT_FEAT_C_SUSPEND; 3288 status |= USB_PORT_STAT_C_SUSPEND << 16;
3290 oxu->reset_done[wIndex] = 0; 3289 oxu->reset_done[wIndex] = 0;
3291 3290
3292 /* stop resume signaling */ 3291 /* stop resume signaling */
@@ -3309,7 +3308,7 @@ static int oxu_hub_control(struct usb_hcd *hcd, u16 typeReq,
3309 if ((temp & PORT_RESET) 3308 if ((temp & PORT_RESET)
3310 && time_after_eq(jiffies, 3309 && time_after_eq(jiffies,
3311 oxu->reset_done[wIndex])) { 3310 oxu->reset_done[wIndex])) {
3312 status |= 1 << USB_PORT_FEAT_C_RESET; 3311 status |= USB_PORT_STAT_C_RESET << 16;
3313 oxu->reset_done[wIndex] = 0; 3312 oxu->reset_done[wIndex] = 0;
3314 3313
3315 /* force reset to complete */ 3314 /* force reset to complete */
@@ -3348,20 +3347,20 @@ static int oxu_hub_control(struct usb_hcd *hcd, u16 typeReq,
3348 */ 3347 */
3349 3348
3350 if (temp & PORT_CONNECT) { 3349 if (temp & PORT_CONNECT) {
3351 status |= 1 << USB_PORT_FEAT_CONNECTION; 3350 status |= USB_PORT_STAT_CONNECTION;
3352 /* status may be from integrated TT */ 3351 /* status may be from integrated TT */
3353 status |= oxu_port_speed(oxu, temp); 3352 status |= oxu_port_speed(oxu, temp);
3354 } 3353 }
3355 if (temp & PORT_PE) 3354 if (temp & PORT_PE)
3356 status |= 1 << USB_PORT_FEAT_ENABLE; 3355 status |= USB_PORT_STAT_ENABLE;
3357 if (temp & (PORT_SUSPEND|PORT_RESUME)) 3356 if (temp & (PORT_SUSPEND|PORT_RESUME))
3358 status |= 1 << USB_PORT_FEAT_SUSPEND; 3357 status |= USB_PORT_STAT_SUSPEND;
3359 if (temp & PORT_OC) 3358 if (temp & PORT_OC)
3360 status |= 1 << USB_PORT_FEAT_OVER_CURRENT; 3359 status |= USB_PORT_STAT_OVERCURRENT;
3361 if (temp & PORT_RESET) 3360 if (temp & PORT_RESET)
3362 status |= 1 << USB_PORT_FEAT_RESET; 3361 status |= USB_PORT_STAT_RESET;
3363 if (temp & PORT_POWER) 3362 if (temp & PORT_POWER)
3364 status |= 1 << USB_PORT_FEAT_POWER; 3363 status |= USB_PORT_STAT_POWER;
3365 3364
3366#ifndef OXU_VERBOSE_DEBUG 3365#ifndef OXU_VERBOSE_DEBUG
3367 if (status & ~0xffff) /* only if wPortChange is interesting */ 3366 if (status & ~0xffff) /* only if wPortChange is interesting */