[U-Boot] [PATCH v6] mmc: gen_atmel_mci: add driver model support for mci
Wenyou.Yang at microchip.com
Wenyou.Yang at microchip.com
Tue Jul 11 06:09:34 UTC 2017
Hi Simon,
Sorry for late answer.
> -----Original Message-----
> From: sjg at google.com [mailto:sjg at google.com] On Behalf Of Simon Glass
> Sent: 2017年7月5日 3:33
> To: Wenyou Yang - A41535 <Wenyou.Yang at microchip.com>
> Cc: U-Boot Mailing List <u-boot at lists.denx.de>; Jaehoon Chung
> <jh80.chung at samsung.com>; Wenyou Yang - A41535
> <Wenyou.Yang at microchip.com>; Andreas Bießmann <andreas at biessmann.org>;
> Tom Rini <trini at konsulko.com>; Stephen Warren <swarren at nvidia.com>
> Subject: Re: [PATCH v6] mmc: gen_atmel_mci: add driver model support for mci
>
> Hi Wenyou,
>
> On 12 April 2017 at 20:29, Wenyou Yang <wenyou.yang at atmel.com> wrote:
> > Add the driver model support for Atmel mci while retaining the
> > existing legacy code. This allows the driver to support boards that
> > have converted to driver model as well as those that have not.
> >
> > Signed-off-by: Wenyou Yang <wenyou.yang at atmel.com>
> > ---
> >
> > Changes in v6:
> > - Rebase the master branch (commit: 4f6d85bb51).
> >
> > Changes in v5:
> > - Rebase on v2017.03.
> >
> > Changes in v4:
> > - Remove unneeded #ifdef CONFIG_DM_MMC.
> >
> > Changes in v3:
> > - Use unified #ifdef CONFIG_DM_MMC #else...#endif, instead of #ifndef
> CONFIG_DM_MMC
> > #else...#endif.
> >
> > Changes in v2:
> > - Change the return type of atmel_mci_setup_cfg() from int to void.
> > - Add comments on the features depends on the IP version.
> > - Add the error handle path of clock.
> > - Fix the missing use priv->bus_clk_rate.
> > - Return from mmc_bind() directly, instead of checking its return.
> >
> > drivers/mmc/Kconfig | 9 +++
> > drivers/mmc/gen_atmel_mci.c | 158
> > +++++++++++++++++++++++++++++++++++++++++++-
> > 2 files changed, 166 insertions(+), 1 deletion(-)
>
> > +static int atmel_mci_bind(struct udevice *dev) {
> > + struct atmel_mci_priv *priv = dev_get_priv(dev);
> > +
> > + return mmc_bind(dev, &priv->mmc, &priv->cfg); }
>
> Sorry for not noticing this before, but I don't think this works as intended. The
> bind() method is called before the device is probed and so the device has no
> private data. You should use dev_get_platdata() here, and set up a new structure
> to hold the mmc and cfg members.
>
> See for example omap_hsmmc.c
Thank you for your correcting, I will send a patch to fix it.
>
> Regards,
> Simon
Best Regards,
Wenyou Yang
More information about the U-Boot
mailing list