diff options
Diffstat (limited to 'drivers/usb/chipidea/ci.h')
-rw-r--r-- | drivers/usb/chipidea/ci.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/usb/chipidea/ci.h b/drivers/usb/chipidea/ci.h index fbd600e25545..8ab112a55f06 100644 --- a/drivers/usb/chipidea/ci.h +++ b/drivers/usb/chipidea/ci.h @@ -176,6 +176,7 @@ struct hw_bank { * @enabled_otg_timer_bits: bits of enabled otg timers * @next_otg_timer: next nearest enabled timer to be expired * @work: work for role changing + * @work_dr: work for role changing for non-OTG controllers * @wq: workqueue thread * @qh_pool: allocation pool for queue heads * @td_pool: allocation pool for transfer descriptors @@ -229,6 +230,7 @@ struct ci_hdrc { unsigned enabled_otg_timer_bits; enum otg_fsm_timer next_otg_timer; struct work_struct work; + struct work_struct work_dr; struct workqueue_struct *wq; struct dma_pool *qh_pool; @@ -309,10 +311,10 @@ static inline int ci_role_start(struct ci_hdrc *ci, enum ci_role role) if (ci->usb_phy) { if (role == CI_ROLE_HOST) usb_phy_set_mode(ci->usb_phy, - USB_MODE_HOST); + USB_CURRENT_MODE_HOST); else usb_phy_set_mode(ci->usb_phy, - USB_MODE_DEVICE); + USB_CURRENT_MODE_DEVICE); } return 0; @@ -330,7 +332,7 @@ static inline void ci_role_stop(struct ci_hdrc *ci) ci->roles[role]->stop(ci); if (ci->usb_phy) - usb_phy_set_mode(ci->usb_phy, USB_MODE_NONE); + usb_phy_set_mode(ci->usb_phy, USB_CURRENT_MODE_NONE); } /** |