[PATCH 08/11] drivers: ufs: ufs-mediatek: fix phy handling

Julien Stephan jstephan at baylibre.com
Tue Mar 17 15:24:26 CET 2026


Currently mphy is declared as a pointer inside ufs_mtk_host struct, but
it is never initialized.

Fix this by using a struct phy directly in ufs_mtk_host struct instead
of a struct phy*. Update all call to mphy accordingly.

Signed-off-by: Julien Stephan <jstephan at baylibre.com>
---
 drivers/ufs/ufs-mediatek.c | 18 +++++++-----------
 drivers/ufs/ufs-mediatek.h |  2 +-
 2 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/drivers/ufs/ufs-mediatek.c b/drivers/ufs/ufs-mediatek.c
index e860d765eea..5d882904c84 100644
--- a/drivers/ufs/ufs-mediatek.c
+++ b/drivers/ufs/ufs-mediatek.c
@@ -182,19 +182,15 @@ static int ufs_mtk_bind_mphy(struct ufs_hba *hba)
 	struct ufs_mtk_host *host = dev_get_priv(hba->dev);
 	int err = 0;
 
-	err = generic_phy_get_by_index(hba->dev, 0, host->mphy);
+	err = generic_phy_get_by_index(hba->dev, 0, &host->mphy);
 
-	if (IS_ERR(host->mphy)) {
-		err = PTR_ERR(host->mphy);
-		if (err != -ENODEV) {
-			dev_info(hba->dev, "%s: Could NOT get a valid PHY %d\n", __func__,
-				 err);
-		}
+	if (err) {
+		if (err == -ENOENT)
+			return 0; /* no PHY, nothing to do */
+		dev_err(hba->dev, "Failed to get PHY: %d.\n", err);
+		return err;
 	}
 
-	if (err)
-		host->mphy = NULL;
-
 	return err;
 }
 
@@ -323,7 +319,7 @@ static int ufs_mtk_init(struct ufs_hba *hba)
 
 	// TODO: Clocking
 
-	err = generic_phy_power_on(priv->mphy);
+	err = generic_phy_power_on(&priv->mphy);
 	if (err) {
 		dev_err(hba->dev, "%s: phy init failed, err = %d\n",
 			__func__, err);
diff --git a/drivers/ufs/ufs-mediatek.h b/drivers/ufs/ufs-mediatek.h
index 11a83d34c5b..0ffd0483eff 100644
--- a/drivers/ufs/ufs-mediatek.h
+++ b/drivers/ufs/ufs-mediatek.h
@@ -154,7 +154,7 @@ struct ufs_mtk_mcq_intr_info {
 };
 
 struct ufs_mtk_host {
-	struct phy *mphy;
+	struct phy mphy;
 	struct reset_ctl *unipro_reset;
 	struct reset_ctl *crypto_reset;
 	struct reset_ctl *hci_reset;

-- 
2.52.0



More information about the U-Boot mailing list