Hi Eliad, On 11/22/11 16:02, Eliad Peller wrote: > 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. Shouldn't this be user space runtime controllable? Instead of being a static per board decision? > > Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> > --- > arch/arm/mach-omap2/hsmmc.c | 1 + > arch/arm/mach-omap2/hsmmc.h | 1 + > arch/arm/plat-omap/include/plat/mmc.h | 1 + > 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 097a42d..d00a54a 100644 > --- a/arch/arm/mach-omap2/hsmmc.c > +++ b/arch/arm/mach-omap2/hsmmc.c > @@ -306,6 +306,7 @@ static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c, > mmc->slots[0].name = hc_name; > mmc->nr_slots = 1; > mmc->slots[0].caps = c->caps; > + mmc->slots[0].pm_caps = c->pm_caps; > mmc->slots[0].internal_clock = !c->ext_clock; > mmc->dma_mask = 0xffffffff; > if (cpu_is_omap44xx()) > diff --git a/arch/arm/mach-omap2/hsmmc.h b/arch/arm/mach-omap2/hsmmc.h > index f757e78..c440973 100644 > --- a/arch/arm/mach-omap2/hsmmc.h > +++ b/arch/arm/mach-omap2/hsmmc.h > @@ -12,6 +12,7 @@ struct omap2_hsmmc_info { > u8 mmc; /* controller 1/2/3 */ > u32 caps; /* 4/8 wires and any additional host > * capabilities OR'd (ref. linux/mmc/host.h) */ > + u32 pm_caps; /* PM capabilities */ > bool transceiver; /* MMC-2 option */ > bool ext_clock; /* use external pin for input clock */ > 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 c7b8741..d3263ac 100644 > --- a/arch/arm/plat-omap/include/plat/mmc.h > +++ b/arch/arm/plat-omap/include/plat/mmc.h > @@ -79,6 +79,7 @@ struct omap_mmc_platform_data { > */ > u8 wires; /* Used for the MMC driver on omap1 and 2420 */ > u32 caps; /* Used for the MMC driver on 2430 and later */ > + u32 pm_caps; /* PM capabilities of the mmc */ > > /* > * 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 ec7c83c..2bc964a6 100644 > --- a/drivers/mmc/host/omap_hsmmc.c > +++ b/drivers/mmc/host/omap_hsmmc.c > @@ -1985,6 +1985,8 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev) > if (mmc_slot(host).nonremovable) > mmc->caps |= MMC_CAP_NONREMOVABLE; > > + mmc->pm_caps = mmc_slot(host).pm_caps; > + > omap_hsmmc_conf_bus_power(host); > > /* Select DMA lines */ -- Regards, Igor. -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html