aboutsummaryrefslogtreecommitdiff
path: root/drivers/mmc/host/mmci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/host/mmci.c')
-rw-r--r--drivers/mmc/host/mmci.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 40e72c30ea84..4a69c9408f1e 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -219,6 +219,7 @@ static struct variant_data variant_ux500v2 = {
.start_err = MCI_STARTBITERR,
.opendrain = MCI_OD,
.init = ux500v2_variant_init,
+ .any_blksize = true,
};
static struct variant_data variant_stm32 = {
@@ -294,6 +295,7 @@ static struct variant_data variant_qcom = {
.start_err = MCI_STARTBITERR,
.opendrain = MCI_ROD,
.init = qcom_variant_init,
+ .any_blksize = true,
};
/* Busy detection for the ST Micro variant */
@@ -452,10 +454,12 @@ static void mmci_dma_setup(struct mmci_host *host)
static int mmci_validate_data(struct mmci_host *host,
struct mmc_data *data)
{
+ struct variant_data *variant = host->variant;
+
if (!data)
return 0;
- if (!is_power_of_2(data->blksz)) {
+ if (!is_power_of_2(data->blksz) && !variant->any_blksize) {
dev_err(mmc_dev(host->mmc),
"unsupported block size (%d bytes)\n", data->blksz);
return -EINVAL;