[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