* David Brownell <[email protected]> [090310 10:51]:
> On Tuesday 10 March 2009, Adrian Hunter wrote:
> > >From 1667cd29afa90d041c0782223253835e6bc25b18 Mon Sep 17 00:00:00 2001
> > From: Adrian Hunter <[email protected]>
> > Date: Mon, 26 Jan 2009 13:14:28 +0200
> > Subject: [PATCH] OMAP: mmc-twl4030 add cover switch
> >
> > Allow a cover switch to be used to cause a rescan of the
> > MMC slot.
> >
> > Signed-off-by: Adrian Hunter <[email protected]>
>
> Acked-by: David Brownell <[email protected]>
>
> Because a cover switch is not the same as a card detect switch...
Pushed this too after after editing the header change to apply.
Tony
> > ---
> > arch/arm/mach-omap2/mmc-twl4030.c | 13 ++++++++++++-
> > arch/arm/mach-omap2/mmc-twl4030.h | 1 +
> > 2 files changed, 13 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/arm/mach-omap2/mmc-twl4030.c
> > b/arch/arm/mach-omap2/mmc-twl4030.c
> > index 736b039..a58deba 100644
> > --- a/arch/arm/mach-omap2/mmc-twl4030.c
> > +++ b/arch/arm/mach-omap2/mmc-twl4030.c
> > @@ -105,6 +105,14 @@ static int twl_mmc_get_ro(struct device *dev, int slot)
> > return gpio_get_value_cansleep(mmc->slots[0].gpio_wp);
> > }
> >
> > +static int twl_mmc_get_cover_state(struct device *dev, int slot)
> > +{
> > + struct omap_mmc_platform_data *mmc = dev->platform_data;
> > +
> > + /* NOTE: assumes card detect signal is active-low */
> > + return !gpio_get_value_cansleep(mmc->slots[0].switch_pin);
> > +}
> > +
> > /*
> > * MMC Slot Initialization.
> > */
> > @@ -427,7 +435,10 @@ void __init twl4030_mmc_init(struct twl4030_hsmmc_info
> > *controllers)
> >
> > mmc->slots[0].switch_pin = c->gpio_cd;
> > mmc->slots[0].card_detect_irq = gpio_to_irq(c->gpio_cd);
> > - mmc->slots[0].card_detect = twl_mmc_card_detect;
> > + if (c->cover_only)
> > + mmc->slots[0].get_cover_state =
> > twl_mmc_get_cover_state;
> > + else
> > + mmc->slots[0].card_detect = twl_mmc_card_detect;
> > } else
> > mmc->slots[0].switch_pin = -EINVAL;
> >
> > diff --git a/arch/arm/mach-omap2/mmc-twl4030.h
> > b/arch/arm/mach-omap2/mmc-twl4030.h
> > index 087a969..e87bc8d 100644
> > --- a/arch/arm/mach-omap2/mmc-twl4030.h
> > +++ b/arch/arm/mach-omap2/mmc-twl4030.h
> > @@ -12,6 +12,7 @@ struct twl4030_hsmmc_info {
> > bool transceiver; /* MMC-2 option */
> > bool ext_clock; /* use external pin for input clock */
> > bool vsim_18v; /* MMC-2 option */
> > + bool cover_only; /* No card detect - just cover switch */
> > int gpio_cd; /* or -EINVAL */
> > int gpio_wp; /* or -EINVAL */
> > struct device *dev; /* returned: pointer to mmc adapter */
> > --
> > 1.5.6.3
> >
> >
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html