On 2/1/21 5:34 AM, Kyle Tso wrote: > Commit a079973f462a ("usb: typec: tcpm: Remove tcpc_config > configuration mechanism") removed the tcpc_config which includes the > Sink VDO and it is not yet added back with fwnode. Add it now. > > Signed-off-by: Kyle Tso <kyletso@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > Changes since v2: > - use fwnode_property_count_u32 instead to get the count > - revise the error handling > > drivers/usb/typec/tcpm/tcpm.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c > index 979b7ee6473c..9b13e19118f0 100644 > --- a/drivers/usb/typec/tcpm/tcpm.c > +++ b/drivers/usb/typec/tcpm/tcpm.c > @@ -5677,6 +5677,20 @@ static int tcpm_fw_get_caps(struct tcpm_port *port, > port->new_source_frs_current = frs_current; > } > > + /* sink-vdos is optional */ > + ret = fwnode_property_count_u32(fwnode, "sink-vdos"); > + if (ret < 0) > + ret = 0; > + > + port->nr_snk_vdo = min(ret, VDO_MAX_OBJECTS); > + if (port->nr_snk_vdo) { > + ret = fwnode_property_read_u32_array(fwnode, "sink-vdos", > + port->snk_vdo, > + port->nr_snk_vdo); > + if (ret < 0) > + return ret; > + } > + > return 0; > } > >