summaryrefslogtreecommitdiffstats
path: root/arch/mips/alchemy/devboards/platform.c
diff options
context:
space:
mode:
authorManuel Lauss <manuel.lauss@googlemail.com>2010-02-24 17:40:21 +0100
committerRalf Baechle <ralf@linux-mips.org>2010-02-27 12:53:43 +0100
commit11b897cf84c37e6522db914793677e933ef311fb (patch)
treeb9d69cea86b2c1673f30332ff9b3944dc00bfc9b /arch/mips/alchemy/devboards/platform.c
parentb9b37787d24cca9fbd63f767663e9439fa69aa22 (diff)
MIPS: Alchemy: use 36bit addresses for PCMCIA resources.
On Alchemy the PCMCIA area lies at the end of the chips 36bit system bus area. Currently, addresses at the far end of the 32bit area are assumed to belong to the PCMCIA area and fixed up to the real 36bit address before being passed to ioremap(). A previous commit enabled 64 bit physical size for the resource datatype on Alchemy and this allows to use the correct 36bit addresses when registering the PCMCIA sockets. This patch removes the 32-to-36bit address fixup and registers the Alchemy demo board pcmcia socket with the correct 36bit physical addresses. Tested on DB1200, with a CF card (ide-cs driver) and a 3c589 PCMCIA ethernet card. Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> To: Linux-MIPS <linux-mips@linux-mips.org> Cc: Manuel Lauss <manuel.lauss@gmail.com> Patchwork: http://patchwork.linux-mips.org/patch/994/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/alchemy/devboards/platform.c')
-rw-r--r--arch/mips/alchemy/devboards/platform.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/arch/mips/alchemy/devboards/platform.c b/arch/mips/alchemy/devboards/platform.c
index febf4e04234..49a4b3244d8 100644
--- a/arch/mips/alchemy/devboards/platform.c
+++ b/arch/mips/alchemy/devboards/platform.c
@@ -39,12 +39,12 @@ static int __init db1x_poweroff_setup(void)
late_initcall(db1x_poweroff_setup);
/* register a pcmcia socket */
-int __init db1x_register_pcmcia_socket(unsigned long pseudo_attr_start,
- unsigned long pseudo_attr_end,
- unsigned long pseudo_mem_start,
- unsigned long pseudo_mem_end,
- unsigned long pseudo_io_start,
- unsigned long pseudo_io_end,
+int __init db1x_register_pcmcia_socket(phys_addr_t pcmcia_attr_start,
+ phys_addr_t pcmcia_attr_end,
+ phys_addr_t pcmcia_mem_start,
+ phys_addr_t pcmcia_mem_end,
+ phys_addr_t pcmcia_io_start,
+ phys_addr_t pcmcia_io_end,
int card_irq,
int cd_irq,
int stschg_irq,
@@ -71,20 +71,20 @@ int __init db1x_register_pcmcia_socket(unsigned long pseudo_attr_start,
goto out;
}
- sr[0].name = "pseudo-attr";
+ sr[0].name = "pcmcia-attr";
sr[0].flags = IORESOURCE_MEM;
- sr[0].start = pseudo_attr_start;
- sr[0].end = pseudo_attr_end;
+ sr[0].start = pcmcia_attr_start;
+ sr[0].end = pcmcia_attr_end;
- sr[1].name = "pseudo-mem";
+ sr[1].name = "pcmcia-mem";
sr[1].flags = IORESOURCE_MEM;
- sr[1].start = pseudo_mem_start;
- sr[1].end = pseudo_mem_end;
+ sr[1].start = pcmcia_mem_start;
+ sr[1].end = pcmcia_mem_end;
- sr[2].name = "pseudo-io";
+ sr[2].name = "pcmcia-io";
sr[2].flags = IORESOURCE_MEM;
- sr[2].start = pseudo_io_start;
- sr[2].end = pseudo_io_end;
+ sr[2].start = pcmcia_io_start;
+ sr[2].end = pcmcia_io_end;
sr[3].name = "insert";
sr[3].flags = IORESOURCE_IRQ;
@@ -96,9 +96,9 @@ int __init db1x_register_pcmcia_socket(unsigned long pseudo_attr_start,
i = 5;
if (stschg_irq) {
- sr[i].name = "insert";
+ sr[i].name = "stschg";
sr[i].flags = IORESOURCE_IRQ;
- sr[i].start = sr[i].end = cd_irq;
+ sr[i].start = sr[i].end = stschg_irq;
i++;
}
if (eject_irq) {