From nobody Fri Sep 25 04:10:10 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 87D6B439350; Wed, 16 Sep 2026 19:36:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789587414; cv=none; b=YMTW6oVq8Ta69UcMngUwvXn+F6SD+qeOPGmuv5sc5anFVwBwgFwFgsG8WipERc6bipidfNH997nHoN2xXhUif5ITIlExCkwlFNy45c95g9doO5t7xR5JzV1RSEj20JAw9xRbwbVCuR5n7UeT89Ytf/3kgaYSiAJKtopWc2o3Mpo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789587414; c=relaxed/simple; bh=4O8ZQghr/b2vo2kcWDO8kn89KdXTM4f5o7tWhR1fOhs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IgA4C4twtyCIRnuAO7Isl0QBEPc3Ha4SrONepaftPeCgGWxZIRVfpfkmR43Q3zGcbyMp/cfo/L12wgDKZyAERiwiKEiM9Js94BQpx+S9kX4PiohiORm2UEDdaZ6YDgectETTbR2ibLpJpx/RqR+nYZmWdqIh/2GYqTVeN5wVhbs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Q02awxWm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Q02awxWm" Received: by smtp.kernel.org (Postfix) with ESMTPS id D7198C2BCB3; Wed, 16 Sep 2026 19:36:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1789587412; bh=4O8ZQghr/b2vo2kcWDO8kn89KdXTM4f5o7tWhR1fOhs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=Q02awxWmAFFVGsHVK6U71zK73Tm2UaLh2VJ6qoB2XSwZJ97HPwwJHH5FqAG09dHhl g0GVKiG2RcGjLXvWxlVmgx995t8Xdoh6lT2xLNP/dZjhOYgLaqq3QTSIWm5+BO1qx4 9uYfJcSvjhOFbxDrcRw3ugI4T8xjMxV3va0VZ/tjaQNCqs2xW3tC681GRmWpmtSllh XLjE9QG1mZ8Ve1JLbzZ1+HKYE7i9UOSnI792c8FxdATJUutQU03R1xIKQFDv9P8Hil 0Zb4JteWnlWy8W8soV4QZSQwGnBOgGbqk1RCbU24DdqjZtkmSWs5INBxtIxLpkJ1pC zy1ROsZ7iA7Ow== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id ABA45C982C9; Wed, 16 Sep 2026 19:36:52 +0000 (UTC) From: Jens Glathe via B4 Relay Date: Wed, 16 Sep 2026 21:36:32 +0200 Subject: [PATCH v3 1/3] usb: typec: mux: ps883x: support TYPEC_DP_STATE_F Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260916-ps883x-disable-usb4-v3-1-8f19386456d0@oldschoolsolutions.biz> References: <20260916-ps883x-disable-usb4-v3-0-8f19386456d0@oldschoolsolutions.biz> In-Reply-To: <20260916-ps883x-disable-usb4-v3-0-8f19386456d0@oldschoolsolutions.biz> To: Heikki Krogerus , Greg Kroah-Hartman , Abel Vesa , Bjorn Andersson , Konrad Dybcio , Sebastian Reichel Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, stable@vger.kernel.org, "Dr. David Alan Gilbert" , Dmitry Baryshkov , Jens Glathe X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789587411; l=875; i=jens.glathe@oldschoolsolutions.biz; s=20240919; h=from:subject:message-id; bh=bPpIDIw9LIDQr0mVlf5HDy4Ak7MRxbqehghQmc4sQjc=; b=LHj2y6UFpyTA572+L/o2uijs3EUo/ziZR1xwCz0JVVwZk/Oij1hJUry+VHgMYX1ot941lpRCl UTNuQqXro43DJeq3Vt98QbQUQ3Ik58/R/whW4InCspZ5g5knYC598B9 X-Developer-Key: i=jens.glathe@oldschoolsolutions.biz; a=ed25519; pk=JcRJqJc/y8LsxOlPakALD3juGfOKmFBWtO+GfELMJVg= X-Endpoint-Received: by B4 Relay for jens.glathe@oldschoolsolutions.biz/20240919 with auth_id=216 X-Original-From: Jens Glathe Reply-To: jens.glathe@oldschoolsolutions.biz From: Jens Glathe Several docks, including the Lenovo 40B0 and SSK SC220, still send the legacy TYPEC_DP_STATE_F mode request (deprecated since DisplayPort Alt Mode spec version 1.0b). Group it with TYPEC_DP_STATE_D. Assisted-by: Grok(xAI):4.6 Signed-off-by: Jens Glathe Acked-by: Heikki Krogerus --- drivers/usb/typec/mux/ps883x.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/usb/typec/mux/ps883x.c b/drivers/usb/typec/mux/ps883x.c index 64e0a61b776a1..a5696aef054ee 100644 --- a/drivers/usb/typec/mux/ps883x.c +++ b/drivers/usb/typec/mux/ps883x.c @@ -207,6 +207,7 @@ static int ps883x_set(struct ps883x_retimer *retimer, s= truct typec_retimer_state =20 switch (state->mode) { case TYPEC_DP_STATE_D: + case TYPEC_DP_STATE_F: cfg0 |=3D CONN_STATUS_0_USB_3_1_CONNECTED; fallthrough; case TYPEC_DP_STATE_C: --=20 2.53.0 From nobody Fri Sep 25 04:10:10 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A2528495AE3; Wed, 16 Sep 2026 19:36:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789587414; cv=none; b=Tx18vN4aEAPogyJ413FOrqhD2SAWoz5PejVFkIFdpGsl4+9mzVjUS71yRZfRnBUJM6x9HcXuTtf+a+pMZz8lQhxaNS7/IoNUEVFo4YVo1ZdVa9NUZpMzNuTSh/nZsOw5rx8pG6aGlJ/Jy/KMNBDlGE80QQnBd4JRg1cC0z7SdeY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789587414; c=relaxed/simple; bh=JQb7VN7D52q9ySt+RSTPP0oOy5LMHg+rfhWRb2KNeoc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ELST+nBRyffH2Wu9G6bd3r0RNMQouJC8tI8U4QxDiLAsP4dsl8zI5XWwX4AuZuX9V981tKYWJ2bJhOohDd8DMfvGNUa07e6krVCUvvYPEHPwcBj3H/g4uFA11GATL2c7Wv65i56JpxSxqjBcCIUqviPEW5auaDSap6QRc1j8yzU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=u9AIhFCH; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="u9AIhFCH" Received: by smtp.kernel.org (Postfix) with ESMTPS id 10A1BC2BCFC; Wed, 16 Sep 2026 19:36:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1789587413; bh=JQb7VN7D52q9ySt+RSTPP0oOy5LMHg+rfhWRb2KNeoc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=u9AIhFCHnC0J1+Ot0Df4b2nJ29Fz+BEBd9WofnOhKgpwm3QYgey9EyoJjr242cIZ1 bu7R8xPMHeWXQNvZtTgWNmzQTe9Ec4X6dJH4TueIWVi7N07y27dCVcnrGUBw8FFgY8 +l2m9jR8w8kMlZMpv9pSw3uTLx0Si4Tf3vQE95WEuwCuGolYC0jA6vICD1hhgTu9KL 9Or3KeB2sH5vFbKjPItqsSzn/car642yEEBfg8ypnGB1O/awZ7qVRIcQX77Yt0R1ZL QWrH2liUXe1IIPLzN28QxMulsItHHRugh99ihDW4ipxMu+Juv07Sq5EcnfS1M1dump 6+hwaH7TT6CmA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C0969C982D0; Wed, 16 Sep 2026 19:36:52 +0000 (UTC) From: Jens Glathe via B4 Relay Date: Wed, 16 Sep 2026 21:36:33 +0200 Subject: [PATCH v3 2/3] usb: typec: mux: ps883x: add a delay after writing config regs Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260916-ps883x-disable-usb4-v3-2-8f19386456d0@oldschoolsolutions.biz> References: <20260916-ps883x-disable-usb4-v3-0-8f19386456d0@oldschoolsolutions.biz> In-Reply-To: <20260916-ps883x-disable-usb4-v3-0-8f19386456d0@oldschoolsolutions.biz> To: Heikki Krogerus , Greg Kroah-Hartman , Abel Vesa , Bjorn Andersson , Konrad Dybcio , Sebastian Reichel Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, stable@vger.kernel.org, "Dr. David Alan Gilbert" , Dmitry Baryshkov , Jens Glathe X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789587411; l=1571; i=jens.glathe@oldschoolsolutions.biz; s=20240919; h=from:subject:message-id; bh=QjUP6gScoHtaAUdZ8JeHXSs4MMhjRv1uTt6ick8pHTM=; b=RgNl60w7fXBKWIxfqO9UOL0xF6daFs95uSanJEz9VOR+iJOs6v342z9ihGIxVNyk1sgJRt+SQ 9dMHJi5RZ/aDESY2MQGHdGuCVcDALp5sXC96hCf3IUw4T5qBlecXJ/d X-Developer-Key: i=jens.glathe@oldschoolsolutions.biz; a=ed25519; pk=JcRJqJc/y8LsxOlPakALD3juGfOKmFBWtO+GfELMJVg= X-Endpoint-Received: by B4 Relay for jens.glathe@oldschoolsolutions.biz/20240919 with auth_id=216 X-Original-From: Jens Glathe Reply-To: jens.glathe@oldschoolsolutions.biz From: Jens Glathe The connection-status registers need time to propagate through the analog front-end (PLLs, lane training) after they are written. A 30 ms delay after ps883x_configure() brings DisplayPort Alt Mode hotplug on the Lenovo 40B0 to a reliable success rate. Tested with T14s G6 and IdeaCentre Mini with the 40B0 dock on the HDMI port with a Type-C host cable. Qualcomm firmware that programs this retimer from an MCU uses a similar post-config delay. Assisted-by: Grok(xAI):4.6 Signed-off-by: Jens Glathe Acked-by: Heikki Krogerus --- drivers/usb/typec/mux/ps883x.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/usb/typec/mux/ps883x.c b/drivers/usb/typec/mux/ps883x.c index a5696aef054ee..15aee1d613b1a 100644 --- a/drivers/usb/typec/mux/ps883x.c +++ b/drivers/usb/typec/mux/ps883x.c @@ -7,6 +7,7 @@ =20 #include #include +#include #include #include #include @@ -184,6 +185,15 @@ static int ps883x_configure(struct ps883x_retimer *ret= imer, int cfg0, return ret; } =20 + /* + * The retimer needs time after the connection-status registers are + * written for the analog front-end (PLLs, lane training) to settle. + * Without this, DisplayPort Alt Mode hotplug is unreliable on some + * docks (e.g. Lenovo 40B0). Qualcomm firmware on platforms that + * program this chip from an MCU uses a similar post-config delay. + */ + fsleep(30000); + return 0; } =20 --=20 2.53.0 From nobody Fri Sep 25 04:10:10 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 879AB41834B; Wed, 16 Sep 2026 19:36:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789587414; cv=none; b=Y/PKooFjOYB5Qp4cLeyrYpH9flNrExwd8JMcdoPDcRXKPLciHsBRDUxAy/GOcaf/EJkvW6W63VSO3rbCjKsZJ3M1CY643hdR03R5fLjN80S4aUI/0a5aWlSEEpQHy2t/y90Np7IZ5JzbtC3fce3c8nvI9zmrCu23Gcym8bw/x4c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789587414; c=relaxed/simple; bh=2qxTVfGn6dl1TaHgUSX2Fgd6ae+3OG/BYVvwDXz02rk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dJ7pM6yFgdJhgPf2EdGHRigmX8spKx2maOI1yjTtbKiV85gpEHJvqF3OJeZABH6F1Ovs/oEcCH1STUsfsSXk8QM4GRrc5FYbalSXDlwGzpgFqcBG4Sg6YIb1+wkTonq6dAWl2Z2JnPtVy2shEVc6ro3dn4kJAMRfiEtNrrOL3r8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=acNvwRyy; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="acNvwRyy" Received: by smtp.kernel.org (Postfix) with ESMTPS id 02015C4AF0B; Wed, 16 Sep 2026 19:36:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1789587413; bh=2qxTVfGn6dl1TaHgUSX2Fgd6ae+3OG/BYVvwDXz02rk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=acNvwRyy1RCCyRme3LqnSW1PXvLbVQ8yMoGjbuoE64MkeHILauo6Z4zu2hqPhMYUE 55dwW//5rmiPX4tyET5D8kG8QU+MHYlQ9t+hLvaEiFOKuagpk5PEFVnQgNhtu+sSZg ScMMr8Q4Q+bvCKN55VXkrnvHQxlLoJj/SBPE2d+VxOGZTwF2uZToMlVNK4wFsr88H/ wzzvKUpnRafdS/6rUrHGTQndtbS8O36MdOJy7xMRvLE1hTpt0a1DQZ/np4/1Po+Hhk 3trQ+nTVXsFFZQghDQIXTEwyPW/09alTARpt1ECXyNQHW0rdwK+DnYK9EA/Qxhipe/ jTLYGLgMumRCA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D841FC982D1; Wed, 16 Sep 2026 19:36:52 +0000 (UTC) From: Jens Glathe via B4 Relay Date: Wed, 16 Sep 2026 21:36:34 +0200 Subject: [PATCH v3 3/3] usb: typec: mux: ps883x: disable USB4 on incomplete USB4 platforms Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260916-ps883x-disable-usb4-v3-3-8f19386456d0@oldschoolsolutions.biz> References: <20260916-ps883x-disable-usb4-v3-0-8f19386456d0@oldschoolsolutions.biz> In-Reply-To: <20260916-ps883x-disable-usb4-v3-0-8f19386456d0@oldschoolsolutions.biz> To: Heikki Krogerus , Greg Kroah-Hartman , Abel Vesa , Bjorn Andersson , Konrad Dybcio , Sebastian Reichel Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, stable@vger.kernel.org, "Dr. David Alan Gilbert" , Dmitry Baryshkov , Jens Glathe X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789587411; l=3563; i=jens.glathe@oldschoolsolutions.biz; s=20240919; h=from:subject:message-id; bh=LWQBlYVaxNpRJx4oDZ05Vzvdm0+zYNn5AZkQ3g0e6Rk=; b=uyr1eY8Z9C/Flb6+h8Zmsm4E8bK5Ifflx2QqC/p8x+7c/i6YeF3zverIVSnZGzKKExZVNZ0sf ykyGcn57XHLB0wGoN9qUmSHk/JDeUNtyLcbU3PjX1d0krp9sla30JUn X-Developer-Key: i=jens.glathe@oldschoolsolutions.biz; a=ed25519; pk=JcRJqJc/y8LsxOlPakALD3juGfOKmFBWtO+GfELMJVg= X-Endpoint-Received: by B4 Relay for jens.glathe@oldschoolsolutions.biz/20240919 with auth_id=216 X-Original-From: Jens Glathe Reply-To: jens.glathe@oldschoolsolutions.biz From: Jens Glathe On Qualcomm X1E80100 / X1P42100 platforms using the Parade PS883x retimer, hotplugging USB4-capable docks such as the Lenovo 40B0 can result in working USB but no DisplayPort output. When the dock negotiates USB4, the retimer receives TYPEC_MODE_USB4 and forwards it via typec_mux_set(). The qmp-combo PHY then selects USB3-only because no classic DP altmode SVID is present in the state, leaving the DP transmitter and AUX channel disabled. Reject USB4 with -EOPNOTSUPP on platforms whose USB4 / DP-tunneling stack is not ready yet. The Type-C stack then falls back to USB3 + DP Alt Mode. DP altmode configuration continues to use the existing ps883x_set() path. Use a machine-compatible table rather than a DT property so the quirk stays inside the kernel and can be removed later without creating ABI. Link: https://patch.msgid.link/20260312101431.2375709-1-krishna.kurapati@os= s.qualcomm.com Assisted-by: Grok(xAI):4.6 Tested-by: Dr. David Alan Gilbert Signed-off-by: Jens Glathe Acked-by: Heikki Krogerus --- drivers/usb/typec/mux/ps883x.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/drivers/usb/typec/mux/ps883x.c b/drivers/usb/typec/mux/ps883x.c index 15aee1d613b1a..2ec57cfe748a9 100644 --- a/drivers/usb/typec/mux/ps883x.c +++ b/drivers/usb/typec/mux/ps883x.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -42,6 +43,22 @@ #define CONN_STATUS_2_TBT_UNIDIR_LSRX_ACT_LT BIT(4) #define CONN_STATUS_2_USB4_CONNECTED BIT(7) =20 +/* + * Platforms where the USB4 / DP-tunneling stack is not ready yet. Rejecti= ng + * USB4 here lets the Type-C stack fall back to USB3 + DP Alt Mode instead= of + * negotiating USB4 and then failing to drive DisplayPort. + * + * This is a temporary, kernel-contained quirk (not DT ABI). Drop the entr= ies + * once the corresponding USB4 support is complete. + */ +static const char * const ps883x_disable_usb4_compats[] =3D { + "qcom,x1e80100", + "qcom,x1p42100", + "qcom,hamoa", + "qcom,purwa", + NULL, +}; + struct ps883x_retimer { struct i2c_client *client; struct gpio_desc *reset_gpio; @@ -63,8 +80,21 @@ struct ps883x_retimer { =20 enum typec_orientation orientation; bool in_reset; + bool disable_usb4; }; =20 +static bool ps883x_should_disable_usb4(void) +{ + const char * const *compat; + + for (compat =3D ps883x_disable_usb4_compats; *compat; compat++) { + if (of_machine_is_compatible(*compat)) + return true; + } + + return false; +} + static int ps883x_enable_vregs(struct ps883x_retimer *retimer) { struct device *dev =3D &retimer->client->dev; @@ -260,6 +290,9 @@ static int ps883x_set(struct ps883x_retimer *retimer, s= truct typec_retimer_state cfg0 |=3D CONN_STATUS_0_USB_3_1_CONNECTED; break; case TYPEC_MODE_USB4: + if (retimer->disable_usb4) + return -EOPNOTSUPP; + eudo_data =3D state->data; =20 cfg2 |=3D CONN_STATUS_2_USB4_CONNECTED; @@ -389,6 +422,10 @@ static int ps883x_retimer_probe(struct i2c_client *cli= ent) =20 retimer->client =3D client; =20 + retimer->disable_usb4 =3D ps883x_should_disable_usb4(); + if (retimer->disable_usb4) + dev_info(dev, "USB4 disabled until platform USB4 support is complete\n"); + mutex_init(&retimer->lock); =20 retimer->regmap =3D devm_regmap_init_i2c(client, &ps883x_retimer_regmap); --=20 2.53.0