diff --git a/arch/arm/mach-omap/include/mach/omap_hsmmc.h b/arch/arm/mach-omap/include/mach/omap_hsmmc.h index 2055cccbd..19942df58 100644 --- a/arch/arm/mach-omap/include/mach/omap_hsmmc.h +++ b/arch/arm/mach-omap/include/mach/omap_hsmmc.h @@ -21,5 +21,6 @@ /** omapmmc platform data structure */ struct omap_hsmmc_platform_data { unsigned f_max; /* host interface upper limit */ + char *devname; /* The mci device name, optional */ }; #endif /* __ASM_OMAP_HSMMC_H */ diff --git a/drivers/mci/omap_hsmmc.c b/drivers/mci/omap_hsmmc.c index bb976e19f..a2cd3fec5 100644 --- a/drivers/mci/omap_hsmmc.c +++ b/drivers/mci/omap_hsmmc.c @@ -611,10 +611,16 @@ static int omap_mmc_probe(struct device_d *dev) hsmmc->mci.f_min = 400000; pdata = (struct omap_hsmmc_platform_data *)dev->platform_data; - if (pdata && pdata->f_max) - hsmmc->mci.f_max = pdata->f_max; - else - hsmmc->mci.f_max = 52000000; + if (pdata) { + if (pdata->f_max) + hsmmc->mci.f_max = pdata->f_max; + else + hsmmc->mci.f_max = 52000000; + + if (pdata->devname) + hsmmc->mci.devname = pdata->devname; + } + dev->priv = hsmmc; dev->detect = omap_mmc_detect,