diff options
author | Eliad Peller <eliad@wizery.com> | 2011-11-22 09:02:18 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-12-08 19:26:20 -0500 |
commit | 6fdc75de7d0554134890d33a0a6f5e18c7503c01 (patch) | |
tree | 9fd820bdb7ec3c74a4545bf76ca6af74ac488e35 | |
parent | 31f9d4635bde3f03bc6dbac01d4c0fb0da9d06d7 (diff) |
ARM: OMAP: hsmmc: add pm_caps field
Add pm_caps field to omap2_hsmmc_info and omap_mmc_slot_data
structs, so we will be able to indicate mmc pm capabilities
in the board file.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r-- | arch/arm/mach-omap2/hsmmc.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/hsmmc.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/mmc.h | 1 | ||||
-rw-r--r-- | drivers/mmc/host/omap_hsmmc.c | 2 |
4 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c index f4a1020559a7..97dfedce084b 100644 --- a/arch/arm/mach-omap2/hsmmc.c +++ b/arch/arm/mach-omap2/hsmmc.c | |||
@@ -296,6 +296,7 @@ static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c, | |||
296 | mmc->slots[0].name = hc_name; | 296 | mmc->slots[0].name = hc_name; |
297 | mmc->nr_slots = 1; | 297 | mmc->nr_slots = 1; |
298 | mmc->slots[0].caps = c->caps; | 298 | mmc->slots[0].caps = c->caps; |
299 | mmc->slots[0].pm_caps = c->pm_caps; | ||
299 | mmc->slots[0].internal_clock = !c->ext_clock; | 300 | mmc->slots[0].internal_clock = !c->ext_clock; |
300 | mmc->dma_mask = 0xffffffff; | 301 | mmc->dma_mask = 0xffffffff; |
301 | if (cpu_is_omap44xx()) | 302 | if (cpu_is_omap44xx()) |
diff --git a/arch/arm/mach-omap2/hsmmc.h b/arch/arm/mach-omap2/hsmmc.h index f757e78d4d4f..c4409730c4bb 100644 --- a/arch/arm/mach-omap2/hsmmc.h +++ b/arch/arm/mach-omap2/hsmmc.h | |||
@@ -12,6 +12,7 @@ struct omap2_hsmmc_info { | |||
12 | u8 mmc; /* controller 1/2/3 */ | 12 | u8 mmc; /* controller 1/2/3 */ |
13 | u32 caps; /* 4/8 wires and any additional host | 13 | u32 caps; /* 4/8 wires and any additional host |
14 | * capabilities OR'd (ref. linux/mmc/host.h) */ | 14 | * capabilities OR'd (ref. linux/mmc/host.h) */ |
15 | u32 pm_caps; /* PM capabilities */ | ||
15 | bool transceiver; /* MMC-2 option */ | 16 | bool transceiver; /* MMC-2 option */ |
16 | bool ext_clock; /* use external pin for input clock */ | 17 | bool ext_clock; /* use external pin for input clock */ |
17 | bool cover_only; /* No card detect - just cover switch */ | 18 | bool cover_only; /* No card detect - just cover switch */ |
diff --git a/arch/arm/plat-omap/include/plat/mmc.h b/arch/arm/plat-omap/include/plat/mmc.h index 94cf70afb236..f75946c3293d 100644 --- a/arch/arm/plat-omap/include/plat/mmc.h +++ b/arch/arm/plat-omap/include/plat/mmc.h | |||
@@ -96,6 +96,7 @@ struct omap_mmc_platform_data { | |||
96 | */ | 96 | */ |
97 | u8 wires; /* Used for the MMC driver on omap1 and 2420 */ | 97 | u8 wires; /* Used for the MMC driver on omap1 and 2420 */ |
98 | u32 caps; /* Used for the MMC driver on 2430 and later */ | 98 | u32 caps; /* Used for the MMC driver on 2430 and later */ |
99 | u32 pm_caps; /* PM capabilities of the mmc */ | ||
99 | 100 | ||
100 | /* | 101 | /* |
101 | * nomux means "standard" muxing is wrong on this board, and | 102 | * nomux means "standard" muxing is wrong on this board, and |
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index 6784fbbc337d..f0d792183b8e 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c | |||
@@ -1988,6 +1988,8 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev) | |||
1988 | if (mmc_slot(host).nonremovable) | 1988 | if (mmc_slot(host).nonremovable) |
1989 | mmc->caps |= MMC_CAP_NONREMOVABLE; | 1989 | mmc->caps |= MMC_CAP_NONREMOVABLE; |
1990 | 1990 | ||
1991 | mmc->pm_caps = mmc_slot(host).pm_caps; | ||
1992 | |||
1991 | omap_hsmmc_conf_bus_power(host); | 1993 | omap_hsmmc_conf_bus_power(host); |
1992 | 1994 | ||
1993 | /* Select DMA lines */ | 1995 | /* Select DMA lines */ |