diff mbox series

[06/11] mmc: fsl_esdhc_imx: fix mmc->clock with actual clock

Message ID 20211105173945.92446-7-sean.anderson@seco.com
State Superseded
Delegated to: Peng Fan
Headers show
Series fsl_esdhc_imx: port several patches from fsl_esdhc | expand

Commit Message

Sean Anderson Nov. 5, 2021, 5:39 p.m. UTC
[ fsl_esdhc commit 30f6444d024a74ee48aa6969c1531aecd3c59deb ]

Fix mmc->clock with actual clock which is divided by the
controller, and record it with priv->clock.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Sean Anderson <sean.anderson@seco.com>
---

 drivers/mmc/fsl_esdhc_imx.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Jaehoon Chung Nov. 9, 2021, 7:23 a.m. UTC | #1
On 11/6/21 2:39 AM, Sean Anderson wrote:
> [ fsl_esdhc commit 30f6444d024a74ee48aa6969c1531aecd3c59deb ]
> 
> Fix mmc->clock with actual clock which is divided by the
> controller, and record it with priv->clock.
> 
> Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
> Signed-off-by: Sean Anderson <sean.anderson@seco.com>
> ---
> 
>  drivers/mmc/fsl_esdhc_imx.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
> index a3cd9e5be1..dc71e39f8e 100644
> --- a/drivers/mmc/fsl_esdhc_imx.c
> +++ b/drivers/mmc/fsl_esdhc_imx.c
> @@ -665,6 +665,7 @@ static void set_sysctl(struct fsl_esdhc_priv *priv, struct mmc *mmc, uint clock)
>  	esdhc_setbits32(&regs->sysctl, SYSCTL_PEREN | SYSCTL_CKEN);
>  #endif
>  
> +	mmc->clock = sdhc_clk / pre_div / div;

Are there cases about "division by zero"?

Best Regards,
Jaehoon Chung

>  	priv->clock = clock;
>  }
>  
>
Sean Anderson Nov. 9, 2021, 2:43 p.m. UTC | #2
On 11/9/21 2:23 AM, Jaehoon Chung wrote:
> On 11/6/21 2:39 AM, Sean Anderson wrote:
>> [ fsl_esdhc commit 30f6444d024a74ee48aa6969c1531aecd3c59deb ]
>> 
>> Fix mmc->clock with actual clock which is divided by the
>> controller, and record it with priv->clock.
>> 
>> Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
>> Signed-off-by: Sean Anderson <sean.anderson@seco.com>
>> ---
>> 
>>  drivers/mmc/fsl_esdhc_imx.c | 1 +
>>  1 file changed, 1 insertion(+)
>> 
>> diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
>> index a3cd9e5be1..dc71e39f8e 100644
>> --- a/drivers/mmc/fsl_esdhc_imx.c
>> +++ b/drivers/mmc/fsl_esdhc_imx.c
>> @@ -665,6 +665,7 @@ static void set_sysctl(struct fsl_esdhc_priv *priv, struct mmc *mmc, uint clock)
>>  	esdhc_setbits32(&regs->sysctl, SYSCTL_PEREN | SYSCTL_CKEN);
>>  #endif
>>  
>> +	mmc->clock = sdhc_clk / pre_div / div;
> 
> Are there cases about "division by zero"?

pre_div and div are only ever set to positive numbers or incremented.

--Sean
diff mbox series

Patch

diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
index a3cd9e5be1..dc71e39f8e 100644
--- a/drivers/mmc/fsl_esdhc_imx.c
+++ b/drivers/mmc/fsl_esdhc_imx.c
@@ -665,6 +665,7 @@  static void set_sysctl(struct fsl_esdhc_priv *priv, struct mmc *mmc, uint clock)
 	esdhc_setbits32(&regs->sysctl, SYSCTL_PEREN | SYSCTL_CKEN);
 #endif
 
+	mmc->clock = sdhc_clk / pre_div / div;
 	priv->clock = clock;
 }