usb: typec-mux: broadcast typec state to next mux for ptn36502 & nb7vpq904m retimers In the Type-C graph, a retimer is usually in between the USB-C connector and the USB3/DP combo PHY, and this PHY also requires the USB-C mode events to properly set-up the SuperSpeed Lanes functions to setup USB3-only, USB3 + DP Altmode or DP Altmode only on the 4 lanes. Update the nb7vpq904m & ptn36502 retimers to get an optional type-c mux on the next endpoint, and broadcast the received mode to it. This makes it possible to support 4-lanes DP altmode on Qualcomm platforms. To: Heikki Krogerus <heikki.krogerus@linux.intel.com> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Bjorn Andersson <andersson@kernel.org> Cc: Luca Weiss <luca.weiss@fairphone.com> Cc: linux-arm-msm@vger.kernel.org Cc: linux-usb@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- Changes in v2: - Split out the typec_switch_put() fixes in separates fixes patches - Link to v1: https://lore.kernel.org/r/20240527-topic-sm8x50-upstream-retimer-broadcast-mode-v1-0-79ec91381aba@linaro.org --- Neil Armstrong (4): usb: typec-mux: ptn36502: unregister typec switch on probe error and remove usb: typec-mux: nb7vpq904m: unregister typec switch on probe error and remove usb: typec-mux: ptn36502: broadcast typec state to next mux usb: typec-mux: nb7vpq904m: broadcast typec state to next mux drivers/usb/typec/mux/nb7vpq904m.c | 29 +++++++++++++++++++++++++++-- drivers/usb/typec/mux/ptn36502.c | 33 ++++++++++++++++++++++++++++++--- 2 files changed, 57 insertions(+), 5 deletions(-) --- base-commit: ee78a17615ad0cfdbbc27182b1047cd36c9d4d5f change-id: 20240527-topic-sm8x50-upstream-retimer-broadcast-mode-76520768ac3f Best regards,