Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4816858c authored by Grazvydas Ignotas's avatar Grazvydas Ignotas Committed by Linus Torvalds
Browse files

omap_hsmmc: add init_card pass-through callback



This will allow us to set up special cards in machine drivers just after
they are detected by MMC core.

Signed-off-by: default avatarGrazvydas Ignotas <notasas@gmail.com>
Cc: Adrian Hunter <adrian.hunter@nokia.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Bob Copeland <me@bobcopeland.com>
Cc: Kalle Valo <kvalo@adurom.com>
Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
Cc: Kishore Kadiyala <kishore.kadiyala@ti.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 6f51be3d
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -122,6 +122,8 @@ struct omap_mmc_platform_data {
		/* Call back after enabling / disabling regulators */
		/* Call back after enabling / disabling regulators */
		void (*after_set_reg)(struct device *dev, int slot,
		void (*after_set_reg)(struct device *dev, int slot,
				      int power_on, int vdd);
				      int power_on, int vdd);
		/* if we have special card, init it using this callback */
		void (*init_card)(struct mmc_card *card);


		/* return MMC cover switch state, can be NULL if not supported.
		/* return MMC cover switch state, can be NULL if not supported.
		 *
		 *
+10 −0
Original line number Original line Diff line number Diff line
@@ -1598,6 +1598,14 @@ static int omap_hsmmc_get_ro(struct mmc_host *mmc)
	return mmc_slot(host).get_ro(host->dev, 0);
	return mmc_slot(host).get_ro(host->dev, 0);
}
}


static void omap_hsmmc_init_card(struct mmc_host *mmc, struct mmc_card *card)
{
	struct omap_hsmmc_host *host = mmc_priv(mmc);

	if (mmc_slot(host).init_card)
		mmc_slot(host).init_card(card);
}

static void omap_hsmmc_conf_bus_power(struct omap_hsmmc_host *host)
static void omap_hsmmc_conf_bus_power(struct omap_hsmmc_host *host)
{
{
	u32 hctl, capa, value;
	u32 hctl, capa, value;
@@ -1869,6 +1877,7 @@ static const struct mmc_host_ops omap_hsmmc_ops = {
	.set_ios = omap_hsmmc_set_ios,
	.set_ios = omap_hsmmc_set_ios,
	.get_cd = omap_hsmmc_get_cd,
	.get_cd = omap_hsmmc_get_cd,
	.get_ro = omap_hsmmc_get_ro,
	.get_ro = omap_hsmmc_get_ro,
	.init_card = omap_hsmmc_init_card,
	/* NYET -- enable_sdio_irq */
	/* NYET -- enable_sdio_irq */
};
};


@@ -1879,6 +1888,7 @@ static const struct mmc_host_ops omap_hsmmc_ps_ops = {
	.set_ios = omap_hsmmc_set_ios,
	.set_ios = omap_hsmmc_set_ios,
	.get_cd = omap_hsmmc_get_cd,
	.get_cd = omap_hsmmc_get_cd,
	.get_ro = omap_hsmmc_get_ro,
	.get_ro = omap_hsmmc_get_ro,
	.init_card = omap_hsmmc_init_card,
	/* NYET -- enable_sdio_irq */
	/* NYET -- enable_sdio_irq */
};
};