Re: [PATCH 4/4] mmc: omap_hsmmc: Simplify init for twl6030 MMCcard detect

From: Tony Lindgren
Date: Fri Mar 02 2012 - 12:22:54 EST


* Rajendra Nayak <rnayak@xxxxxx> [120301 21:38]:
> On Friday 02 March 2012 12:25 AM, Tony Lindgren wrote:
> >--- a/arch/arm/mach-omap2/board-omap4panda.c
> >+++ b/arch/arm/mach-omap2/board-omap4panda.c
> >@@ -153,8 +153,8 @@ static struct omap2_hsmmc_info mmc[] = {
> > {
> > .mmc = 1,
> > .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
> >- .gpio_wp = -EINVAL,
> > .gpio_cd = -EINVAL,
> >+ .gpio_wp = -EINVAL,
>
> stray change.

Hmm I'd like to keep this change before this ordering gets copied
to ten other board files that we may have in testing-board for a while..
I'll add a comment to the patch description about that.

> >--- a/drivers/mmc/host/omap_hsmmc.c
> >+++ b/drivers/mmc/host/omap_hsmmc.c
> >@@ -34,6 +34,7 @@
> > #include<linux/gpio.h>
> > #include<linux/regulator/consumer.h>
> > #include<linux/pm_runtime.h>
> >+#include<linux/i2c/twl.h>
> > #include<plat/dma.h>
> > #include<mach/hardware.h>
> > #include<plat/board.h>
> >@@ -578,6 +579,32 @@ static void omap_hsmmc_gpio_free(struct omap_hsmmc_host *host)
> > gpio_free(host->gpio_cd);
> > }
> >
> >+#ifdef CONFIG_TWL4030_CORE
> >+static int omap_hsmmc_init_twl6030(struct omap_hsmmc_host *host)
> >+{
> >+ struct omap_mmc_platform_data *pdata = host->pdata;
> >+ struct omap_mmc_slot_data *slot =&pdata->slots[0];
> >+ int irq;
> >+
> >+ if (gpio_is_valid(host->gpio_cd) || host->id)
>
> I have a series, which I am asking Chris to pull, which completely
> gets rid of all host->id based hard-codings' in the driver.
> Isn't there a better way to do this than rely on the device instance?

Yes I was thinking about that too. I guess we need to pass some
flag in pdata for twl6030 card detect. I was thinking about using
the gpiochip_cd, but twl6030 is not gpio based card detect, so
a separate flag is better.

BTW, with -rc5, looks like re-inserting omap_hsmmc on omap4 fails
to detect any cards, and then fails to unload. This works on omap3
just fine. Any ideas why that would be?

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/