--- 2f7c451c47b0ca62b80f429f7f7bd0dbf51987ef +++ 92279ae46aa229c5013e9b4d906c51a6c6f60281 @@ -22,7 +22,7 @@ * software in any way with any other Broadcom software provided under a license * other than the GPL, without Broadcom's express prior written consent. * - * $Id: bcmsdh.c 347614 2012-07-27 10:24:51Z $ + * $Id: bcmsdh.c 373329 2012-12-07 04:46:09Z $ */ /** @@ -45,8 +45,6 @@ #include /* SDIO Device and Protocol Specs */ -#include - #define SDIOH_API_ACCESS_RETRY_LIMIT 2 const uint bcmsdh_msglevel = BCMSDH_ERROR_VAL; @@ -159,9 +157,17 @@ bcmsdh_intr_enable(void *sdh) { bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; SDIOH_API_RC status; +#ifdef BCMSPI_ANDROID + uint32 data; +#endif /* BCMSPI_ANDROID */ ASSERT(bcmsdh); status = sdioh_interrupt_set(bcmsdh->sdioh, TRUE); +#ifdef BCMSPI_ANDROID + data = bcmsdh_cfg_read_word(sdh, 0, 4, NULL); + data |= 0xE0E70000; + bcmsdh_cfg_write_word(sdh, 0, 4, data, NULL); +#endif /* BCMSPI_ANDROID */ return (SDIOH_API_SUCCESS(status) ? 0 : BCME_ERROR); } @@ -170,9 +176,17 @@ bcmsdh_intr_disable(void *sdh) { bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; SDIOH_API_RC status; +#ifdef BCMSPI_ANDROID + uint32 data; +#endif /* BCMSPI_ANDROID */ ASSERT(bcmsdh); status = sdioh_interrupt_set(bcmsdh->sdioh, FALSE); +#ifdef BCMSPI_ANDROID + data = bcmsdh_cfg_read_word(sdh, 0, 4, NULL); + data &= ~0xE0E70000; + bcmsdh_cfg_write_word(sdh, 0, 4, data, NULL); +#endif /* BCMSPI_ANDROID */ return (SDIOH_API_SUCCESS(status) ? 0 : BCME_ERROR); }