[U-Boot] [PATCH v1 7/9] ARM: Odroid XU3: Fix the dwmci_exynos *priv data assignment for DM_MMC (sdr_timing)

Anand Moon linux.amoon at gmail.com
Fri Jul 27 03:12:18 UTC 2018


Hi Lukasz,

On 26 July 2018 at 03:55, Lukasz Majewski <lukma at denx.de> wrote:
> By convention for DM_MMC the host->priv is used to store struct udevice
> *dev pointer.
>
> Unfortunately, the legacy Exynos DW MMC code uses this field to
> store pointer to dwmci_exynos_priv_data struct
> Hence, we do need to get data in other way - namely by using container_of
> when host pointer is present.
> In this way the sdr_timing data is properly accessed.
>
> Signed-off-by: Lukasz Majewski <lukma at denx.de>
> ---
>
>  drivers/mmc/exynos_dw_mmc.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/exynos_dw_mmc.c b/drivers/mmc/exynos_dw_mmc.c
> index 49c4f7634830..cd0fa4c6341b 100644
> --- a/drivers/mmc/exynos_dw_mmc.c
> +++ b/drivers/mmc/exynos_dw_mmc.c
> @@ -46,8 +46,12 @@ struct dwmci_exynos_priv_data {
>   */
>  static void exynos_dwmci_clksel(struct dwmci_host *host)
>  {
> +#ifdef CONFIG_DM_MMC
> +       struct dwmci_exynos_priv_data *priv =
> +               container_of(host, struct dwmci_exynos_priv_data, host);
> +#else
>         struct dwmci_exynos_priv_data *priv = host->priv;
> -
> +#endif
>         dwmci_writel(host, DWMCI_CLKSEL, priv->sdr_timing);
>  }
>
> --
> 2.11.0
>

Please add my.
Tested-by: Anand Moon <linux.amoon at gmail.com>

Best Regards
-Anand


More information about the U-Boot mailing list