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 |
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(®s->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; > } > >
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(®s->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 --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(®s->sysctl, SYSCTL_PEREN | SYSCTL_CKEN); #endif + mmc->clock = sdhc_clk / pre_div / div; priv->clock = clock; }