diff options
author | Rui Miguel Silva <rui.silva@linaro.org> | 2015-06-24 23:20:26 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@google.com> | 2015-06-24 17:34:46 -0700 |
commit | 5656ab99a0ff9136613ab1da509ccd6d7652d173 (patch) | |
tree | fd4a2e08d9e462dbadeee2acf9ec6206e1e975ab /drivers/staging/greybus/sdio.c | |
parent | 730a2f6d1066e7771d5b85b8e9ec5ed09b153d01 (diff) |
greybus: sdio: fix defines for older kernels
Some of the options for mmc host, are not defined in older kernels.
MMC_CAP2_HS400_1_2V, MMC_CAP2_HS400_1_8V, MMC_TIMING_MMC_DDR52 and
MMC_TIMING_MMC_HS400.
To not use them for older versions.
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Tested-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/sdio.c')
-rw-r--r-- | drivers/staging/greybus/sdio.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/staging/greybus/sdio.c b/drivers/staging/greybus/sdio.c index 1fd17c89b100..16abf7cafd90 100644 --- a/drivers/staging/greybus/sdio.c +++ b/drivers/staging/greybus/sdio.c @@ -62,9 +62,11 @@ static void _gb_sdio_set_host_caps(struct gb_sdio_host *host, u32 r) (r & GB_SDIO_CAP_DRIVER_TYPE_D ? MMC_CAP_DRIVER_TYPE_D : 0); caps2 = (r & GB_SDIO_CAP_HS200_1_2V ? MMC_CAP2_HS200_1_2V_SDR : 0) | - (r & GB_SDIO_CAP_HS200_1_8V ? MMC_CAP2_HS200_1_8V_SDR : 0) | +#ifdef MMC_HS400_SUPPORTED (r & GB_SDIO_CAP_HS400_1_2V ? MMC_CAP2_HS400_1_2V : 0) | - (r & GB_SDIO_CAP_HS400_1_8V ? MMC_CAP2_HS400_1_8V : 0); + (r & GB_SDIO_CAP_HS400_1_8V ? MMC_CAP2_HS400_1_8V : 0) | +#endif + (r & GB_SDIO_CAP_HS200_1_8V ? MMC_CAP2_HS200_1_8V_SDR : 0); host->mmc->caps = caps; host->mmc->caps2 = caps2; @@ -478,6 +480,7 @@ static void gb_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) switch (ios->power_mode) { case MMC_POWER_OFF: + default: power_mode = GB_SDIO_POWER_OFF; break; case MMC_POWER_UP: @@ -486,10 +489,11 @@ static void gb_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) case MMC_POWER_ON: power_mode = GB_SDIO_POWER_ON; break; +#ifdef MMC_POWER_UNDEFINED_SUPPORTED case MMC_POWER_UNDEFINED: - default: power_mode = GB_SDIO_POWER_UNDEFINED; break; +#endif } request.power_mode = power_mode; @@ -533,15 +537,19 @@ static void gb_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) case MMC_TIMING_UHS_DDR50: timing = GB_SDIO_TIMING_UHS_DDR50; break; +#ifdef MMC_DDR52_DEFINED case MMC_TIMING_MMC_DDR52: timing = GB_SDIO_TIMING_MMC_DDR52; break; +#endif case MMC_TIMING_MMC_HS200: timing = GB_SDIO_TIMING_MMC_HS200; break; +#ifdef MMC_HS400_SUPPORTED case MMC_TIMING_MMC_HS400: timing = GB_SDIO_TIMING_MMC_HS400; break; +#endif } request.timing = timing; |