diff options
Diffstat (limited to 'drivers/usb/chipidea')
| -rw-r--r-- | drivers/usb/chipidea/ci.h | 1 | ||||
| -rw-r--r-- | drivers/usb/chipidea/udc.c | 39 | 
2 files changed, 1 insertions, 39 deletions
diff --git a/drivers/usb/chipidea/ci.h b/drivers/usb/chipidea/ci.h index e25d1263da1..d738603a275 100644 --- a/drivers/usb/chipidea/ci.h +++ b/drivers/usb/chipidea/ci.h @@ -139,7 +139,6 @@ struct ci13xxx {  	enum ci_role			role;  	bool				is_otg;  	struct work_struct		work; -	struct work_struct		vbus_work;  	struct workqueue_struct		*wq;  	struct dma_pool			*qh_pool; diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c index 3dc50938238..86db1def9e2 100644 --- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c @@ -299,18 +299,6 @@ static u32 hw_test_and_clear_intr_active(struct ci13xxx *ci)  	return reg;  } -static void hw_enable_vbus_intr(struct ci13xxx *ci) -{ -	hw_write(ci, OP_OTGSC, OTGSC_AVVIS, OTGSC_AVVIS); -	hw_write(ci, OP_OTGSC, OTGSC_AVVIE, OTGSC_AVVIE); -	queue_work(ci->wq, &ci->vbus_work); -} - -static void hw_disable_vbus_intr(struct ci13xxx *ci) -{ -	hw_write(ci, OP_OTGSC, OTGSC_AVVIE, 0); -} -  /**   * hw_test_and_clear_setup_guard: test & clear setup guard (execute without   *                                interruption) @@ -377,16 +365,6 @@ static int hw_usb_reset(struct ci13xxx *ci)  	return 0;  } -static void vbus_work(struct work_struct *work) -{ -	struct ci13xxx *ci = container_of(work, struct ci13xxx, vbus_work); - -	if (hw_read(ci, OP_OTGSC, OTGSC_AVV)) -		usb_gadget_vbus_connect(&ci->gadget); -	else -		usb_gadget_vbus_disconnect(&ci->gadget); -} -  /******************************************************************************   * UTIL block   *****************************************************************************/ @@ -1386,7 +1364,6 @@ static int ci13xxx_vbus_session(struct usb_gadget *_gadget, int is_active)  		if (is_active) {  			pm_runtime_get_sync(&_gadget->dev);  			hw_device_reset(ci, USBMODE_CM_DC); -			hw_enable_vbus_intr(ci);  			hw_device_state(ci, ci->ep0out->qh.dma);  		} else {  			hw_device_state(ci, 0); @@ -1561,10 +1538,8 @@ static int ci13xxx_start(struct usb_gadget *gadget,  	pm_runtime_get_sync(&ci->gadget.dev);  	if (ci->platdata->flags & CI13XXX_PULLUP_ON_VBUS) {  		if (ci->vbus_active) { -			if (ci->platdata->flags & CI13XXX_REGS_SHARED) { +			if (ci->platdata->flags & CI13XXX_REGS_SHARED)  				hw_device_reset(ci, USBMODE_CM_DC); -				hw_enable_vbus_intr(ci); -			}  		} else {  			pm_runtime_put_sync(&ci->gadget.dev);  			goto done; @@ -1670,13 +1645,6 @@ static irqreturn_t udc_irq(struct ci13xxx *ci)  	} else {  		retval = IRQ_NONE;  	} - -	intr = hw_read(ci, OP_OTGSC, ~0); -	hw_write(ci, OP_OTGSC, ~0, intr); - -	if (intr & (OTGSC_AVVIE & OTGSC_AVVIS)) -		queue_work(ci->wq, &ci->vbus_work); -  	spin_unlock(&ci->lock);  	return retval; @@ -1752,7 +1720,6 @@ static int udc_start(struct ci13xxx *ci)  		retval = hw_device_reset(ci, USBMODE_CM_DC);  		if (retval)  			goto put_transceiver; -		hw_enable_vbus_intr(ci);  	}  	retval = device_register(&ci->gadget.dev); @@ -1815,9 +1782,6 @@ static void udc_stop(struct ci13xxx *ci)  	if (ci == NULL)  		return; -	hw_disable_vbus_intr(ci); -	cancel_work_sync(&ci->vbus_work); -  	usb_del_gadget_udc(&ci->gadget);  	destroy_eps(ci); @@ -1858,7 +1822,6 @@ int ci_hdrc_gadget_init(struct ci13xxx *ci)  	rdrv->irq	= udc_irq;  	rdrv->name	= "gadget";  	ci->roles[CI_ROLE_GADGET] = rdrv; -	INIT_WORK(&ci->vbus_work, vbus_work);  	return 0;  }  |