Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp3672392pxv; Tue, 13 Jul 2021 00:41:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwtpiJtk9BYbRr82IIxqWQvwv/ouMMB0TaV0Ck8Ag3B5e/BZndjIXdchESqQh+M5sF9QiW9 X-Received: by 2002:a05:6602:3315:: with SMTP id b21mr2240880ioz.13.1626162078679; Tue, 13 Jul 2021 00:41:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626162078; cv=none; d=google.com; s=arc-20160816; b=R7Kd50YOciBZenVRjk+bHPRCLueVt8TFOJXT9HMkywgMvzOJr2EIJ0eCJRxzpAJIyP ZZdPNKuZAycJb/lT0jA3G/5DTpFcWJVknHATZQOM5TPe4Yd8/1WH3Uy/Cy9UX3pxwqbS Napxl8SOCA5bFD9/kE1ey8hZ/62sZKiLKENJBCCfiuoQYSrPH7YbFh912wjE1C5kPMaC mjqaf0HBK78kIM2CQirqGvdOIqH1M8Y5BAMKsj5onEO6T9dV5Z/OJTFH5K++0EuQdDCt SdcCfkSgQ5yFHvefd+M59v/nn4ON1HOy7k5dmoIZMj7VHRyPObFqvsy+zo1xmKV+CLLm eXlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:message-id:date :subject:cc:to:from; bh=7IxymEfABkXr1aD97EvOF+bHzlA2Tkva/7KW6UBMqPY=; b=TvNG+mtXUoBDAM3wGJyWIOKuzHhfAeEEOmcbFTdLLfaLDJH3aBEiXEBsj5Ive5D6Ni kdG7UdQV0HiaJssKariTKpAxmIT2JOAAawsaTLDKJPcytSSXNT8bXRTDAoVTuaZXmt2j zpTeHtPtq8oVTuCCpbydvPln6qyI9BCc7HiXWQo0IqcaqiE9294aDXrgsUD0CV7pPBlB FFVRwELkU1Lpfz7mMLL2dWD2CknRBfkVBGsPfPY+nnfsQf3izxTHUef9n7VskwBzt3J2 W0O3cQqduODMR3FltqZpkSbVDPFYh35xJL6B077lmX32TY1dibwpcW41Ih6D+RCtr6aO EJzw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=puri.sm Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m19si22095983jav.63.2021.07.13.00.41.06; Tue, 13 Jul 2021 00:41:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=puri.sm Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234211AbhGMHnR (ORCPT + 99 others); Tue, 13 Jul 2021 03:43:17 -0400 Received: from comms.puri.sm ([159.203.221.185]:51572 "EHLO comms.puri.sm" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233762AbhGMHnQ (ORCPT ); Tue, 13 Jul 2021 03:43:16 -0400 Received: from localhost (localhost [127.0.0.1]) by comms.puri.sm (Postfix) with ESMTP id E6D8AE0494; Tue, 13 Jul 2021 00:39:56 -0700 (PDT) Received: from comms.puri.sm ([127.0.0.1]) by localhost (comms.puri.sm [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7ofEuaigVpKE; Tue, 13 Jul 2021 00:39:56 -0700 (PDT) From: Martin Kepplinger To: heikki.krogerus@linux.intel.com, gregkh@linuxfoundation.org Cc: grandmaster@al2klimov.de, kernel@puri.sm, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Martin Kepplinger Subject: [PATCH] usb: typec: tipd: Don't block probing of consumer of "connector" nodes Date: Tue, 13 Jul 2021 09:39:46 +0200 Message-Id: <20210713073946.102501-1-martin.kepplinger@puri.sm> Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Similar as with tcpm this patch lets fw_devlink know not to wait on the fwnode to be populated as a struct device. Without this patch, USB functionality can be broken on some previously supported boards. Fixes: 28ec344bb891 ("usb: typec: tcpm: Don't block probing of consumers of "connector" nodes") Signed-off-by: Martin Kepplinger --- hi, at least the boards based on imx8mq-librem5.dtsi suffer from this, possibly more. thanks, martin drivers/usb/typec/tipd/core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c index 938219bc1b4b..b31aaf57eb3b 100644 --- a/drivers/usb/typec/tipd/core.c +++ b/drivers/usb/typec/tipd/core.c @@ -629,6 +629,8 @@ static int tps6598x_probe(struct i2c_client *client) if (!fwnode) return -ENODEV; + fw_devlink_purge_absent_suppliers(fwnode); + tps->role_sw = fwnode_usb_role_switch_get(fwnode); if (IS_ERR(tps->role_sw)) { ret = PTR_ERR(tps->role_sw); -- 2.30.2