This series mainly adds support for mtu3 gadget suspend/resume when the controller works at device only mode or dual role mode, and also adds support runtime PM. v3: add Acked-by Rob fix use-after-free issue when probe failed v2: Change the comment of cover letter and its title. In order to help review, v2 drops the patches about role-switch rebuilding which are applied, and the left ones are identical. Chunfeng Yun (13): dt-bindings: usb: mtu3: remove support VBUS detection of extcon dt-bindings: usb: mtu3: add optional property to disable usb2 ports dt-bindings: usb: mtu3: add support property role-switch-default-mode dt-bindings: usb: mtu3: add wakeup interrupt usb: common: add helper to get role-switch-default-mode usb: dwc3: drd: use helper to get role-switch-default-mode usb: mtu3: support property role-switch-default-mode usb: mtu3: support option to disable usb2 ports usb: mtu3: add new helpers for host suspend/resume usb: mtu3: support runtime PM for host mode usb: mtu3: add helper to power on/down device usb: mtu3: support suspend/resume for device mode usb: mtu3: support suspend/resume for dual-role mode .../bindings/usb/mediatek,mtu3.yaml | 47 ++++- drivers/usb/common/common.c | 20 +++ drivers/usb/dwc3/drd.c | 8 +- drivers/usb/mtu3/mtu3.h | 8 + drivers/usb/mtu3/mtu3_core.c | 115 ++++++++++-- drivers/usb/mtu3/mtu3_dr.c | 26 ++- drivers/usb/mtu3/mtu3_dr.h | 30 +++- drivers/usb/mtu3/mtu3_gadget.c | 5 + drivers/usb/mtu3/mtu3_host.c | 106 +++++++++-- drivers/usb/mtu3/mtu3_plat.c | 166 +++++++++++++++--- include/linux/usb/otg.h | 1 + 11 files changed, 457 insertions(+), 75 deletions(-) -- 2.18.0