From patchwork Sun Jul 9 03:48:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 117474 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp4246311vqx; Sat, 8 Jul 2023 20:49:52 -0700 (PDT) X-Google-Smtp-Source: APBJJlE87HOn6EvUkqJN8chXEKvxUWpCjDcM/FjLg6Pfpb8UjCscwtYZ9xlnEKMp4Uze6ajwLB8K X-Received: by 2002:a05:6a00:1409:b0:673:5d1e:6654 with SMTP id l9-20020a056a00140900b006735d1e6654mr7863610pfu.33.1688874592217; Sat, 08 Jul 2023 20:49:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688874592; cv=none; d=google.com; s=arc-20160816; b=vf/7ILD/sN+Zb8RM00Je3enkJUI/COQ8B7LcF2Bn7jjlZZt0HAoGaQRZUooOE4ibFh 3f5xn4OGM/jLjO1hVuO8nxT91l3ExqkHRgzXWyRkAnrIhsqtRHNqN8z66+sLet3MGaRF 1z1CnCnq8rgrQlXR7tsLxdRo4PkoXAbm1EMmXrcodA0xr8rcUGsdm7leTVpzVTSBDf0x KY3YVY5JPP8KOFyG4glZXw10JCF5s8FwOLyE8L3RjzLexkjyG/C83dNFNC5bRG76WH5A neIiK+7tUTbIQaPSApAYuidRuCmnawS5Oro0I4ry8xjK/HA+QyPBFGlmA0VlBMN2++c0 iBfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=c7lSjPQNhr0BWjor5LdaN815hU/chfe4hoYUxqnTCAI=; fh=e86DAimGadUEah4YsEZw9dwrhmQ4PbY0xaNPVeYNNKE=; b=DL0UhiM0vOA6aYfmLtw2+WfUYEXO89KSJufic2pca4pIw0C9GV/2chmWSVcYEWbiOo viFsX1ccZau27tUALXpYsNFHnDsGN6to30YctVH48CPW9rgTlHm6rrnUeQq0rDb953Ep 3IpwxlJtlhZxatYVMBhq+pshwSfzHzC0+CuI+p+uEHEsWQukzFS8HIOE/eLBsp+OOkFv 7jIbVeyXmj/r9hqLIV98s5ses7HxW3YCFqZTZpjLvhJwUEyOMAtz3dZ/q3Fmr1RkO3j1 A2rNNd9TxgNYSe2OFvIG1xlsSkbvI1nYvmLXw1xcuIQ9+e0ast/xXxoklYfjU0kDUBVn hoNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=k3IRY5xw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id fc11-20020a056a002e0b00b0064d42dddf9fsi6769782pfb.32.2023.07.08.20.49.39; Sat, 08 Jul 2023 20:49:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=k3IRY5xw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229984AbjGIDsO (ORCPT + 99 others); Sat, 8 Jul 2023 23:48:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38034 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229894AbjGIDsM (ORCPT ); Sat, 8 Jul 2023 23:48:12 -0400 Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [IPv6:2a00:1450:4864:20::130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 78181E4D for ; Sat, 8 Jul 2023 20:48:11 -0700 (PDT) Received: by mail-lf1-x130.google.com with SMTP id 2adb3069b0e04-4fa48b5dc2eso5090072e87.1 for ; Sat, 08 Jul 2023 20:48:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1688874489; x=1691466489; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=c7lSjPQNhr0BWjor5LdaN815hU/chfe4hoYUxqnTCAI=; b=k3IRY5xwt8qJIv7SfJiV73BLBZgOE7DBWFEiap7mJyO/HbBphYtUffF1Jlup/HJrEs /JjyZzFYlvaXKS9K0P433ZpGG7vnO6bVweICxU7jBwIn8ZtljMASfo8Om07veq/h9ZGK sQIkamitoxVnF8DeYjDEvD4mHNcq4CEG9z3V/4/KDIbk7/0IqhDgKc9HLOH2XgQFkGQo cN0JwDH0qY6DAWunwHNTrQFlThCKDvI2KQ+P50qQbvO4KZ+DnBMxU9WIyJ3KEqyTJwE4 6xKmkeIQmeJZ/kYdXwvaZBLJ844U7JCjAiEFAqoaFZV1no/uRpF41v5qpTBY3j/lC620 fK5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688874489; x=1691466489; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c7lSjPQNhr0BWjor5LdaN815hU/chfe4hoYUxqnTCAI=; b=PasZ32K5LncMFyAjpAg2Cn/DoGoeAOgm2WCK3ccZWVGWIMHOpNsYkeFOre2WMxfV6d 1k87AA0ksOVETgnnRc6xHnvQ5whzSfYBCE+rISvuCsPL7rzFub5Qvrf3em3+ZqhsAoTd 8kFaWu/UIrUNvgAav9wnXz+AookQc20SEbTKfHogMd7fDWeKcc7662r/EqK8+uD9rgFW 9lyHrmVUDI5MY1dMcfMTwnlg78skN3recdHYpnRyKWTTTyH1zw2TuUCH3jHAt+PzSc+2 yjotOc54Bl4ugOmk3V8Hyv9D6TwzUVPaIw8jmwl72eXidVZoFZcLCqrwGJl5sWlK+Vkd sbEg== X-Gm-Message-State: ABy/qLbpEhh+CowZ3Y7poKHD30YSgi7zqf5bbozU5fh4MZ6EhqvPIzPV qQYpxis3sF0cGwKowjNj768sVg== X-Received: by 2002:a19:e059:0:b0:4f8:6d54:72f9 with SMTP id g25-20020a19e059000000b004f86d5472f9mr6239729lfj.61.1688874489726; Sat, 08 Jul 2023 20:48:09 -0700 (PDT) Received: from lothlorien.lan (dzdqv0yyyyyyyyyyybm5y-3.rev.dnainternet.fi. [2001:14ba:a0db:1f00::ab2]) by smtp.gmail.com with ESMTPSA id u23-20020a2e9b17000000b002b70206cd45sm1398633lji.90.2023.07.08.20.48.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Jul 2023 20:48:09 -0700 (PDT) From: Dmitry Baryshkov To: Heikki Krogerus , Greg Kroah-Hartman , Bryan O'Donoghue , Guenter Roeck , Andy Gross , Bjorn Andersson , Konrad Dybcio Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org Subject: [PATCH 1/2] usb: typec: altmodes/displayport: add support for embedded DP cases Date: Sun, 9 Jul 2023 06:48:07 +0300 Message-Id: <20230709034808.4049383-2-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230709034808.4049383-1-dmitry.baryshkov@linaro.org> References: <20230709034808.4049383-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770913364055602013?= X-GMAIL-MSGID: =?utf-8?q?1770913364055602013?= In the embedded cases, the DisplayPort connector is handled by the TCPM itself. Fallback to the controller fwnode for HPD notifications to support such usecases without requiring additional DT properties. Signed-off-by: Dmitry Baryshkov --- drivers/usb/typec/altmodes/displayport.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/usb/typec/altmodes/displayport.c b/drivers/usb/typec/altmodes/displayport.c index 4e5aa17ce4c8..699438c7755e 100644 --- a/drivers/usb/typec/altmodes/displayport.c +++ b/drivers/usb/typec/altmodes/displayport.c @@ -578,7 +578,10 @@ int dp_altmode_probe(struct typec_altmode *alt) alt->ops = &dp_altmode_ops; fwnode = dev_fwnode(alt->dev.parent->parent); /* typec_port fwnode */ - dp->connector_fwnode = fwnode_find_reference(fwnode, "displayport", 0); + if (fwnode_property_present(fwnode, "displayport")) + dp->connector_fwnode = fwnode_find_reference(fwnode, "displayport", 0); + else + dp->connector_fwnode = fwnode_handle_get(fwnode); /* embedded DP */ if (IS_ERR(dp->connector_fwnode)) dp->connector_fwnode = NULL; From patchwork Sun Jul 9 03:48:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 117475 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp4246999vqx; Sat, 8 Jul 2023 20:52:11 -0700 (PDT) X-Google-Smtp-Source: APBJJlGMhXqTv4DFccnBCcWvzfQh2rXzjcGnCdrSC20496Fx4UYu6zVFH1nAaLpYqaQ0PPWj3ud0 X-Received: by 2002:a17:903:44c:b0:1b8:a65f:b49d with SMTP id iw12-20020a170903044c00b001b8a65fb49dmr9514317plb.12.1688874731288; Sat, 08 Jul 2023 20:52:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688874731; cv=none; d=google.com; s=arc-20160816; b=A2cXSgzQ6Au5QRXGi+aqPr742sgtb7ih2tyGvItj5SN7BX4av15lkLR5uhy9VQbbJS rKkdNk8NSXDAS+T7OEu1dxZCS+Y5nJc/8B623ZecEPc+oSTfioLDK7G+MCseY5IP2a9K mW6PWPCFQs0TDXLmi7ntzDND8U2RoRZOHOmHOeXd70WYLBm2bLTdbBgmaqYX+WK2713r AH9RT4t4mCAnXthI/izhGwwKxfq/dJKEeGoNYkELDYEvS+OvD9ByimysxpHs409wMFZa hqLq38epHwXWMetJZKnCCes+p8lbrf4T2+CBnmieyUGVTDxFDzxBN4Ak1+XkgaG5w28e G6Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=9pYCYaD1I9NzXxuURGxzFdIQMsoW5k/5IxfRvjuLiHQ=; fh=e86DAimGadUEah4YsEZw9dwrhmQ4PbY0xaNPVeYNNKE=; b=u4eeVJU8VrtjbAxkvlZ6mMuN9txMpow4U8v1/NBGG+zAV/oraT508NtdTZ6mjwsToA q1qp3iwaSxv5CF/OZgcanefqr1QpbasFGcptWzXeDyncsNy2A18qJlYXm0U2V2NLTTOE 88XS4fgHe/HQPW34520Pv62M2RXIEnVs1e6IbgjkAeX/r/dE2MuMGV+aWRDrKHn9TRaQ BYa5+4Fvq3TPAC3ZkJ7OoKJBln/bAIM5mDZfPvjyJMsQ/8y9C3Z5kLndae83SLx9fESF h/fFcBfCWKAfxECqBRi/9eNOEDNIytW6j8U4Ns6zh9r8LbOBPfoFRl5jLLl5ASjbEnOI N6QQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZyPoV8Vu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n13-20020a170902d2cd00b001b887e6baf8si7001432plc.519.2023.07.08.20.51.59; Sat, 08 Jul 2023 20:52:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZyPoV8Vu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230101AbjGIDsY (ORCPT + 99 others); Sat, 8 Jul 2023 23:48:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38048 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229958AbjGIDsO (ORCPT ); Sat, 8 Jul 2023 23:48:14 -0400 Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [IPv6:2a00:1450:4864:20::12f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 090CBE5A for ; Sat, 8 Jul 2023 20:48:12 -0700 (PDT) Received: by mail-lf1-x12f.google.com with SMTP id 2adb3069b0e04-4fb7373dd35so5585031e87.1 for ; Sat, 08 Jul 2023 20:48:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1688874490; x=1691466490; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9pYCYaD1I9NzXxuURGxzFdIQMsoW5k/5IxfRvjuLiHQ=; b=ZyPoV8VuNEvccc+hchM2pV6o8vTlDW1fWllTLYlBPNPdfOWULamhpXnfM9RqU8+Rv8 Nh4VQ/qEJ31/7gfzz29xep2rxDobhZqI+YQLk3TXyylAyJLs2PqASFqiuTBQufvwfSc8 hi0ViseEb36NIaUgo40Q0kZUWsgojp/RZc9c5zOV+RSY4wq7cOd/LhybO1+qXPBonSfo UGOqQsV8NKhAgJH091u85RjIZBSgAfcSHmfKoa3G2P1RQGn7pSpsvu4xwk9uFM24q9M4 g4euo0l0gzByhVXZF9YkYGMIcNI0Oij+lFnLVOASE08O5+zEQ9TGuEc2GP15VI07Hf9g 3Bkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688874490; x=1691466490; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9pYCYaD1I9NzXxuURGxzFdIQMsoW5k/5IxfRvjuLiHQ=; b=ke1/5b/PH0IQhJDM770r6aEKyh0lqp+ijCyEFp5TZD79qxXjSVYwlyFCtlwSHkRrBE bZOd3SpZOkgisVh7C71ATeK+CAzRkdtSXC+q/d0HtdaLN0+0qqcckrxXeCYV9+j7KiGW 6cPkQ3xhXRiGhdtXw34py3RSP97/Gyts+HWE173v623iA5ENoLpCcrDUFlYmyypFBvty X13fxe4Op5dEQSCi/fM7VPYjbw7Bbohu8Xw1PEWZcZbBBVYES5N9NQxb0D4j/kK24E7k BJaokZuNBxx5nqUzpXWn+7TR8KdqpPenkdEug0PDsnJOy10L2b2U4+c9OjHboKy7RH57 pcQA== X-Gm-Message-State: ABy/qLYR6Zi44oTmF8a/Nn406fsrX/Z45Vujvwc6uXieNcbVn2nl04cP ym8TW+0mdS27hpaSsH5vNr5wBg== X-Received: by 2002:a2e:9086:0:b0:2b6:eceb:9b8 with SMTP id l6-20020a2e9086000000b002b6eceb09b8mr3593555ljg.10.1688874490407; Sat, 08 Jul 2023 20:48:10 -0700 (PDT) Received: from lothlorien.lan (dzdqv0yyyyyyyyyyybm5y-3.rev.dnainternet.fi. [2001:14ba:a0db:1f00::ab2]) by smtp.gmail.com with ESMTPSA id u23-20020a2e9b17000000b002b70206cd45sm1398633lji.90.2023.07.08.20.48.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Jul 2023 20:48:10 -0700 (PDT) From: Dmitry Baryshkov To: Heikki Krogerus , Greg Kroah-Hartman , Bryan O'Donoghue , Guenter Roeck , Andy Gross , Bjorn Andersson , Konrad Dybcio Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org Subject: [PATCH 2/2] usb: typec: qcom-pmic-typec: register drm_bridge Date: Sun, 9 Jul 2023 06:48:08 +0300 Message-Id: <20230709034808.4049383-3-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230709034808.4049383-1-dmitry.baryshkov@linaro.org> References: <20230709034808.4049383-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770913510477301659?= X-GMAIL-MSGID: =?utf-8?q?1770913510477301659?= The current approach to handling DP on bridge-enabled platforms requires a chain of DP bridges up to the USB-C connector. Register a last DRM bridge for such chain. Signed-off-by: Dmitry Baryshkov --- drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c index a905160dd860..ca832a28176e 100644 --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c @@ -17,6 +17,9 @@ #include #include #include + +#include + #include "qcom_pmic_typec_pdphy.h" #include "qcom_pmic_typec_port.h" @@ -33,6 +36,7 @@ struct pmic_typec { struct pmic_typec_port *pmic_typec_port; bool vbus_enabled; struct mutex lock; /* VBUS state serialization */ + struct drm_bridge bridge; }; #define tcpc_to_tcpm(_tcpc_) container_of(_tcpc_, struct pmic_typec, tcpc) @@ -146,6 +150,16 @@ static int qcom_pmic_typec_init(struct tcpc_dev *tcpc) return 0; } +static int qcom_pmic_typec_attach(struct drm_bridge *bridge, + enum drm_bridge_attach_flags flags) +{ + return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL; +} + +static const struct drm_bridge_funcs qcom_pmic_typec_bridge_funcs = { + .attach = qcom_pmic_typec_attach, +}; + static int qcom_pmic_typec_probe(struct platform_device *pdev) { struct pmic_typec *tcpm; @@ -208,6 +222,17 @@ static int qcom_pmic_typec_probe(struct platform_device *pdev) mutex_init(&tcpm->lock); platform_set_drvdata(pdev, tcpm); + tcpm->bridge.funcs = &qcom_pmic_typec_bridge_funcs; +#if CONFIG_OF + tcpm->bridge.of_node = of_get_child_by_name(dev->of_node, "connector"); +#endif + tcpm->bridge.ops = DRM_BRIDGE_OP_HPD; + tcpm->bridge.type = DRM_MODE_CONNECTOR_USB; + + ret = devm_drm_bridge_add(dev, &tcpm->bridge); + if (ret) + return ret; + tcpm->tcpc.fwnode = device_get_named_child_node(tcpm->dev, "connector"); if (IS_ERR(tcpm->tcpc.fwnode)) return PTR_ERR(tcpm->tcpc.fwnode);