--- zzzz-none-000/linux-2.6.39.4/include/linux/mmc/core.h 2011-08-03 19:43:28.000000000 +0000 +++ puma6-atom-6490-729/linux-2.6.39.4/include/linux/mmc/core.h 2021-11-10 13:38:17.000000000 +0000 @@ -161,6 +161,13 @@ extern int __mmc_claim_host(struct mmc_host *host, atomic_t *abort); extern void mmc_release_host(struct mmc_host *host); extern void mmc_do_release_host(struct mmc_host *host); + +#if defined(CONFIG_ARCH_GEN3) +extern int __mmc_claim_host_no_hwmutex(struct mmc_host *host, atomic_t *abort); +extern void mmc_release_host_no_hwmutex(struct mmc_host *host); +extern void mmc_do_release_host_no_hwmutex(struct mmc_host *host); +#endif + extern int mmc_try_claim_host(struct mmc_host *host); /** @@ -174,6 +181,19 @@ __mmc_claim_host(host, NULL); } +#if defined(CONFIG_ARCH_GEN3) +/** + * mmc_claim_host_no_hwmutex - exclusively claim a host without lock hw mutex + * @host: mmc host to claim + * + * Claim a host for a set of operations. + */ +static inline void mmc_claim_host_no_hwmutex(struct mmc_host *host) +{ + __mmc_claim_host_no_hwmutex(host, NULL); +} +#endif + extern u32 mmc_vddrange_to_ocrmask(int vdd_min, int vdd_max); #endif