Re: [PATCH v5 1/2] usb: typec: altmodes/displayport: add support for embedded DP cases
From: Heikki Krogerus
Date: Tue Aug 22 2023 - 09:39:51 EST
On Thu, Aug 17, 2023 at 06:08:23PM +0300, Dmitry Baryshkov wrote:
> In the embedded cases, the DisplayPort connector is handled by the TCPM
> itself. It was proposed to add the "displayport" OF property to the DT
> bindings, but it was rejected in favour of properly describing the
> electrical signal path using of_graph.
>
> Fallback to the controller fwnode for HPD notifications to
> support such usecases without requiring additional DT properties.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
> ---
> drivers/usb/typec/altmodes/displayport.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/typec/altmodes/displayport.c b/drivers/usb/typec/altmodes/displayport.c
> index bc4af130940d..a4cf1045b535 100644
> --- a/drivers/usb/typec/altmodes/displayport.c
> +++ b/drivers/usb/typec/altmodes/displayport.c
> @@ -594,7 +594,10 @@ int dp_altmode_probe(struct typec_altmode *alt)
> alt->ops = &dp_altmode_ops;
>
> fwnode = dev_fwnode(alt->dev.parent->parent); /* typec_port fwnode */
> - dp->connector_fwnode = fwnode_find_reference(fwnode, "displayport", 0);
> + if (fwnode_property_present(fwnode, "displayport"))
> + dp->connector_fwnode = fwnode_find_reference(fwnode, "displayport", 0);
> + else
> + dp->connector_fwnode = fwnode_handle_get(fwnode); /* embedded DP */
> if (IS_ERR(dp->connector_fwnode))
> dp->connector_fwnode = NULL;
>
> --
> 2.39.2
--
heikki