static void *typec_mux_match(const struct fwnode_handle *fwnode,
                             const char *id, void *data)
 {
-       const struct typec_altmode_desc *desc = data;
        struct device *dev;
-       bool match;
-       int nval;
-       u16 *val;
-       int ret;
-       int i;
 
        /*
-        * Check has the identifier already been "consumed". If it
-        * has, no need to do any extra connection identification.
+        * Device graph (OF graph) does not give any means to identify the
+        * device type or the device class of the remote port parent that @fwnode
+        * represents, so in order to identify the type or the class of @fwnode
+        * an additional device property is needed. With typec muxes the
+        * property is named "mode-switch" (@id). The value of the device
+        * property is ignored.
         */
-       match = !id;
-       if (match)
-               goto find_mux;
-
-       if (!desc) {
-               /*
-                * Accessory Mode muxes & muxes which explicitly specify
-                * the required identifier can avoid SVID matching.
-                */
-               match = fwnode_property_present(fwnode, "accessory") ||
-                       fwnode_property_present(fwnode, id);
-               if (match)
-                       goto find_mux;
-               return NULL;
-       }
-
-       /* Alternate Mode muxes */
-       nval = fwnode_property_count_u16(fwnode, "svid");
-       if (nval <= 0)
+       if (id && !fwnode_property_present(fwnode, id))
                return NULL;
 
-       val = kcalloc(nval, sizeof(*val), GFP_KERNEL);
-       if (!val)
-               return ERR_PTR(-ENOMEM);
-
-       ret = fwnode_property_read_u16_array(fwnode, "svid", val, nval);
-       if (ret < 0) {
-               kfree(val);
-               return ERR_PTR(ret);
-       }
-
-       for (i = 0; i < nval; i++) {
-               match = val[i] == desc->svid;
-               if (match) {
-                       kfree(val);
-                       goto find_mux;
-               }
-       }
-       kfree(val);
-       return NULL;
-
-find_mux:
        dev = class_find_device(&typec_mux_class, NULL, fwnode,
                                mux_fwnode_match);