diff options
| -rw-r--r-- | drivers/usb/core/hub.c | 2 | ||||
| -rw-r--r-- | drivers/usb/host/ehci-hub.c | 24 | ||||
| -rw-r--r-- | drivers/usb/host/isp1362-hcd.c | 2 | ||||
| -rw-r--r-- | drivers/usb/host/isp1760-hcd.c | 18 | ||||
| -rw-r--r-- | drivers/usb/host/oxu210hp-hcd.c | 24 | ||||
| -rw-r--r-- | drivers/usb/host/r8a66597-hcd.c | 30 | ||||
| -rw-r--r-- | drivers/usb/host/sl811-hcd.c | 52 | ||||
| -rw-r--r-- | drivers/usb/host/xhci-hub.c | 16 | ||||
| -rw-r--r-- | drivers/usb/musb/musb_core.c | 7 | ||||
| -rw-r--r-- | drivers/usb/musb/musb_virthub.c | 4 | 
10 files changed, 89 insertions, 90 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 5ac27ed0c63..497dbb29744 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -3037,7 +3037,7 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1,  		/* maybe switch power back on (e.g. root hub was reset) */  		if ((wHubCharacteristics & HUB_CHAR_LPSM) < 2 -				&& !(portstatus & (1 << USB_PORT_FEAT_POWER))) +				&& !(portstatus & USB_PORT_STAT_POWER))  			set_port_feature(hdev, port1, USB_PORT_FEAT_POWER);  		if (portstatus & USB_PORT_STAT_ENABLE) diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c index c7178bcde67..c44018109a1 100644 --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c @@ -659,7 +659,7 @@ static int ehci_hub_control (  		 * Even if OWNER is set, so the port is owned by the  		 * companion controller, khubd needs to be able to clear  		 * the port-change status bits (especially -		 * USB_PORT_FEAT_C_CONNECTION). +		 * USB_PORT_STAT_C_CONNECTION).  		 */  		switch (wValue) { @@ -729,12 +729,12 @@ static int ehci_hub_control (  		// wPortChange bits  		if (temp & PORT_CSC) -			status |= 1 << USB_PORT_FEAT_C_CONNECTION; +			status |= USB_PORT_STAT_C_CONNECTION << 16;  		if (temp & PORT_PEC) -			status |= 1 << USB_PORT_FEAT_C_ENABLE; +			status |= USB_PORT_STAT_C_ENABLE << 16;  		if ((temp & PORT_OCC) && !ignore_oc){ -			status |= 1 << USB_PORT_FEAT_C_OVER_CURRENT; +			status |= USB_PORT_STAT_C_OVERCURRENT << 16;  			/*  			 * Hubs should disable port power on over-current. @@ -791,7 +791,7 @@ static int ehci_hub_control (  		if ((temp & PORT_RESET)  				&& time_after_eq(jiffies,  					ehci->reset_done[wIndex])) { -			status |= 1 << USB_PORT_FEAT_C_RESET; +			status |= USB_PORT_STAT_C_RESET << 16;  			ehci->reset_done [wIndex] = 0;  			/* force reset to complete */ @@ -833,7 +833,7 @@ static int ehci_hub_control (  		 */  		if (temp & PORT_CONNECT) { -			status |= 1 << USB_PORT_FEAT_CONNECTION; +			status |= USB_PORT_STAT_CONNECTION;  			// status may be from integrated TT  			if (ehci->has_hostpc) {  				temp1 = ehci_readl(ehci, hostpc_reg); @@ -842,11 +842,11 @@ static int ehci_hub_control (  				status |= ehci_port_speed(ehci, temp);  		}  		if (temp & PORT_PE) -			status |= 1 << USB_PORT_FEAT_ENABLE; +			status |= USB_PORT_STAT_ENABLE;  		/* maybe the port was unsuspended without our knowledge */  		if (temp & (PORT_SUSPEND|PORT_RESUME)) { -			status |= 1 << USB_PORT_FEAT_SUSPEND; +			status |= USB_PORT_STAT_SUSPEND;  		} else if (test_bit(wIndex, &ehci->suspended_ports)) {  			clear_bit(wIndex, &ehci->suspended_ports);  			ehci->reset_done[wIndex] = 0; @@ -855,13 +855,13 @@ static int ehci_hub_control (  		}  		if (temp & PORT_OC) -			status |= 1 << USB_PORT_FEAT_OVER_CURRENT; +			status |= USB_PORT_STAT_OVERCURRENT;  		if (temp & PORT_RESET) -			status |= 1 << USB_PORT_FEAT_RESET; +			status |= USB_PORT_STAT_RESET;  		if (temp & PORT_POWER) -			status |= 1 << USB_PORT_FEAT_POWER; +			status |= USB_PORT_STAT_POWER;  		if (test_bit(wIndex, &ehci->port_c_suspend)) -			status |= 1 << USB_PORT_FEAT_C_SUSPEND; +			status |= USB_PORT_STAT_C_SUSPEND << 16;  #ifndef	VERBOSE_DEBUG  	if (status & ~0xffff)	/* only if wPortChange is interesting */ diff --git a/drivers/usb/host/isp1362-hcd.c b/drivers/usb/host/isp1362-hcd.c index acc157da727..6a6a50849bf 100644 --- a/drivers/usb/host/isp1362-hcd.c +++ b/drivers/usb/host/isp1362-hcd.c @@ -1265,7 +1265,7 @@ static int isp1362_urb_enqueue(struct usb_hcd *hcd,  	/* don't submit to a dead or disabled port */  	if (!((isp1362_hcd->rhport[0] | isp1362_hcd->rhport[1]) & -	      (1 << USB_PORT_FEAT_ENABLE)) || +	      USB_PORT_STAT_ENABLE) ||  	    !HC_IS_RUNNING(hcd->state)) {  		kfree(ep);  		retval = -ENODEV; diff --git a/drivers/usb/host/isp1760-hcd.c b/drivers/usb/host/isp1760-hcd.c index cfdac6da955..13f7d1200bc 100644 --- a/drivers/usb/host/isp1760-hcd.c +++ b/drivers/usb/host/isp1760-hcd.c @@ -1923,7 +1923,7 @@ static int isp1760_hub_control(struct usb_hcd *hcd, u16 typeReq,  		 * Even if OWNER is set, so the port is owned by the  		 * companion controller, khubd needs to be able to clear  		 * the port-change status bits (especially -		 * USB_PORT_FEAT_C_CONNECTION). +		 * USB_PORT_STAT_C_CONNECTION).  		 */  		switch (wValue) { @@ -1987,7 +1987,7 @@ static int isp1760_hub_control(struct usb_hcd *hcd, u16 typeReq,  		/* wPortChange bits */  		if (temp & PORT_CSC) -			status |= 1 << USB_PORT_FEAT_C_CONNECTION; +			status |= USB_PORT_STAT_C_CONNECTION << 16;  		/* whoever resumes must GetPortStatus to complete it!! */ @@ -2007,7 +2007,7 @@ static int isp1760_hub_control(struct usb_hcd *hcd, u16 typeReq,  			/* resume completed? */  			else if (time_after_eq(jiffies,  					priv->reset_done)) { -				status |= 1 << USB_PORT_FEAT_C_SUSPEND; +				status |= USB_PORT_STAT_C_SUSPEND << 16;  				priv->reset_done = 0;  				/* stop resume signaling */ @@ -2031,7 +2031,7 @@ static int isp1760_hub_control(struct usb_hcd *hcd, u16 typeReq,  		if ((temp & PORT_RESET)  				&& time_after_eq(jiffies,  					priv->reset_done)) { -			status |= 1 << USB_PORT_FEAT_C_RESET; +			status |= USB_PORT_STAT_C_RESET << 16;  			priv->reset_done = 0;  			/* force reset to complete */ @@ -2062,18 +2062,18 @@ static int isp1760_hub_control(struct usb_hcd *hcd, u16 typeReq,  			printk(KERN_ERR "Warning: PORT_OWNER is set\n");  		if (temp & PORT_CONNECT) { -			status |= 1 << USB_PORT_FEAT_CONNECTION; +			status |= USB_PORT_STAT_CONNECTION;  			/* status may be from integrated TT */  			status |= ehci_port_speed(priv, temp);  		}  		if (temp & PORT_PE) -			status |= 1 << USB_PORT_FEAT_ENABLE; +			status |= USB_PORT_STAT_ENABLE;  		if (temp & (PORT_SUSPEND|PORT_RESUME)) -			status |= 1 << USB_PORT_FEAT_SUSPEND; +			status |= USB_PORT_STAT_SUSPEND;  		if (temp & PORT_RESET) -			status |= 1 << USB_PORT_FEAT_RESET; +			status |= USB_PORT_STAT_RESET;  		if (temp & PORT_POWER) -			status |= 1 << USB_PORT_FEAT_POWER; +			status |= USB_PORT_STAT_POWER;  		put_unaligned(cpu_to_le32(status), (__le32 *) buf);  		break; diff --git a/drivers/usb/host/oxu210hp-hcd.c b/drivers/usb/host/oxu210hp-hcd.c index 8f04c0afa59..f608dfd09a8 100644 --- a/drivers/usb/host/oxu210hp-hcd.c +++ b/drivers/usb/host/oxu210hp-hcd.c @@ -3201,7 +3201,7 @@ static int oxu_hub_control(struct usb_hcd *hcd, u16 typeReq,  		 * Even if OWNER is set, so the port is owned by the  		 * companion controller, khubd needs to be able to clear  		 * the port-change status bits (especially -		 * USB_PORT_FEAT_C_CONNECTION). +		 * USB_PORT_STAT_C_CONNECTION).  		 */  		switch (wValue) { @@ -3263,11 +3263,11 @@ static int oxu_hub_control(struct usb_hcd *hcd, u16 typeReq,  		/* wPortChange bits */  		if (temp & PORT_CSC) -			status |= 1 << USB_PORT_FEAT_C_CONNECTION; +			status |= USB_PORT_STAT_C_CONNECTION << 16;  		if (temp & PORT_PEC) -			status |= 1 << USB_PORT_FEAT_C_ENABLE; +			status |= USB_PORT_STAT_C_ENABLE << 16;  		if ((temp & PORT_OCC) && !ignore_oc) -			status |= 1 << USB_PORT_FEAT_C_OVER_CURRENT; +			status |= USB_PORT_STAT_C_OVERCURRENT << 16;  		/* whoever resumes must GetPortStatus to complete it!! */  		if (temp & PORT_RESUME) { @@ -3285,7 +3285,7 @@ static int oxu_hub_control(struct usb_hcd *hcd, u16 typeReq,  			/* resume completed? */  			else if (time_after_eq(jiffies,  					oxu->reset_done[wIndex])) { -				status |= 1 << USB_PORT_FEAT_C_SUSPEND; +				status |= USB_PORT_STAT_C_SUSPEND << 16;  				oxu->reset_done[wIndex] = 0;  				/* stop resume signaling */ @@ -3308,7 +3308,7 @@ static int oxu_hub_control(struct usb_hcd *hcd, u16 typeReq,  		if ((temp & PORT_RESET)  				&& time_after_eq(jiffies,  					oxu->reset_done[wIndex])) { -			status |= 1 << USB_PORT_FEAT_C_RESET; +			status |= USB_PORT_STAT_C_RESET << 16;  			oxu->reset_done[wIndex] = 0;  			/* force reset to complete */ @@ -3347,20 +3347,20 @@ static int oxu_hub_control(struct usb_hcd *hcd, u16 typeReq,  		 */  		if (temp & PORT_CONNECT) { -			status |= 1 << USB_PORT_FEAT_CONNECTION; +			status |= USB_PORT_STAT_CONNECTION;  			/* status may be from integrated TT */  			status |= oxu_port_speed(oxu, temp);  		}  		if (temp & PORT_PE) -			status |= 1 << USB_PORT_FEAT_ENABLE; +			status |= USB_PORT_STAT_ENABLE;  		if (temp & (PORT_SUSPEND|PORT_RESUME)) -			status |= 1 << USB_PORT_FEAT_SUSPEND; +			status |= USB_PORT_STAT_SUSPEND;  		if (temp & PORT_OC) -			status |= 1 << USB_PORT_FEAT_OVER_CURRENT; +			status |= USB_PORT_STAT_OVERCURRENT;  		if (temp & PORT_RESET) -			status |= 1 << USB_PORT_FEAT_RESET; +			status |= USB_PORT_STAT_RESET;  		if (temp & PORT_POWER) -			status |= 1 << USB_PORT_FEAT_POWER; +			status |= USB_PORT_STAT_POWER;  #ifndef	OXU_VERBOSE_DEBUG  	if (status & ~0xffff)	/* only if wPortChange is interesting */ diff --git a/drivers/usb/host/r8a66597-hcd.c b/drivers/usb/host/r8a66597-hcd.c index a004a122084..6db57ab6079 100644 --- a/drivers/usb/host/r8a66597-hcd.c +++ b/drivers/usb/host/r8a66597-hcd.c @@ -1018,10 +1018,10 @@ static void start_root_hub_sampling(struct r8a66597 *r8a66597, int port,  	rh->old_syssts = r8a66597_read(r8a66597, get_syssts_reg(port)) & LNST;  	rh->scount = R8A66597_MAX_SAMPLING;  	if (connect) -		rh->port |= 1 << USB_PORT_FEAT_CONNECTION; +		rh->port |= USB_PORT_STAT_CONNECTION;  	else -		rh->port &= ~(1 << USB_PORT_FEAT_CONNECTION); -	rh->port |= 1 << USB_PORT_FEAT_C_CONNECTION; +		rh->port &= ~USB_PORT_STAT_CONNECTION; +	rh->port |= USB_PORT_STAT_C_CONNECTION << 16;  	r8a66597_root_hub_start_polling(r8a66597);  } @@ -1065,8 +1065,8 @@ static void r8a66597_usb_connect(struct r8a66597 *r8a66597, int port)  	else if (speed == LSMODE)  		rh->port |= USB_PORT_STAT_LOW_SPEED; -	rh->port &= ~(1 << USB_PORT_FEAT_RESET); -	rh->port |= 1 << USB_PORT_FEAT_ENABLE; +	rh->port &= USB_PORT_STAT_RESET; +	rh->port |= USB_PORT_STAT_ENABLE;  }  /* this function must be called with interrupt disabled */ @@ -1705,7 +1705,7 @@ static void r8a66597_root_hub_control(struct r8a66597 *r8a66597, int port)  	u16 tmp;  	struct r8a66597_root_hub *rh = &r8a66597->root_hub[port]; -	if (rh->port & (1 << USB_PORT_FEAT_RESET)) { +	if (rh->port & USB_PORT_STAT_RESET) {  		unsigned long dvstctr_reg = get_dvstctr_reg(port);  		tmp = r8a66597_read(r8a66597, dvstctr_reg); @@ -1717,7 +1717,7 @@ static void r8a66597_root_hub_control(struct r8a66597 *r8a66597, int port)  			r8a66597_usb_connect(r8a66597, port);  	} -	if (!(rh->port & (1 << USB_PORT_FEAT_CONNECTION))) { +	if (!(rh->port & USB_PORT_STAT_CONNECTION)) {  		r8a66597_write(r8a66597, ~ATTCH, get_intsts_reg(port));  		r8a66597_bset(r8a66597, ATTCHE, get_intenb_reg(port));  	} @@ -2185,7 +2185,7 @@ static int r8a66597_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,  		switch (wValue) {  		case USB_PORT_FEAT_ENABLE: -			rh->port &= ~(1 << USB_PORT_FEAT_POWER); +			rh->port &= ~USB_PORT_STAT_POWER;  			break;  		case USB_PORT_FEAT_SUSPEND:  			break; @@ -2226,12 +2226,12 @@ static int r8a66597_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,  			break;  		case USB_PORT_FEAT_POWER:  			r8a66597_port_power(r8a66597, port, 1); -			rh->port |= (1 << USB_PORT_FEAT_POWER); +			rh->port |= USB_PORT_STAT_POWER;  			break;  		case USB_PORT_FEAT_RESET: {  			struct r8a66597_device *dev = rh->dev; -			rh->port |= (1 << USB_PORT_FEAT_RESET); +			rh->port |= USB_PORT_STAT_RESET;  			disable_r8a66597_pipe_all(r8a66597, dev);  			free_usb_address(r8a66597, dev, 1); @@ -2269,12 +2269,12 @@ static int r8a66597_bus_suspend(struct usb_hcd *hcd)  		struct r8a66597_root_hub *rh = &r8a66597->root_hub[port];  		unsigned long dvstctr_reg = get_dvstctr_reg(port); -		if (!(rh->port & (1 << USB_PORT_FEAT_ENABLE))) +		if (!(rh->port & USB_PORT_STAT_ENABLE))  			continue;  		dbg("suspend port = %d", port);  		r8a66597_bclr(r8a66597, UACT, dvstctr_reg);	/* suspend */ -		rh->port |= 1 << USB_PORT_FEAT_SUSPEND; +		rh->port |= USB_PORT_STAT_SUSPEND;  		if (rh->dev->udev->do_remote_wakeup) {  			msleep(3);	/* waiting last SOF */ @@ -2300,12 +2300,12 @@ static int r8a66597_bus_resume(struct usb_hcd *hcd)  		struct r8a66597_root_hub *rh = &r8a66597->root_hub[port];  		unsigned long dvstctr_reg = get_dvstctr_reg(port); -		if (!(rh->port & (1 << USB_PORT_FEAT_SUSPEND))) +		if (!(rh->port & USB_PORT_STAT_SUSPEND))  			continue;  		dbg("resume port = %d", port); -		rh->port &= ~(1 << USB_PORT_FEAT_SUSPEND); -		rh->port |= 1 << USB_PORT_FEAT_C_SUSPEND; +		rh->port &= ~USB_PORT_STAT_SUSPEND; +		rh->port |= USB_PORT_STAT_C_SUSPEND < 16;  		r8a66597_mdfy(r8a66597, RESUME, RESUME | UACT, dvstctr_reg);  		msleep(50);  		r8a66597_mdfy(r8a66597, UACT, RESUME | UACT, dvstctr_reg); diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c index dcd7fab7179..bcf9f0e809d 100644 --- a/drivers/usb/host/sl811-hcd.c +++ b/drivers/usb/host/sl811-hcd.c @@ -90,10 +90,10 @@ static void port_power(struct sl811 *sl811, int is_on)  	/* hub is inactive unless the port is powered */  	if (is_on) { -		if (sl811->port1 & (1 << USB_PORT_FEAT_POWER)) +		if (sl811->port1 & USB_PORT_STAT_POWER)  			return; -		sl811->port1 = (1 << USB_PORT_FEAT_POWER); +		sl811->port1 = USB_PORT_STAT_POWER;  		sl811->irq_enable = SL11H_INTMASK_INSRMV;  	} else {  		sl811->port1 = 0; @@ -407,7 +407,7 @@ static struct sl811h_ep	*start(struct sl811 *sl811, u8 bank)  static inline void start_transfer(struct sl811 *sl811)  { -	if (sl811->port1 & (1 << USB_PORT_FEAT_SUSPEND)) +	if (sl811->port1 & USB_PORT_STAT_SUSPEND)  		return;  	if (sl811->active_a == NULL) {  		sl811->active_a = start(sl811, SL811_EP_A(SL811_HOST_BUF)); @@ -721,23 +721,23 @@ retry:  		 * force the reset and make khubd clean up later.  		 */  		if (irqstat & SL11H_INTMASK_RD) -			sl811->port1 &= ~(1 << USB_PORT_FEAT_CONNECTION); +			sl811->port1 &= ~USB_PORT_STAT_CONNECTION;  		else -			sl811->port1 |= 1 << USB_PORT_FEAT_CONNECTION; +			sl811->port1 |= USB_PORT_STAT_CONNECTION; -		sl811->port1 |= 1 << USB_PORT_FEAT_C_CONNECTION; +		sl811->port1 |= USB_PORT_STAT_C_CONNECTION << 16;  	} else if (irqstat & SL11H_INTMASK_RD) { -		if (sl811->port1 & (1 << USB_PORT_FEAT_SUSPEND)) { +		if (sl811->port1 & USB_PORT_STAT_SUSPEND) {  			DBG("wakeup\n"); -			sl811->port1 |= 1 << USB_PORT_FEAT_C_SUSPEND; +			sl811->port1 |= USB_PORT_STAT_C_SUSPEND << 16;  			sl811->stat_wake++;  		} else  			irqstat &= ~SL11H_INTMASK_RD;  	}  	if (irqstat) { -		if (sl811->port1 & (1 << USB_PORT_FEAT_ENABLE)) +		if (sl811->port1 & USB_PORT_STAT_ENABLE)  			start_transfer(sl811);  		ret = IRQ_HANDLED;  		if (retries--) @@ -819,7 +819,7 @@ static int sl811h_urb_enqueue(  	spin_lock_irqsave(&sl811->lock, flags);  	/* don't submit to a dead or disabled port */ -	if (!(sl811->port1 & (1 << USB_PORT_FEAT_ENABLE)) +	if (!(sl811->port1 & USB_PORT_STAT_ENABLE)  			|| !HC_IS_RUNNING(hcd->state)) {  		retval = -ENODEV;  		kfree(ep); @@ -1119,8 +1119,8 @@ sl811h_timer(unsigned long _sl811)  	unsigned long	flags;  	u8		irqstat;  	u8		signaling = sl811->ctrl1 & SL11H_CTL1MASK_FORCE; -	const u32	mask = (1 << USB_PORT_FEAT_CONNECTION) -				| (1 << USB_PORT_FEAT_ENABLE) +	const u32	mask = USB_PORT_STAT_CONNECTION +				| USB_PORT_STAT_ENABLE  				| USB_PORT_STAT_LOW_SPEED;  	spin_lock_irqsave(&sl811->lock, flags); @@ -1135,8 +1135,8 @@ sl811h_timer(unsigned long _sl811)  	switch (signaling) {  	case SL11H_CTL1MASK_SE0:  		DBG("end reset\n"); -		sl811->port1 = (1 << USB_PORT_FEAT_C_RESET) -				| (1 << USB_PORT_FEAT_POWER); +		sl811->port1 = (USB_PORT_STAT_C_RESET << 16) +				 | USB_PORT_STAT_POWER;  		sl811->ctrl1 = 0;  		/* don't wrongly ack RD */  		if (irqstat & SL11H_INTMASK_INSRMV) @@ -1144,7 +1144,7 @@ sl811h_timer(unsigned long _sl811)  		break;  	case SL11H_CTL1MASK_K:  		DBG("end resume\n"); -		sl811->port1 &= ~(1 << USB_PORT_FEAT_SUSPEND); +		sl811->port1 &= ~USB_PORT_STAT_SUSPEND;  		break;  	default:  		DBG("odd timer signaling: %02x\n", signaling); @@ -1154,9 +1154,9 @@ sl811h_timer(unsigned long _sl811)  	if (irqstat & SL11H_INTMASK_RD) {  		/* usbcore nukes all pending transactions on disconnect */ -		if (sl811->port1 & (1 << USB_PORT_FEAT_CONNECTION)) -			sl811->port1 |= (1 << USB_PORT_FEAT_C_CONNECTION) -					| (1 << USB_PORT_FEAT_C_ENABLE); +		if (sl811->port1 & USB_PORT_STAT_CONNECTION) +			sl811->port1 |= (USB_PORT_STAT_C_CONNECTION << 16) +					| (USB_PORT_STAT_C_ENABLE << 16);  		sl811->port1 &= ~mask;  		sl811->irq_enable = SL11H_INTMASK_INSRMV;  	} else { @@ -1166,7 +1166,7 @@ sl811h_timer(unsigned long _sl811)  		sl811->irq_enable = SL11H_INTMASK_INSRMV | SL11H_INTMASK_RD;  	} -	if (sl811->port1 & (1 << USB_PORT_FEAT_CONNECTION)) { +	if (sl811->port1 & USB_PORT_STAT_CONNECTION) {  		u8	ctrl2 = SL811HS_CTL2_INIT;  		sl811->irq_enable |= SL11H_INTMASK_DONE_A; @@ -1233,7 +1233,7 @@ sl811h_hub_control(  		switch (wValue) {  		case USB_PORT_FEAT_ENABLE: -			sl811->port1 &= (1 << USB_PORT_FEAT_POWER); +			sl811->port1 &= USB_PORT_STAT_POWER;  			sl811->ctrl1 = 0;  			sl811_write(sl811, SL11H_CTLREG1, sl811->ctrl1);  			sl811->irq_enable = SL11H_INTMASK_INSRMV; @@ -1241,7 +1241,7 @@ sl811h_hub_control(  						sl811->irq_enable);  			break;  		case USB_PORT_FEAT_SUSPEND: -			if (!(sl811->port1 & (1 << USB_PORT_FEAT_SUSPEND))) +			if (!(sl811->port1 & USB_PORT_STAT_SUSPEND))  				break;  			/* 20 msec of resume/K signaling, other irqs blocked */ @@ -1290,9 +1290,9 @@ sl811h_hub_control(  			goto error;  		switch (wValue) {  		case USB_PORT_FEAT_SUSPEND: -			if (sl811->port1 & (1 << USB_PORT_FEAT_RESET)) +			if (sl811->port1 & USB_PORT_STAT_RESET)  				goto error; -			if (!(sl811->port1 & (1 << USB_PORT_FEAT_ENABLE))) +			if (!(sl811->port1 & USB_PORT_STAT_ENABLE))  				goto error;  			DBG("suspend...\n"); @@ -1303,9 +1303,9 @@ sl811h_hub_control(  			port_power(sl811, 1);  			break;  		case USB_PORT_FEAT_RESET: -			if (sl811->port1 & (1 << USB_PORT_FEAT_SUSPEND)) +			if (sl811->port1 & USB_PORT_STAT_SUSPEND)  				goto error; -			if (!(sl811->port1 & (1 << USB_PORT_FEAT_POWER))) +			if (!(sl811->port1 & USB_PORT_STAT_POWER))  				break;  			/* 50 msec of reset/SE0 signaling, irqs blocked */ @@ -1314,7 +1314,7 @@ sl811h_hub_control(  						sl811->irq_enable);  			sl811->ctrl1 = SL11H_CTL1MASK_SE0;  			sl811_write(sl811, SL11H_CTLREG1, sl811->ctrl1); -			sl811->port1 |= (1 << USB_PORT_FEAT_RESET); +			sl811->port1 |= USB_PORT_STAT_RESET;  			mod_timer(&sl811->timer, jiffies  					+ msecs_to_jiffies(50));  			break; diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c index dd69df1e455..325b47a267b 100644 --- a/drivers/usb/host/xhci-hub.c +++ b/drivers/usb/host/xhci-hub.c @@ -205,27 +205,27 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,  		/* wPortChange bits */  		if (temp & PORT_CSC) -			status |= 1 << USB_PORT_FEAT_C_CONNECTION; +			status |= USB_PORT_STAT_C_CONNECTION << 16;  		if (temp & PORT_PEC) -			status |= 1 << USB_PORT_FEAT_C_ENABLE; +			status |= USB_PORT_STAT_C_ENABLE << 16;  		if ((temp & PORT_OCC)) -			status |= 1 << USB_PORT_FEAT_C_OVER_CURRENT; +			status |= USB_PORT_STAT_C_OVERCURRENT << 16;  		/*  		 * FIXME ignoring suspend, reset, and USB 2.1/3.0 specific  		 * changes  		 */  		if (temp & PORT_CONNECT) { -			status |= 1 << USB_PORT_FEAT_CONNECTION; +			status |= USB_PORT_STAT_CONNECTION;  			status |= xhci_port_speed(temp);  		}  		if (temp & PORT_PE) -			status |= 1 << USB_PORT_FEAT_ENABLE; +			status |= USB_PORT_STAT_ENABLE;  		if (temp & PORT_OC) -			status |= 1 << USB_PORT_FEAT_OVER_CURRENT; +			status |= USB_PORT_STAT_OVERCURRENT;  		if (temp & PORT_RESET) -			status |= 1 << USB_PORT_FEAT_RESET; +			status |= USB_PORT_STAT_RESET;  		if (temp & PORT_POWER) -			status |= 1 << USB_PORT_FEAT_POWER; +			status |= USB_PORT_STAT_POWER;  		xhci_dbg(xhci, "Get port status returned 0x%x\n", status);  		put_unaligned(cpu_to_le32(status), (__le32 *) buf);  		break; diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index 705cc4ad873..ced6d9ea9af 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -353,8 +353,7 @@ void musb_hnp_stop(struct musb *musb)  	 * which cause occasional OPT A "Did not receive reset after connect"  	 * errors.  	 */ -	musb->port1_status &= -		~(1 << USB_PORT_FEAT_C_CONNECTION); +	musb->port1_status &= ~(USB_PORT_STAT_C_CONNECTION << 16);  }  #endif @@ -530,8 +529,8 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb,  				musb_writeb(mbase, MUSB_DEVCTL, devctl);  			} else {  				musb->port1_status |= -					  (1 << USB_PORT_FEAT_OVER_CURRENT) -					| (1 << USB_PORT_FEAT_C_OVER_CURRENT); +					  USB_PORT_STAT_OVERCURRENT +					| (USB_PORT_STAT_C_OVERCURRENT << 16);  			}  			break;  		default: diff --git a/drivers/usb/musb/musb_virthub.c b/drivers/usb/musb/musb_virthub.c index 7775e1c0a21..92e85e027cf 100644 --- a/drivers/usb/musb/musb_virthub.c +++ b/drivers/usb/musb/musb_virthub.c @@ -183,8 +183,8 @@ static void musb_port_reset(struct musb *musb, bool do_reset)  void musb_root_disconnect(struct musb *musb)  { -	musb->port1_status = (1 << USB_PORT_FEAT_POWER) -			| (1 << USB_PORT_FEAT_C_CONNECTION); +	musb->port1_status = USB_PORT_STAT_POWER +			| (USB_PORT_STAT_C_CONNECTION << 16);  	usb_hcd_poll_rh_status(musb_to_hcd(musb));  	musb->is_active = 0;  |