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>
This commit is contained in:
parent
730a2f6d10
commit
5656ab99a0
@ -127,4 +127,12 @@ static inline void sysfs_remove_groups(struct kobject *kobj,
|
||||
}
|
||||
#endif
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
#define MMC_HS400_SUPPORTED
|
||||
#define MMC_DDR52_DEFINED
|
||||
#endif
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0)
|
||||
#define MMC_POWER_UNDEFINED_SUPPORTED
|
||||
#endif
|
||||
#endif /* __GREYBUS_KERNEL_VER_H */
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user