HNP polling is a mechanism which allows the OTG device currently acting as host to determine when the other attached OTG device wishes to take the host role. When an OTG host, which supports HNP, is connected to an OTG peripheral which also supports HNP it shall poll the peripheral regularly to determine whether it requires a role-swap and grant this at the earliest opportunity. This patchset adds OTG HNP polling support, and enable for chipidea usb otg fsm driver, more patches for pass OTG certification will come later. changes for v6: - Remove patch of disable irq while stop host role. - Split B_AIDL_BDIS timer patch to be 2 patches(9/10 and 10/10). - Add Peter's ack for patch 3, 7, 8/10. changes for v5: - Instead of use stack memory, use kmalloc to allocate memory for host request flag one byte buffer(DMA read), and add host_req_flag pointer in struct otg_fsm for reference to that flag buffer. - Add one patch to disable irq while stop host role(7/10). - Add one patch to fix B_AIDL_BDIS timing issue(10/10). changes for v4: - Add OTG HNP capable check for connected device before sending HNP polling in patch 3/8. - Add comment to explain HNP test update in chipidea.txt in patch 8/8. - Fix some typo. - Add Peter's Ack in patch 1,2,4,5,6,7/8 of the series. Li Jun (10): usb: gadget: add hnp_polling_support and host_request_flag in usb_gadget usb: add OTG status selector definition for HNP polling usb: common: otg-fsm: add HNP polling support usb: chipidea: udc: bypass otg status selector handling to gadget driver usb: gadget: composite: handle otg status selector request from OTG host usb: chipidea: otg: set host_request_flag for gadget usb: chipidea: otg: enable HNP polling support for gadget and host Documentation: usb: chipidea: Update test procedure for HNP polling usb: otg-fsm: add B_AIDL_BDIS timer usb: chipidea: otg: add A idle to B disconnect timer Documentation/usb/chipidea.txt | 9 +++-- drivers/usb/chipidea/otg_fsm.c | 29 ++++++++++++-- drivers/usb/chipidea/otg_fsm.h | 2 + drivers/usb/chipidea/udc.c | 3 +- drivers/usb/common/usb-otg-fsm.c | 87 ++++++++++++++++++++++++++++++++++++++++ drivers/usb/gadget/composite.c | 25 ++++++++---- include/linux/usb/gadget.h | 6 +++ include/linux/usb/otg-fsm.h | 15 +++++++ include/uapi/linux/usb/ch9.h | 1 + 9 files changed, 161 insertions(+), 16 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html