All of lore.kernel.org
 help / color / mirror / Atom feed
From: marex@denx.de (Marek Vasut)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/4] MXS-MMC: Add wp-inverted property
Date: Mon, 21 May 2012 19:38:27 +0200	[thread overview]
Message-ID: <201205211938.27993.marex@denx.de> (raw)
In-Reply-To: <20409.60714.663812.681159@ipc1.ka-ro>

Dear Lothar Wa?mann,

> Hi,
> 
> Marek Vasut writes:
> > The write-protect GPIO is inverted on some boards. Handle such case.
> > 
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > Cc: Shawn Guo <shawn.guo@linaro.org>
> > Cc: Fabio Estevam <fabio.estevam@freescale.com>
> > ---
> > 
> >  Documentation/devicetree/bindings/mmc/mxs-mmc.txt |    1 +
> >  drivers/mmc/host/mxs-mmc.c                        |   11 ++++++++++-
> >  2 files changed, 11 insertions(+), 1 deletion(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/mmc/mxs-mmc.txt
> > b/Documentation/devicetree/bindings/mmc/mxs-mmc.txt index
> > 14d870a..0a7d2cd 100644
> > --- a/Documentation/devicetree/bindings/mmc/mxs-mmc.txt
> > +++ b/Documentation/devicetree/bindings/mmc/mxs-mmc.txt
> > 
> > @@ -13,6 +13,7 @@ Required properties:
> >  Optional properties:
> >  - wp-gpios: Specify GPIOs for write protection
> > 
> > +- wp-inverted: Set if the write protection GPIO is inverted
> > 
> >  Examples:
> > diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c
> > index 277161d..119beb9 100644
> > --- a/drivers/mmc/host/mxs-mmc.c
> > +++ b/drivers/mmc/host/mxs-mmc.c
> > @@ -164,16 +164,23 @@ struct mxs_mmc_host {
> > 
> >  	spinlock_t			lock;
> >  	int				sdio_irq_en;
> >  	int				wp_gpio;
> > 
> > +	int				wp_inverted:1;
> > 
> >  };
> >  
> >  static int mxs_mmc_get_ro(struct mmc_host *mmc)
> >  {
> >  
> >  	struct mxs_mmc_host *host = mmc_priv(mmc);
> > 
> > +	int ret;
> > 
> >  	if (!gpio_is_valid(host->wp_gpio))
> >  	
> >  		return -EINVAL;
> > 
> > -	return gpio_get_value(host->wp_gpio);
> > +	ret = gpio_get_value(host->wp_gpio);
> > +
> > +	if (host->wp_inverted)
> > +		ret = !ret;
> > +
> > +	return ret;
> > 
> >  }
> >  
> >  static int mxs_mmc_get_cd(struct mmc_host *mmc)
> > 
> > @@ -786,6 +793,8 @@ static int mxs_mmc_probe(struct platform_device
> > *pdev)
> > 
> >  		else if (bus_width == 8)
> >  		
> >  			mmc->caps |= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA;
> >  		
> >  		host->wp_gpio = of_get_named_gpio(np, "wp-gpios", 0);
> > 
> > +		if (of_find_property(np, "wp-inverted", NULL))
> > +			host->wp_inverted = 1;
> 
> Why not simply specify the GPIO in question as being active-low in the
> GPIO definition and use of_get_named_gpio_flags()?

Just followed the cd-inverted pattern. Thanks for the hint, will poke into it.

> 
> Lothar Wa?mann

Best regards,
Marek Vasut

  reply	other threads:[~2012-05-21 17:38 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-21  1:02 [PATCH 1/4] GPMI-NAND: Define ecc.strength Marek Vasut
2012-05-21  1:02 ` [PATCH 2/4] GPMI-NAND: Fixup compile issue Marek Vasut
2012-05-21  1:16   ` Shawn Guo
2012-05-21  1:02 ` [PATCH 3/4] MXS-MMC: Move of_match_table out of CONFIG_PM Marek Vasut
2012-05-21  4:09   ` Shawn Guo
2012-05-21  4:09     ` Shawn Guo
2012-05-21  3:52     ` Chris Ball
2012-05-21  3:52       ` Chris Ball
2012-05-21  4:33       ` Marek Vasut
2012-05-21  4:33         ` Marek Vasut
2012-05-21  1:02 ` [PATCH 4/4] MXS-MMC: Add wp-inverted property Marek Vasut
2012-05-21  1:39   ` Shawn Guo
2012-05-21  1:39     ` Shawn Guo
2012-05-21  2:38     ` Marek Vasut
2012-05-21  2:38       ` Marek Vasut
2012-05-21  2:48       ` Shawn Guo
2012-05-21  2:48         ` Shawn Guo
2012-05-21  3:22         ` Chris Ball
2012-05-21  3:22           ` Chris Ball
2012-05-21  3:36           ` Marek Vasut
2012-05-21  3:36             ` Marek Vasut
2012-05-21  7:22   ` Lothar Waßmann
2012-05-21 17:38     ` Marek Vasut [this message]
2012-05-21  1:14 ` [PATCH 1/4] GPMI-NAND: Define ecc.strength Shawn Guo
2012-05-21  1:14   ` Shawn Guo
2012-05-21  1:36   ` Marek Vasut
2012-05-21  1:36     ` Marek Vasut
2012-05-21  1:41     ` Shawn Guo
2012-05-21  1:41       ` Shawn Guo
2012-05-21  2:40       ` Marek Vasut
2012-05-21  2:40         ` Marek Vasut
2012-05-21  3:08         ` Huang Shijie
2012-05-21  3:08           ` Huang Shijie
2012-05-21  3:48           ` Marek Vasut
2012-05-21  3:48             ` Marek Vasut
2012-05-21  3:45         ` Shawn Guo
2012-05-21  3:45           ` Shawn Guo
2012-05-21  3:39           ` Marek Vasut
2012-05-21  3:39             ` Marek Vasut
2012-05-21  2:44       ` Huang Shijie
2012-05-21  2:44         ` Huang Shijie
2012-05-21  3:43         ` Marek Vasut
2012-05-21  3:43           ` Marek Vasut

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=201205211938.27993.marex@denx.de \
    --to=marex@denx.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.