diff mbox series

[v2] mmc: Unconditionally call mmc_deinit()

Message ID 20240317030147.509788-1-marek.vasut+renesas@mailbox.org
State Accepted
Commit 27ba82cb6c2be7e4bb4694d52f107a75fc66ce68
Delegated to: Jaehoon Chung
Headers show
Series [v2] mmc: Unconditionally call mmc_deinit() | expand

Commit Message

Marek Vasut March 17, 2024, 3:01 a.m. UTC
Place the SDR104/HS200/HS400 checks into the mmc_deinit() and always
call it. This simplifies the code and removes ifdeffery. No functional
change is expected.

Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Peng Fan <peng.fan@nxp.com>
---
V2: - Add sd_select_mode_and_width and mmc_select_mode_and_width stubs
      in case MMC_TINY is defined
    - Add RB from Jaehoon
---
 drivers/mmc/mmc-uclass.c | 13 +------------
 drivers/mmc/mmc.c        | 19 +++++++++++++++----
 2 files changed, 16 insertions(+), 16 deletions(-)

Comments

Dragan Simic March 17, 2024, 3:17 a.m. UTC | #1
On 2024-03-17 04:01, Marek Vasut wrote:
> Place the SDR104/HS200/HS400 checks into the mmc_deinit() and always
> call it. This simplifies the code and removes ifdeffery. No functional
> change is expected.
> 
> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>

Looking good to me.

Reviewed-by: Dragan Simic <dsimic@manjaro.org>

> ---
> Cc: Jaehoon Chung <jh80.chung@samsung.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> ---
> V2: - Add sd_select_mode_and_width and mmc_select_mode_and_width stubs
>       in case MMC_TINY is defined
>     - Add RB from Jaehoon
> ---
>  drivers/mmc/mmc-uclass.c | 13 +------------
>  drivers/mmc/mmc.c        | 19 +++++++++++++++----
>  2 files changed, 16 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c
> index 328456831dd..cdead044177 100644
> --- a/drivers/mmc/mmc-uclass.c
> +++ b/drivers/mmc/mmc-uclass.c
> @@ -494,10 +494,7 @@ static int mmc_blk_probe(struct udevice *dev)
>  	if (ret) {
>  		debug("Probing %s failed (err=%d)\n", dev->name, ret);
> 
> -		if (CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ||
> -		    CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) ||
> -		    CONFIG_IS_ENABLED(MMC_HS400_SUPPORT))
> -			mmc_deinit(mmc);
> +		mmc_deinit(mmc);
> 
>  		return ret;
>  	}
> @@ -505,9 +502,6 @@ static int mmc_blk_probe(struct udevice *dev)
>  	return 0;
>  }
> 
> -#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) || \
> -    CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) || \
> -    CONFIG_IS_ENABLED(MMC_HS400_SUPPORT)
>  static int mmc_blk_remove(struct udevice *dev)
>  {
>  	struct udevice *mmc_dev = dev_get_parent(dev);
> @@ -516,7 +510,6 @@ static int mmc_blk_remove(struct udevice *dev)
> 
>  	return mmc_deinit(mmc);
>  }
> -#endif
> 
>  static const struct blk_ops mmc_blk_ops = {
>  	.read	= mmc_bread,
> @@ -532,12 +525,8 @@ U_BOOT_DRIVER(mmc_blk) = {
>  	.id		= UCLASS_BLK,
>  	.ops		= &mmc_blk_ops,
>  	.probe		= mmc_blk_probe,
> -#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) || \
> -    CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) || \
> -    CONFIG_IS_ENABLED(MMC_HS400_SUPPORT)
>  	.remove		= mmc_blk_remove,
>  	.flags		= DM_FLAG_OS_PREPARE,
> -#endif
>  };
>  #endif /* CONFIG_BLK */
> 
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
> index d96db7a0f83..4722bb2711a 100644
> --- a/drivers/mmc/mmc.c
> +++ b/drivers/mmc/mmc.c
> @@ -2250,6 +2250,16 @@ error:
> 
>  	return -ENOTSUPP;
>  }
> +#else
> +static int sd_select_mode_and_width(struct mmc *mmc, uint card_caps)
> +{
> +	return 0;
> +};
> +
> +static int mmc_select_mode_and_width(struct mmc *mmc, uint card_caps)
> +{
> +	return 0;
> +};
>  #endif
> 
>  #if CONFIG_IS_ENABLED(MMC_TINY)
> @@ -3010,13 +3020,15 @@ int mmc_init(struct mmc *mmc)
>  	return err;
>  }
> 
> -#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) || \
> -    CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) || \
> -    CONFIG_IS_ENABLED(MMC_HS400_SUPPORT)
>  int mmc_deinit(struct mmc *mmc)
>  {
>  	u32 caps_filtered;
> 
> +	if (!CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) &&
> +	    !CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) &&
> +	    !CONFIG_IS_ENABLED(MMC_HS400_SUPPORT))
> +		return 0;
> +
>  	if (!mmc->has_init)
>  		return 0;
> 
> @@ -3034,7 +3046,6 @@ int mmc_deinit(struct mmc *mmc)
>  		return mmc_select_mode_and_width(mmc, caps_filtered);
>  	}
>  }
> -#endif
> 
>  int mmc_set_dsr(struct mmc *mmc, u16 val)
>  {
diff mbox series

Patch

diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c
index 328456831dd..cdead044177 100644
--- a/drivers/mmc/mmc-uclass.c
+++ b/drivers/mmc/mmc-uclass.c
@@ -494,10 +494,7 @@  static int mmc_blk_probe(struct udevice *dev)
 	if (ret) {
 		debug("Probing %s failed (err=%d)\n", dev->name, ret);
 
-		if (CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ||
-		    CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) ||
-		    CONFIG_IS_ENABLED(MMC_HS400_SUPPORT))
-			mmc_deinit(mmc);
+		mmc_deinit(mmc);
 
 		return ret;
 	}
@@ -505,9 +502,6 @@  static int mmc_blk_probe(struct udevice *dev)
 	return 0;
 }
 
-#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) || \
-    CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) || \
-    CONFIG_IS_ENABLED(MMC_HS400_SUPPORT)
 static int mmc_blk_remove(struct udevice *dev)
 {
 	struct udevice *mmc_dev = dev_get_parent(dev);
@@ -516,7 +510,6 @@  static int mmc_blk_remove(struct udevice *dev)
 
 	return mmc_deinit(mmc);
 }
-#endif
 
 static const struct blk_ops mmc_blk_ops = {
 	.read	= mmc_bread,
@@ -532,12 +525,8 @@  U_BOOT_DRIVER(mmc_blk) = {
 	.id		= UCLASS_BLK,
 	.ops		= &mmc_blk_ops,
 	.probe		= mmc_blk_probe,
-#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) || \
-    CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) || \
-    CONFIG_IS_ENABLED(MMC_HS400_SUPPORT)
 	.remove		= mmc_blk_remove,
 	.flags		= DM_FLAG_OS_PREPARE,
-#endif
 };
 #endif /* CONFIG_BLK */
 
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index d96db7a0f83..4722bb2711a 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -2250,6 +2250,16 @@  error:
 
 	return -ENOTSUPP;
 }
+#else
+static int sd_select_mode_and_width(struct mmc *mmc, uint card_caps)
+{
+	return 0;
+};
+
+static int mmc_select_mode_and_width(struct mmc *mmc, uint card_caps)
+{
+	return 0;
+};
 #endif
 
 #if CONFIG_IS_ENABLED(MMC_TINY)
@@ -3010,13 +3020,15 @@  int mmc_init(struct mmc *mmc)
 	return err;
 }
 
-#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) || \
-    CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) || \
-    CONFIG_IS_ENABLED(MMC_HS400_SUPPORT)
 int mmc_deinit(struct mmc *mmc)
 {
 	u32 caps_filtered;
 
+	if (!CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) &&
+	    !CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) &&
+	    !CONFIG_IS_ENABLED(MMC_HS400_SUPPORT))
+		return 0;
+
 	if (!mmc->has_init)
 		return 0;
 
@@ -3034,7 +3046,6 @@  int mmc_deinit(struct mmc *mmc)
 		return mmc_select_mode_and_width(mmc, caps_filtered);
 	}
 }
-#endif
 
 int mmc_set_dsr(struct mmc *mmc, u16 val)
 {