Re: [PATCH v2 1/4] mmc: sdhci_am654: Move tuning_loop to local variable

"Mendez, Judith" <[email protected]>
Newsgroups org.kernel.vger.linux-kernel,org.kernel.vger.linux-mmc
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;
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.