ARM: 6307/1: mmci: allow the card detect GPIO value not to be inverted
On some platforms, the GPIO value from the gpio_cd pin doesn't need to be inverted to get it active high. Add a cd_invert platform data parameter and change existing platforms using GPIO for CD (only Realview) to enable it. Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:

zatwierdzone przez
Russell King

rodzic
d4348c6789
commit
2971944582
@@ -570,12 +570,13 @@ static int mmci_get_ro(struct mmc_host *mmc)
|
||||
static int mmci_get_cd(struct mmc_host *mmc)
|
||||
{
|
||||
struct mmci_host *host = mmc_priv(mmc);
|
||||
struct mmci_platform_data *plat = host->plat;
|
||||
unsigned int status;
|
||||
|
||||
if (host->gpio_cd == -ENOSYS)
|
||||
status = host->plat->status(mmc_dev(host->mmc));
|
||||
status = plat->status(mmc_dev(host->mmc));
|
||||
else
|
||||
status = !gpio_get_value(host->gpio_cd);
|
||||
status = !!gpio_get_value(host->gpio_cd) ^ plat->cd_invert;
|
||||
|
||||
/*
|
||||
* Use positive logic throughout - status is zero for no card,
|
||||
|
Reference in New Issue
Block a user