[U-Boot] [PATCH 3/3] mmc: Split mmc struct, rework mmc initialization

Simon Glass sjg at chromium.org
Fri Mar 14 21:56:35 CET 2014


On 12 March 2014 04:24, Pantelis Antoniou <panto at antoniou-consulting.com> wrote:
> The way that struct mmc was implemented was a bit of a mess;
> configuration and internal state all jumbled up in a single structure.
>
> On top of that the way initialization is done with mmc_register leads
> to a lot of duplicated code in drivers.
>
> Typically the initialization got something like this in every driver.
>
>         struct mmc *mmc = malloc(sizeof(struct mmc));
>         memset(mmc, 0, sizeof(struct mmc);
>         /* fill in fields of mmc struct */
>         /* store private data pointer */
>         mmc_register(mmc);
>
> By using the new mmc_create call one just passes an mmc config struct
> and an optional private data pointer like this:
>
>         struct mmc = mmc_create(&cfg, priv);
>
> All in tree drivers have been updated to the new form, and expect
> mmc_register to go away before long.

Looks like a big improvement!

>
> Signed-off-by: Pantelis Antoniou <panto at antoniou-consulting.com>


More information about the U-Boot mailing list