aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2011-07-07 05:56:41 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-08-17 03:44:16 -0400
commit1ace756628443ac41e8b6b409277fc4ee847472e (patch)
tree9e7e9f9064cfcdf617e81de7c7afa76989c021f1
parentd0a84e72eb755f58ba350d9988bfbdffd6f5a22c (diff)
ARM: io: ecard: move ioaddr() inside __ecard_address
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/include/asm/ecard.h1
-rw-r--r--arch/arm/kernel/ecard.c11
2 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/include/asm/ecard.h b/arch/arm/include/asm/ecard.h
index 29f2610efc70..eaea14676d57 100644
--- a/arch/arm/include/asm/ecard.h
+++ b/arch/arm/include/asm/ecard.h
@@ -161,7 +161,6 @@ struct expansion_card {
161 161
162 /* Private internal data */ 162 /* Private internal data */
163 const char *card_desc; /* Card description */ 163 const char *card_desc; /* Card description */
164 CONST unsigned int podaddr; /* Base Linux address for card */
165 CONST loader_t loader; /* loader program */ 164 CONST loader_t loader; /* loader program */
166 u64 dma_mask; 165 u64 dma_mask;
167}; 166};
diff --git a/arch/arm/kernel/ecard.c b/arch/arm/kernel/ecard.c
index d16500110ee9..920f1a371a22 100644
--- a/arch/arm/kernel/ecard.c
+++ b/arch/arm/kernel/ecard.c
@@ -678,13 +678,13 @@ static int __init ecard_probeirqhw(void)
678#define IO_EC_MEMC8_BASE 0 678#define IO_EC_MEMC8_BASE 0
679#endif 679#endif
680 680
681static unsigned int __ecard_address(ecard_t *ec, card_type_t type, card_speed_t speed) 681static void __iomem *__ecard_address(ecard_t *ec, card_type_t type, card_speed_t speed)
682{ 682{
683 unsigned long address = 0; 683 unsigned long address = 0;
684 int slot = ec->slot_no; 684 int slot = ec->slot_no;
685 685
686 if (ec->slot_no == 8) 686 if (ec->slot_no == 8)
687 return IO_EC_MEMC8_BASE; 687 return (void __iomem *)ioaddr(IO_EC_MEMC8_BASE);
688 688
689 ectcr &= ~(1 << slot); 689 ectcr &= ~(1 << slot);
690 690
@@ -719,7 +719,7 @@ static unsigned int __ecard_address(ecard_t *ec, card_type_t type, card_speed_t
719#ifdef IOMD_ECTCR 719#ifdef IOMD_ECTCR
720 iomd_writeb(ectcr, IOMD_ECTCR); 720 iomd_writeb(ectcr, IOMD_ECTCR);
721#endif 721#endif
722 return address; 722 return (void __iomem *)(address ? ioaddr(address) : NULL);
723} 723}
724 724
725static int ecard_prints(struct seq_file *m, ecard_t *ec) 725static int ecard_prints(struct seq_file *m, ecard_t *ec)
@@ -990,6 +990,7 @@ ecard_probe(int slot, card_type_t type)
990 ecard_t **ecp; 990 ecard_t **ecp;
991 ecard_t *ec; 991 ecard_t *ec;
992 struct ex_ecid cid; 992 struct ex_ecid cid;
993 void __iomem *addr;
993 int i, rc; 994 int i, rc;
994 995
995 ec = ecard_alloc_card(type, slot); 996 ec = ecard_alloc_card(type, slot);
@@ -999,7 +1000,7 @@ ecard_probe(int slot, card_type_t type)
999 } 1000 }
1000 1001
1001 rc = -ENODEV; 1002 rc = -ENODEV;
1002 if ((ec->podaddr = __ecard_address(ec, type, ECARD_SYNC)) == 0) 1003 if ((addr = __ecard_address(ec, type, ECARD_SYNC)) == NULL)
1003 goto nodev; 1004 goto nodev;
1004 1005
1005 cid.r_zero = 1; 1006 cid.r_zero = 1;
@@ -1019,7 +1020,7 @@ ecard_probe(int slot, card_type_t type)
1019 ec->cid.fiqmask = cid.r_fiqmask; 1020 ec->cid.fiqmask = cid.r_fiqmask;
1020 ec->cid.fiqoff = ecard_gets24(cid.r_fiqoff); 1021 ec->cid.fiqoff = ecard_gets24(cid.r_fiqoff);
1021 ec->fiqaddr = 1022 ec->fiqaddr =
1022 ec->irqaddr = (void __iomem *)ioaddr(ec->podaddr); 1023 ec->irqaddr = addr;
1023 1024
1024 if (ec->cid.is) { 1025 if (ec->cid.is) {
1025 ec->irqmask = ec->cid.irqmask; 1026 ec->irqmask = ec->cid.irqmask;