diff options
| author | Julien Stephan <[email protected]> | 2026-03-18 17:50:58 +0100 |
|---|---|---|
| committer | David Lechner <[email protected]> | 2026-04-17 17:05:54 -0500 |
| commit | ac6e41ee6e6596c17e7a7ebbd15723f82c4fd20f (patch) | |
| tree | 14836125e558fd30ae827941da596733ec605ea3 | |
| parent | e13229b66a43867e3c13b24da6bde7a2fe265ce6 (diff) | |
drivers: ufs: ufs-mediatek: fix phy handling
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.
Reviewed-by: Neil Armstrong <[email protected]>
Signed-off-by: Julien Stephan <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: David Lechner <[email protected]>
| -rw-r--r-- | drivers/ufs/ufs-mediatek.c | 18 | ||||
| -rw-r--r-- | 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; |
