diff options
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/mmc_spi.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/mmc/host/mmc_spi.c b/drivers/mmc/host/mmc_spi.c index 87e211df68ac..ad9e0e213f64 100644 --- a/drivers/mmc/host/mmc_spi.c +++ b/drivers/mmc/host/mmc_spi.c | |||
@@ -1204,10 +1204,12 @@ static int mmc_spi_probe(struct spi_device *spi) | |||
1204 | 1204 | ||
1205 | /* MMC and SD specs only seem to care that sampling is on the | 1205 | /* MMC and SD specs only seem to care that sampling is on the |
1206 | * rising edge ... meaning SPI modes 0 or 3. So either SPI mode | 1206 | * rising edge ... meaning SPI modes 0 or 3. So either SPI mode |
1207 | * should be legit. We'll use mode 0 since it seems to be a | 1207 | * should be legit. We'll use mode 0 since the steady state is 0, |
1208 | * bit less troublesome on some hardware ... unclear why. | 1208 | * which is appropriate for hotplugging, unless the platform data |
1209 | * specify mode 3 (if hardware is not compatible to mode 0). | ||
1209 | */ | 1210 | */ |
1210 | spi->mode = SPI_MODE_0; | 1211 | if (spi->mode != SPI_MODE_3) |
1212 | spi->mode = SPI_MODE_0; | ||
1211 | spi->bits_per_word = 8; | 1213 | spi->bits_per_word = 8; |
1212 | 1214 | ||
1213 | status = spi_setup(spi); | 1215 | status = spi_setup(spi); |