提交 4816858c 编写于 作者: G Grazvydas Ignotas 提交者: Linus Torvalds

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: NGrazvydas 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: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 6f51be3d
...@@ -122,6 +122,8 @@ struct omap_mmc_platform_data { ...@@ -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.
* *
......
...@@ -1598,6 +1598,14 @@ static int omap_hsmmc_get_ro(struct mmc_host *mmc) ...@@ -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 = { ...@@ -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 = { ...@@ -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 */
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册