mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
ARM: davinci: mmc: derive version information from device name
Remove specifying mmc controller IP version information via platform data, instead specify device name so that driver derives it from platform_device_id table. Also change the clock node name to match the changed dev_id. Tested on da850-evm to make sure driver loads without clk_get failures. Signed-off-by: Manjunathappa, Prakash <[email protected]> Reviewed-by: Sekhar Nori <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Chris Ball <[email protected]> Signed-off-by: Sekhar Nori <[email protected]>
This commit is contained in:
parent
bb170e6118
commit
d7ca4c755a
19 changed files with 35 additions and 29 deletions
|
|
@ -1157,6 +1157,18 @@ static void __init init_mmcsd_host(struct mmc_davinci_host *host)
|
|||
mmc_davinci_reset_ctrl(host, 0);
|
||||
}
|
||||
|
||||
static struct platform_device_id davinci_mmc_devtype[] = {
|
||||
{
|
||||
.name = "dm6441-mmc",
|
||||
.driver_data = MMC_CTLR_VERSION_1,
|
||||
}, {
|
||||
.name = "da830-mmc",
|
||||
.driver_data = MMC_CTLR_VERSION_2,
|
||||
},
|
||||
{},
|
||||
};
|
||||
MODULE_DEVICE_TABLE(platform, davinci_mmc_devtype);
|
||||
|
||||
static int __init davinci_mmcsd_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct davinci_mmc_config *pdata = pdev->dev.platform_data;
|
||||
|
|
@ -1165,6 +1177,7 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev)
|
|||
struct resource *r, *mem = NULL;
|
||||
int ret = 0, irq = 0;
|
||||
size_t mem_size;
|
||||
const struct platform_device_id *id_entry;
|
||||
|
||||
/* REVISIT: when we're fully converted, fail if pdata is NULL */
|
||||
|
||||
|
|
@ -1237,7 +1250,9 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev)
|
|||
if (pdata && (pdata->wires == 8))
|
||||
mmc->caps |= (MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA);
|
||||
|
||||
host->version = pdata->version;
|
||||
id_entry = platform_get_device_id(pdev);
|
||||
if (id_entry)
|
||||
host->version = id_entry->driver_data;
|
||||
|
||||
mmc->ops = &mmc_davinci_ops;
|
||||
mmc->f_min = 312500;
|
||||
|
|
@ -1408,6 +1423,7 @@ static struct platform_driver davinci_mmcsd_driver = {
|
|||
.pm = davinci_mmcsd_pm_ops,
|
||||
},
|
||||
.remove = __exit_p(davinci_mmcsd_remove),
|
||||
.id_table = davinci_mmc_devtype,
|
||||
};
|
||||
|
||||
static int __init davinci_mmcsd_init(void)
|
||||
|
|
|
|||
Loading…
Reference in a new issue