Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fbf6a5fc authored by Dave Liu's avatar Dave Liu Committed by Pierre Ossman
Browse files

sdhci-of: Fix the wrong accessor to HOSTVER register



Freescale eSDHC controller has the special order for
the HOST version register. that is not same as the other's
registers. The address of HOSTVER in spec is 0xFE, and
we need use the in_be16(0xFE) to access it, not in_be16(0xFC).

Signed-off-by: default avatarDave Liu <daveliu@freescale.com>
Acked-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: default avatarPierre Ossman <pierre@ossman.eu>
parent a6d297f0
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -55,7 +55,13 @@ static u32 esdhc_readl(struct sdhci_host *host, int reg)

static u16 esdhc_readw(struct sdhci_host *host, int reg)
{
	return in_be16(host->ioaddr + (reg ^ 0x2));
	u16 ret;

	if (unlikely(reg == SDHCI_HOST_VERSION))
		ret = in_be16(host->ioaddr + reg);
	else
		ret = in_be16(host->ioaddr + (reg ^ 0x2));
	return ret;
}

static u8 esdhc_readb(struct sdhci_host *host, int reg)