All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Kocialkowski <contact@paulk.fr>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 1/2] mmc: Board-specific MMC power initializations
Date: Sun, 02 Nov 2014 19:51:06 +0100	[thread overview]
Message-ID: <1414954266.17533.2.camel@collins> (raw)
In-Reply-To: <5456306D.4080201@compulab.co.il>

Hi Igor,

> On 11/01/14 12:52, Paul Kocialkowski wrote:
> > Some devices may use non-standard combinations of regulators to power MMC:
> > this allows these devices to provide a board-specific MMC power init function
> > to set everything up in their own way.
> > 
> > Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
> > ---
> >  drivers/mmc/mmc.c | 8 ++++++++
> >  include/mmc.h     | 1 +
> >  2 files changed, 9 insertions(+)
> > 
> > diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
> > index 44a4feb..125f347 100644
> > --- a/drivers/mmc/mmc.c
> > +++ b/drivers/mmc/mmc.c
> > @@ -1277,6 +1277,12 @@ block_dev_desc_t *mmc_get_dev(int dev)
> >  }
> >  #endif
> >  
> > +/* board-specific MMC power initializations. */
> > +__weak int board_mmc_power_init(void)
> > +{
> > +	return -1;
> > +}
> > +
> >  int mmc_start_init(struct mmc *mmc)
> >  {
> >  	int err;
> > @@ -1293,6 +1299,8 @@ int mmc_start_init(struct mmc *mmc)
> >  	if (mmc->has_init)
> >  		return 0;
> >  
> > +	board_mmc_power_init();
> > +
> 
> Shouldn't we have some error handling here?

I noticed how weak implementations tend to return -1 and not have their
return code checked so much (see the other two such functions in mmc.c).
I would be fine with checking the return code and returning 0 in the
weak implementation.

If you think that's better, I'll make a new version with that.

> >  	/* made sure it's not NULL earlier */
> >  	err = mmc->cfg->ops->init(mmc);
> >  
> > diff --git a/include/mmc.h b/include/mmc.h
> > index d74a190..aaea644 100644
> > --- a/include/mmc.h
> > +++ b/include/mmc.h
> > @@ -385,6 +385,7 @@ struct mmc *mmc_spi_init(uint bus, uint cs, uint speed, uint mode);
> >  int mmc_legacy_init(int verbose);
> >  #endif
> >  
> > +int board_mmc_power_init(void);
> >  int board_mmc_init(bd_t *bis);
> >  int cpu_mmc_init(bd_t *bis);
> >  int mmc_get_env_addr(struct mmc *mmc, int copy, u32 *env_addr);
> > 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141102/3aba81b0/attachment.pgp>

  reply	other threads:[~2014-11-02 18:51 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-01 10:52 [U-Boot] [PATCH v3 0/2] mmc: Board-specific MMC power initializations Paul Kocialkowski
2014-11-01 10:52 ` [U-Boot] [PATCH v3 1/2] " Paul Kocialkowski
2014-11-02 13:23   ` Igor Grinberg
2014-11-02 18:51     ` Paul Kocialkowski [this message]
2014-11-03  7:35       ` Igor Grinberg
2014-11-01 10:52 ` [U-Boot] [PATCH v3 2/2] omap_hsmmc: Board-specific TWL4030 " Paul Kocialkowski
2014-11-02 13:40   ` Igor Grinberg
2014-11-02 19:01     ` Paul Kocialkowski
2014-11-03  7:55       ` Igor Grinberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1414954266.17533.2.camel@collins \
    --to=contact@paulk.fr \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.