Re: [PATCH v2 1/4] mmc: sdhci_am654: Move tuning_loop to local variable
"Mendez, Judith" <[email protected]> Mon, 3 Aug 2026 14:19:09 -0500
| Newsgroups | org.kernel.vger.linux-mmc,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Hi Diogo, On 8/3/2026 8:47 AM, Diogo Ivo (Schneider Electric) wrote: > The tuning_loop field in struct sdhci_am654_data is only used within > sdhci_am654_platform_execute_tuning() as a loop counter that is > initialized to 0 in sdhci_am654_init(). Since it shouldn't persist across > function calls, otherwise every failure expends its "budget", move it to a > local variable and remove the struct field along with the now-unnecessary > initialization. > > Signed-off-by: Diogo Ivo (Schneider Electric) <[email protected]> Thanks for your patch. Seems logical to me. Reviewed-by: Judith Mendez <[email protected]> > --- > Changes in v2: > - New patch suggested by Sashiko > --- > drivers/mmc/host/sdhci_am654.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c > index d235b0aecfdb..35c3efd92112 100644 > --- a/drivers/mmc/host/sdhci_am654.c > +++ b/drivers/mmc/host/sdhci_am654.c > @@ -151,7 +151,6 @@ struct sdhci_am654_data { > u32 flags; > u32 quirks; > bool dll_enable; > - u32 tuning_loop; > > #define SDHCI_AM654_QUIRK_FORCE_CDTEST BIT(0) > #define SDHCI_AM654_QUIRK_SUPPRESS_V1P8_ENA BIT(1) > @@ -576,13 +575,14 @@ static int sdhci_am654_platform_execute_tuning(struct sdhci_host *host, > struct sdhci_am654_data *sdhci_am654 = sdhci_pltfm_priv(pltfm_host); > unsigned char timing = host->mmc->ios.timing; > struct device *dev = mmc_dev(host->mmc); > + unsigned int tuning_loop = 0; > int itapdly; > > do { > itapdly = sdhci_am654_do_tuning(host, opcode); > if (itapdly >= 0) > break; > - } while (++sdhci_am654->tuning_loop < RETRY_TUNING_MAX); > + } while (++tuning_loop < RETRY_TUNING_MAX); > > if (itapdly < 0) { > dev_err(dev, "Failed to find itapdly, fail tuning\n"); > @@ -806,9 +806,6 @@ static int sdhci_am654_init(struct sdhci_host *host) > regmap_update_bits(sdhci_am654->base, CTL_CFG_3, TUNINGFORSDR50_MASK, > TUNINGFORSDR50_MASK); > > - /* Use to re-execute tuning */ > - sdhci_am654->tuning_loop = 0; > - > ret = sdhci_setup_host(host); > if (ret) > return ret; >