summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-02-05 10:11:25 +0300
committerPaul Mundt <lethal@linux-sh.org>2010-02-05 10:11:25 +0300
commit3b0be1a4f2f7d8280574aa6e5eac2dd3dd57e2b7 (patch)
treeb51654617a5ceec1417dcfa4c5fde0cfe87731f2 /arch
parent8e04221029067cbaff3fc8f4daf991532afbcbaf (diff)
downloadlinux-3b0be1a4f2f7d8280574aa6e5eac2dd3dd57e2b7.tar.xz
sh: Fix an off-by-1 in SH7780 PCIC memory resource mapping.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/drivers/pci/pci-sh7780.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/sh/drivers/pci/pci-sh7780.c b/arch/sh/drivers/pci/pci-sh7780.c
index 1e147f445c1a..ffdcbf10b95e 100644
--- a/arch/sh/drivers/pci/pci-sh7780.c
+++ b/arch/sh/drivers/pci/pci-sh7780.c
@@ -23,7 +23,7 @@
static struct resource sh7785_pci_resources[] = {
{
- .name = "SH7785_IO",
+ .name = "PCI IO",
.start = 0x1000,
.end = SZ_4M - 1,
.flags = IORESOURCE_IO,
@@ -338,8 +338,8 @@ static int __init sh7780_pci_init(void)
/*
* Setup the memory BARs
*/
- for (i = 0; i < chan->nr_resources; i++) {
- struct resource *res = chan->resources + (i + 1);
+ for (i = 1; i < chan->nr_resources; i++) {
+ struct resource *res = chan->resources + i;
resource_size_t size;
if (unlikely(res->flags & IORESOURCE_IO))
@@ -361,8 +361,8 @@ static int __init sh7780_pci_init(void)
* keeps things pretty simple.
*/
__raw_writel(((roundup_pow_of_two(size) / SZ_256K) - 1) << 18,
- chan->reg_base + SH7780_PCIMBMR(i));
- __raw_writel(res->start, chan->reg_base + SH7780_PCIMBR(i));
+ chan->reg_base + SH7780_PCIMBMR(i - 1));
+ __raw_writel(res->start, chan->reg_base + SH7780_PCIMBR(i - 1));
}
/*