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

Neil Armstrong neil.armstrong at linaro.org
Tue Mar 17 15:55:48 CET 2026


On 3/17/26 15:24, Julien Stephan wrote:
> 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;
> 

Reviewed-by: Neil Armstrong <neil.armstrong at linaro.org>

Thanks,
Neil


More information about the U-Boot mailing list