omap_hsmmc: add init_card pass-through callback
Subsystems (4)
PATCH 45/177 omap_hsmmc: add init_card pass-through callback
From: Grazvydas Ignotas <[email protected]>
This will allow us to set up special cards in machine drivers just after they are detected by MMC core.
Signed-off-by Grazvydas Ignotas <[email protected]>
Cc Adrian Hunter <[email protected]>
Cc Tony Lindgren <[email protected]>
Cc Bob Copeland <[email protected]>
Cc Kalle Valo <[email protected]>
Cc Madhusudhan Chikkature <[email protected]>
Cc Kishore Kadiyala <[email protected]>
Cc Russell King <[email protected]>
Cc <[email protected]>
Signed-off-by Andrew Morton <[email protected]>
---
arch/arm/plat-omap/include/plat/mmc.h | 2 ++ drivers/mmc/host/omap_hsmmc.c | 10 ++++++++++ 2 files changed, 12 insertions(+)
arch/arm/plat-omap/include/plat/mmc.h renamed from arch/arm/plat-omap/include/plat/mmc.h~omap_hsmmc-add-init_card-pass-through-callback +2 -0
@@ -122,6 +122,8 @@ struct omap_mmc_platform_data {/* Call back after enabling / disabling regulators */ void (*after_set_reg)(struct device *dev,int slot,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. *
drivers/mmc/host/omap_hsmmc.c renamed from drivers/mmc/host/omap_hsmmc.c~omap_hsmmc-add-init_card-pass-through-callback +10 -0
@@ -1598,6 +1598,14 @@ static int omap_hsmmc_get_ro(struct mmc_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) {u32 hctl, capa, value;
@@ -1869,6 +1877,7 @@ static const struct mmc_host_ops omap_hs .set_ios = omap_hsmmc_set_ios, .get_cd = omap_hsmmc_get_cd, .get_ro = omap_hsmmc_get_ro, + .init_card = omap_hsmmc_init_card,/* NYET -- enable_sdio_irq */ };
@@ -1879,6 +1888,7 @@ static const struct mmc_host_ops omap_hs .set_ios = omap_hsmmc_set_ios, .get_cd = omap_hsmmc_get_cd, .get_ro = omap_hsmmc_get_ro, + .init_card = omap_hsmmc_init_card,/* NYET -- enable_sdio_irq */ };
_