diff mbox series

[v3,02/11] mmc: fsl_esdhc: add a reinit() callback

Message ID 20200723043016.6497-3-yangbo.lu@nxp.com
State Superseded
Delegated to: Peng Fan
Headers show
Series mmc: fsl_esdhc: support eMMC HS200/HS400 modes | expand

Commit Message

Yangbo Lu July 23, 2020, 4:30 a.m. UTC
Add a reinit() callback for mmc rescan.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
---
Changes for v2:
	- None.
Changes for v3:
	- None.
---
 drivers/mmc/fsl_esdhc.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Jaehoon Chung Aug. 24, 2020, 10:54 p.m. UTC | #1
On 7/23/20 1:30 PM, Yangbo Lu wrote:
> Add a reinit() callback for mmc rescan.
> 
> Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>

Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>

Best Regards,
Jaehoon Chung

> ---
> Changes for v2:
> 	- None.
> Changes for v3:
> 	- None.
> ---
>  drivers/mmc/fsl_esdhc.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
> index f6e0d43..4fff7b5 100644
> --- a/drivers/mmc/fsl_esdhc.c
> +++ b/drivers/mmc/fsl_esdhc.c
> @@ -946,6 +946,14 @@ static int fsl_esdhc_set_ios(struct udevice *dev)
>  	return esdhc_set_ios_common(priv, &plat->mmc);
>  }
>  
> +static int fsl_esdhc_reinit(struct udevice *dev)
> +{
> +	struct fsl_esdhc_plat *plat = dev_get_platdata(dev);
> +	struct fsl_esdhc_priv *priv = dev_get_priv(dev);
> +
> +	return esdhc_init_common(priv, &plat->mmc);
> +}
> +
>  static const struct dm_mmc_ops fsl_esdhc_ops = {
>  	.get_cd		= fsl_esdhc_get_cd,
>  	.send_cmd	= fsl_esdhc_send_cmd,
> @@ -953,6 +961,7 @@ static const struct dm_mmc_ops fsl_esdhc_ops = {
>  #ifdef MMC_SUPPORTS_TUNING
>  	.execute_tuning = fsl_esdhc_execute_tuning,
>  #endif
> +	.reinit = fsl_esdhc_reinit,
>  };
>  
>  static const struct udevice_id fsl_esdhc_ids[] = {
>
diff mbox series

Patch

diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index f6e0d43..4fff7b5 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -946,6 +946,14 @@  static int fsl_esdhc_set_ios(struct udevice *dev)
 	return esdhc_set_ios_common(priv, &plat->mmc);
 }
 
+static int fsl_esdhc_reinit(struct udevice *dev)
+{
+	struct fsl_esdhc_plat *plat = dev_get_platdata(dev);
+	struct fsl_esdhc_priv *priv = dev_get_priv(dev);
+
+	return esdhc_init_common(priv, &plat->mmc);
+}
+
 static const struct dm_mmc_ops fsl_esdhc_ops = {
 	.get_cd		= fsl_esdhc_get_cd,
 	.send_cmd	= fsl_esdhc_send_cmd,
@@ -953,6 +961,7 @@  static const struct dm_mmc_ops fsl_esdhc_ops = {
 #ifdef MMC_SUPPORTS_TUNING
 	.execute_tuning = fsl_esdhc_execute_tuning,
 #endif
+	.reinit = fsl_esdhc_reinit,
 };
 
 static const struct udevice_id fsl_esdhc_ids[] = {