diff options
author | Kyle Tso <kyletso@google.com> | 2021-02-05 11:34:15 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-02-09 11:48:55 +0100 |
commit | f5d1d63e7359c6b3c65097b4941756b3d8ac0be0 (patch) | |
tree | 3ee1c617cac591d81b1638552f25d6833d81a0c3 | |
parent | 630dce2810b9f09d312aed4189300e785254c24b (diff) | |
download | lwn-f5d1d63e7359c6b3c65097b4941756b3d8ac0be0.tar.gz lwn-f5d1d63e7359c6b3c65097b4941756b3d8ac0be0.zip |
usb: typec: tcpm: Get Sink VDO from fwnode
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.
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Kyle Tso <kyletso@google.com>
Link: https://lore.kernel.org/r/20210205033415.3320439-8-kyletso@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/typec/tcpm/tcpm.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c index b45cd191a8a4..be0b6469dd3d 100644 --- a/drivers/usb/typec/tcpm/tcpm.c +++ b/drivers/usb/typec/tcpm/tcpm.c @@ -5722,6 +5722,20 @@ sink: 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; } |