diff options
-rw-r--r-- | drivers/mmc/host/dw_mmc.c | 3 | ||||
-rw-r--r-- | drivers/mmc/host/dw_mmc.h | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index ee5f1676f14..564c9fbd5c7 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -1951,6 +1951,9 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id) if (host->pdata->caps2) mmc->caps2 = host->pdata->caps2; + if (drv_data && drv_data->caps2) + mmc->caps2 |= drv_data->caps2[ctrl_id]; + if (host->pdata->get_bus_wd) bus_width = host->pdata->get_bus_wd(slot->id); else if (host->dev->of_node) diff --git a/drivers/mmc/host/dw_mmc.h b/drivers/mmc/host/dw_mmc.h index 2f52c87bbce..90e2bab485c 100644 --- a/drivers/mmc/host/dw_mmc.h +++ b/drivers/mmc/host/dw_mmc.h @@ -185,6 +185,7 @@ extern int dw_mci_resume(struct dw_mci *host); /** * dw_mci driver data - dw-mshc implementation specific driver data. * @caps: mmc subsystem specified capabilities of the controller(s). + * @caps2: mmc subsystem specified capabilities2 of the controller(s). * @init: early implementation specific initialization. * @setup_clock: implementation specific clock configuration. * @prepare_command: handle CMD register extensions. @@ -197,6 +198,7 @@ extern int dw_mci_resume(struct dw_mci *host); */ struct dw_mci_drv_data { unsigned long *caps; + unsigned long *caps2; int (*init)(struct dw_mci *host); int (*setup_clock)(struct dw_mci *host); void (*prepare_command)(struct dw_mci *host, u32 *cmdr); |