Re: [PATCH v9 4/8] usb: misc: qcom_eud: add per-path role switch support
From: Konrad Dybcio
Date: Thu Oct 15 2026 - 10:54:15 EST
On 9/29/26 11:35 PM, Elson Serrao wrote:
> The EUD hardware can support multiple High-Speed USB paths, each connected
> to different USB controllers. The current implementation uses a single
> chip-level role switch, which cannot properly handle multi-path
> configurations where each path needs independent role management. Since
> EUD is physically present between the USB connector and the controller,
> it should also relay the role change requests from the connector.
>
> Restructure the driver to support per-path role switches and remove the
> chip-level role switch. Additionally, as EUD need not modify the USB
> role upon enabling, remove the unnecessary role switch call from
> enable_eud().
>
> Reviewed-by: Peter Chen <peter.chen@xxxxxxxxxx>
> Signed-off-by: Elson Serrao <elson.serrao@xxxxxxxxxxxxxxxx>
> ---
[...]
> + sw = usb_role_switch_find_by_fwnode(of_fwnode_handle(controller_node));
> + if (!sw) {
> + of_node_put(controller_node);
> + return dev_err_probe(chip->dev, -EPROBE_DEFER,
> + "Failed to get controller role switch for path %d\n",
> + path_num);
> + }
This will always probe defer on a fixed-role controller, we should patch
dwc3 to always register a roleswitch
Konrad