[MIPS] Alchemy: SMBus resource fix
The Alchemy platform code registers the SMBus device using the virtual address of its registers instead of the physical one -- fix this, taking into account that actually the whole megabyte is decoded by any of the programmable serial controllers (one of which is SMBus), and that all the Alchemy peripherals are directly mappable into KSEG1 kernel space and therefore ioremap() call would just boil down to CKSEG1ADDR() invocation. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
492c2e476e
commit
8e07c2c6af
|
@ -269,8 +269,8 @@ static struct platform_device au1x00_pcmcia_device = {
|
|||
#ifdef SMBUS_PSC_BASE
|
||||
static struct resource pbdb_smbus_resources[] = {
|
||||
{
|
||||
.start = SMBUS_PSC_BASE,
|
||||
.end = SMBUS_PSC_BASE + 0x24 - 1,
|
||||
.start = CPHYSADDR(SMBUS_PSC_BASE),
|
||||
.end = CPHYSADDR(SMBUS_PSC_BASE + 0xfffff),
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
};
|
||||
|
|
|
@ -335,7 +335,7 @@ i2c_au1550_probe(struct platform_device *pdev)
|
|||
goto out_mem;
|
||||
}
|
||||
|
||||
priv->psc_base = r->start;
|
||||
priv->psc_base = CKSEG1ADDR(r->start);
|
||||
priv->xfer_timeout = 200;
|
||||
priv->ack_timeout = 200;
|
||||
|
||||
|
|
Loading…
Reference in a new issue