usb: typec: change altmode SVID to u16 entry
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 4 Dec 2023 02:03:01 +0000 (04:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Dec 2023 12:53:45 +0000 (13:53 +0100)
As stated in the changelog for the commit 7b458a4c5d73 ("usb: typec: Add
typec_port_register_altmodes()"), the code should be adjusted according
to the AltMode bindings. As the SVID is 16 bits wide (according to the
USB PD Spec), use fwnode_property_read_u16() to read it.

Acked-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20231204020303.2287338-3-dmitry.baryshkov@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/platform/x86/intel/chtwc_int33fe.c
drivers/usb/typec/class.c

index 848baecc1bb02671f88052b7a8aa42a49a3080ad..93f75ba1dafdffff5c469884b67ed3fbfe2f3ff5 100644 (file)
@@ -136,7 +136,7 @@ static const struct software_node altmodes_node = {
 };
 
 static const struct property_entry dp_altmode_properties[] = {
-       PROPERTY_ENTRY_U32("svid", 0xff01),
+       PROPERTY_ENTRY_U16("svid", 0xff01),
        PROPERTY_ENTRY_U32("vdo", 0x0c0086),
        { }
 };
index 5fe01bf795b9ff28c424067668acb0ca1534eaf0..aeae8009b9e3a7ef5b3cc7a8b3cbf9d995f02ee5 100644 (file)
@@ -2231,7 +2231,8 @@ void typec_port_register_altmodes(struct typec_port *port,
        struct typec_altmode_desc desc;
        struct typec_altmode *alt;
        size_t index = 0;
-       u32 svid, vdo;
+       u16 svid;
+       u32 vdo;
        int ret;
 
        altmodes_node = device_get_named_child_node(&port->dev, "altmodes");
@@ -2239,7 +2240,7 @@ void typec_port_register_altmodes(struct typec_port *port,
                return; /* No altmodes specified */
 
        fwnode_for_each_child_node(altmodes_node, child) {
-               ret = fwnode_property_read_u32(child, "svid", &svid);
+               ret = fwnode_property_read_u16(child, "svid", &svid);
                if (ret) {
                        dev_err(&port->dev, "Error reading svid for altmode %s\n",
                                fwnode_get_name(child));