Re: [PATCH] usb: typec: tcpm: try to get role switch from tcpc fwnode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 28, 2023 at 05:11:49PM +0300, Heikki Krogerus wrote:
> +Bryan
> 
> On Tue, Mar 28, 2023 at 04:23:04PM +0800, Li Jun wrote:
> > Try to get usb role switch from tcpc fwnode if failed to
> > get role switch from port dev, this is for case the port
> > for role switch endpoint is located in connector node,
> > as per connector binding doc, port@0 for HS is required.
> > 
> > ptn5110: tcpc@50 {
> > 	compatible = "nxp,ptn5110";
> > 	...
> > 	status = "okay";
> > 
> > 	connector {
> > 		compatible = "usb-c-connector";
> > 		label = "USB-C";
> > 		...
> > 
> > 		ports {
> > 			#address-cells = <1>;
> > 			#size-cells = <0>;
> > 
> > 			port@0 {
> > 				reg = <0>;
> > 
> > 				typec_conn: endpoint {
> > 					remote-endpoint = <&usb2_controller>;
> > 				};
> > 			};
> > 		};
> > 	};
> > };
> > 
> > Signed-off-by: Li Jun <jun.li@xxxxxxx>
> > ---
> >  drivers/usb/typec/tcpm/tcpm.c | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
> > index a0d943d78580..f0534bdb4462 100644
> > --- a/drivers/usb/typec/tcpm/tcpm.c
> > +++ b/drivers/usb/typec/tcpm/tcpm.c
> > @@ -6557,6 +6557,8 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
> >  	port->port_type = port->typec_caps.type;
> >  
> >  	port->role_sw = usb_role_switch_get(port->dev);
> > +	if (!port->role_sw)
> > +		port->role_sw = fwnode_usb_role_switch_get(tcpc->fwnode);
> >  	if (IS_ERR(port->role_sw)) {
> >  		err = PTR_ERR(port->role_sw);
> >  		goto out_destroy_wq;
> 
> This looks like exactly the same as the RFC from Bryan that I just
> commented. I have not objections if this looks okay to you Brian. I
> think we should still wait for comments also from Guenter.
> 

Ok with me.

Guenter

> thanks,
> 
> -- 
> heikki



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux