From 821090a28c7c77673428cda23824818caefdc6a8 Mon Sep 17 00:00:00 2001
From: Sebastian Reichel <sebastian.reichel@collabora.com>
Date: Fri, 18 Apr 2025 18:39:45 +0200
Subject: [PATCH] usb: typec: tcpm: Improve error printing during probe

It's currently quite hard to understand why a tcpm controller
probe might run into probe defer. Let's improve that by adding
some error messages.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
 drivers/usb/typec/tcpm/tcpm.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
index a99db4e025cd0..8c123b0e5d8af 100644
--- a/drivers/usb/typec/tcpm/tcpm.c
+++ b/drivers/usb/typec/tcpm/tcpm.c
@@ -7769,23 +7769,29 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
 		port->role_sw = fwnode_usb_role_switch_get(tcpc->fwnode);
 	if (IS_ERR(port->role_sw)) {
 		err = PTR_ERR(port->role_sw);
+		dev_err_probe(dev, err, "Failed to get USB role switch\n");
 		goto out_destroy_wq;
 	}
 
 	err = devm_tcpm_psy_register(port);
-	if (err)
+	if (err) {
+		dev_err_probe(dev, err, "Failed to register power-supply device\n");
 		goto out_role_sw_put;
+	}
 	power_supply_changed(port->psy);
 
 	err = tcpm_port_register_pd(port);
-	if (err)
+	if (err) {
+		dev_err_probe(dev, err, "Failed to register power-delivery\n");
 		goto out_role_sw_put;
+	}
 
 	if (port->pds)
 		port->typec_caps.pd = port->pds[0];
 
 	port->typec_port = typec_register_port(port->dev, &port->typec_caps);
 	if (IS_ERR(port->typec_port)) {
+		dev_err_probe(dev, err, "Failed to register Type-C port\n");
 		err = PTR_ERR(port->typec_port);
 		goto out_unregister_pd;
 	}
-- 
GitLab