diff options
author | Matthew Wilcox <willy@parisc-linux.org> | 2005-10-21 22:36:40 -0400 |
---|---|---|
committer | Kyle McMartin <kyle@parisc-linux.org> | 2005-10-21 22:36:40 -0400 |
commit | 53f01bba49938f115237fe43a261c31ac13ae5c6 (patch) | |
tree | df2a5fa9d95c7e69447ac0c89d6e149888c9bd1c | |
parent | bdad1f836ab1ca2b18a625222f63f630cfd14e41 (diff) |
[PARISC] Convert parisc_device to use struct resource for hpa
Convert pa_dev->hpa from an unsigned long to a struct resource.
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
Fix up users of ->hpa to use ->hpa.start instead.
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
-rw-r--r-- | arch/parisc/kernel/perf.c | 12 | ||||
-rw-r--r-- | arch/parisc/kernel/processor.c | 8 | ||||
-rw-r--r-- | drivers/input/keyboard/hilkbd.c | 4 | ||||
-rw-r--r-- | drivers/input/serio/gscps2.c | 2 | ||||
-rw-r--r-- | drivers/input/serio/hp_sdc.c | 6 | ||||
-rw-r--r-- | drivers/net/lasi_82596.c | 7 | ||||
-rw-r--r-- | drivers/parisc/asp.c | 4 | ||||
-rw-r--r-- | drivers/parisc/ccio-dma.c | 4 | ||||
-rw-r--r-- | drivers/parisc/ccio-rm-dma.c | 2 | ||||
-rw-r--r-- | drivers/parisc/dino.c | 6 | ||||
-rw-r--r-- | drivers/parisc/eisa.c | 2 | ||||
-rw-r--r-- | drivers/parisc/hppb.c | 8 | ||||
-rw-r--r-- | drivers/parisc/lasi.c | 2 | ||||
-rw-r--r-- | drivers/parisc/lba_pci.c | 14 | ||||
-rw-r--r-- | drivers/parisc/sba_iommu.c | 6 | ||||
-rw-r--r-- | drivers/parisc/wax.c | 2 | ||||
-rw-r--r-- | drivers/parport/parport_gsc.c | 5 | ||||
-rw-r--r-- | drivers/scsi/lasi700.c | 2 | ||||
-rw-r--r-- | drivers/scsi/zalon.c | 4 | ||||
-rw-r--r-- | drivers/serial/8250_gsc.c | 5 | ||||
-rw-r--r-- | drivers/serial/mux.c | 2 | ||||
-rw-r--r-- | include/asm-parisc/parisc-device.h | 2 | ||||
-rw-r--r-- | sound/parisc/harmony.c | 6 |
23 files changed, 60 insertions, 55 deletions
diff --git a/arch/parisc/kernel/perf.c b/arch/parisc/kernel/perf.c index b3ad0a505b87..44670d6e06f4 100644 --- a/arch/parisc/kernel/perf.c +++ b/arch/parisc/kernel/perf.c | |||
@@ -746,7 +746,8 @@ static int perf_write_image(uint64_t *memaddr) | |||
746 | uint64_t *bptr; | 746 | uint64_t *bptr; |
747 | uint32_t dwords; | 747 | uint32_t dwords; |
748 | uint32_t *intrigue_rdr; | 748 | uint32_t *intrigue_rdr; |
749 | uint64_t *intrigue_bitmask, tmp64, proc_hpa; | 749 | uint64_t *intrigue_bitmask, tmp64; |
750 | void __iomem *runway; | ||
750 | struct rdr_tbl_ent *tentry; | 751 | struct rdr_tbl_ent *tentry; |
751 | int i; | 752 | int i; |
752 | 753 | ||
@@ -798,15 +799,16 @@ static int perf_write_image(uint64_t *memaddr) | |||
798 | return -1; | 799 | return -1; |
799 | } | 800 | } |
800 | 801 | ||
801 | proc_hpa = cpu_device->hpa; | 802 | runway = ioremap(cpu_device->hpa.start, 4096); |
802 | 803 | ||
803 | /* Merge intrigue bits into Runway STATUS 0 */ | 804 | /* Merge intrigue bits into Runway STATUS 0 */ |
804 | tmp64 = __raw_readq(proc_hpa + RUNWAY_STATUS) & 0xffecfffffffffffful; | 805 | tmp64 = __raw_readq(runway + RUNWAY_STATUS) & 0xffecfffffffffffful; |
805 | __raw_writeq(tmp64 | (*memaddr++ & 0x0013000000000000ul), proc_hpa + RUNWAY_STATUS); | 806 | __raw_writeq(tmp64 | (*memaddr++ & 0x0013000000000000ul), |
807 | runway + RUNWAY_STATUS); | ||
806 | 808 | ||
807 | /* Write RUNWAY DEBUG registers */ | 809 | /* Write RUNWAY DEBUG registers */ |
808 | for (i = 0; i < 8; i++) { | 810 | for (i = 0; i < 8; i++) { |
809 | __raw_writeq(*memaddr++, proc_hpa + RUNWAY_DEBUG + i); | 811 | __raw_writeq(*memaddr++, runway + RUNWAY_DEBUG); |
810 | } | 812 | } |
811 | 813 | ||
812 | return 0; | 814 | return 0; |
diff --git a/arch/parisc/kernel/processor.c b/arch/parisc/kernel/processor.c index 13b721cb9f55..4f5bbcf1f5a4 100644 --- a/arch/parisc/kernel/processor.c +++ b/arch/parisc/kernel/processor.c | |||
@@ -92,7 +92,7 @@ static int __init processor_probe(struct parisc_device *dev) | |||
92 | * May get overwritten by PAT code. | 92 | * May get overwritten by PAT code. |
93 | */ | 93 | */ |
94 | cpuid = boot_cpu_data.cpu_count; | 94 | cpuid = boot_cpu_data.cpu_count; |
95 | txn_addr = dev->hpa; /* for legacy PDC */ | 95 | txn_addr = dev->hpa.start; /* for legacy PDC */ |
96 | 96 | ||
97 | #ifdef __LP64__ | 97 | #ifdef __LP64__ |
98 | if (is_pdc_pat()) { | 98 | if (is_pdc_pat()) { |
@@ -122,7 +122,7 @@ static int __init processor_probe(struct parisc_device *dev) | |||
122 | * boot time (ie shutdown a CPU from an OS perspective). | 122 | * boot time (ie shutdown a CPU from an OS perspective). |
123 | */ | 123 | */ |
124 | /* get the cpu number */ | 124 | /* get the cpu number */ |
125 | status = pdc_pat_cpu_get_number(&cpu_info, dev->hpa); | 125 | status = pdc_pat_cpu_get_number(&cpu_info, dev->hpa.start); |
126 | 126 | ||
127 | BUG_ON(PDC_OK != status); | 127 | BUG_ON(PDC_OK != status); |
128 | 128 | ||
@@ -130,7 +130,7 @@ static int __init processor_probe(struct parisc_device *dev) | |||
130 | printk(KERN_WARNING "IGNORING CPU at 0x%x," | 130 | printk(KERN_WARNING "IGNORING CPU at 0x%x," |
131 | " cpu_slot_id > NR_CPUS" | 131 | " cpu_slot_id > NR_CPUS" |
132 | " (%ld > %d)\n", | 132 | " (%ld > %d)\n", |
133 | dev->hpa, cpu_info.cpu_num, NR_CPUS); | 133 | dev->hpa.start, cpu_info.cpu_num, NR_CPUS); |
134 | /* Ignore CPU since it will only crash */ | 134 | /* Ignore CPU since it will only crash */ |
135 | boot_cpu_data.cpu_count--; | 135 | boot_cpu_data.cpu_count--; |
136 | return 1; | 136 | return 1; |
@@ -149,7 +149,7 @@ static int __init processor_probe(struct parisc_device *dev) | |||
149 | 149 | ||
150 | p->loops_per_jiffy = loops_per_jiffy; | 150 | p->loops_per_jiffy = loops_per_jiffy; |
151 | p->dev = dev; /* Save IODC data in case we need it */ | 151 | p->dev = dev; /* Save IODC data in case we need it */ |
152 | p->hpa = dev->hpa; /* save CPU hpa */ | 152 | p->hpa = dev->hpa.start; /* save CPU hpa */ |
153 | p->cpuid = cpuid; /* save CPU id */ | 153 | p->cpuid = cpuid; /* save CPU id */ |
154 | p->txn_addr = txn_addr; /* save CPU IRQ address */ | 154 | p->txn_addr = txn_addr; /* save CPU IRQ address */ |
155 | #ifdef CONFIG_SMP | 155 | #ifdef CONFIG_SMP |
diff --git a/drivers/input/keyboard/hilkbd.c b/drivers/input/keyboard/hilkbd.c index 8aa81c9ac2f7..e7a1e14f8b0c 100644 --- a/drivers/input/keyboard/hilkbd.c +++ b/drivers/input/keyboard/hilkbd.c | |||
@@ -278,11 +278,11 @@ static int __init | |||
278 | hil_init_chip(struct parisc_device *dev) | 278 | hil_init_chip(struct parisc_device *dev) |
279 | { | 279 | { |
280 | if (!dev->irq) { | 280 | if (!dev->irq) { |
281 | printk(KERN_WARNING "HIL: IRQ not found for HIL bus at 0x%08lx\n", dev->hpa); | 281 | printk(KERN_WARNING "HIL: IRQ not found for HIL bus at 0x%08lx\n", dev->hpa.start); |
282 | return -ENODEV; | 282 | return -ENODEV; |
283 | } | 283 | } |
284 | 284 | ||
285 | hil_base = dev->hpa; | 285 | hil_base = dev->hpa.start; |
286 | hil_irq = dev->irq; | 286 | hil_irq = dev->irq; |
287 | hil_dev.dev_id = dev; | 287 | hil_dev.dev_id = dev; |
288 | 288 | ||
diff --git a/drivers/input/serio/gscps2.c b/drivers/input/serio/gscps2.c index 4bad2810190c..9790d7169a53 100644 --- a/drivers/input/serio/gscps2.c +++ b/drivers/input/serio/gscps2.c | |||
@@ -331,7 +331,7 @@ static int __init gscps2_probe(struct parisc_device *dev) | |||
331 | { | 331 | { |
332 | struct gscps2port *ps2port; | 332 | struct gscps2port *ps2port; |
333 | struct serio *serio; | 333 | struct serio *serio; |
334 | unsigned long hpa = dev->hpa; | 334 | unsigned long hpa = dev->hpa.start; |
335 | int ret; | 335 | int ret; |
336 | 336 | ||
337 | if (!dev->irq) | 337 | if (!dev->irq) |
diff --git a/drivers/input/serio/hp_sdc.c b/drivers/input/serio/hp_sdc.c index 045b9a7a9dbb..a10348bb25e9 100644 --- a/drivers/input/serio/hp_sdc.c +++ b/drivers/input/serio/hp_sdc.c | |||
@@ -875,9 +875,9 @@ static int __init hp_sdc_init_hppa(struct parisc_device *d) | |||
875 | hp_sdc.dev = d; | 875 | hp_sdc.dev = d; |
876 | hp_sdc.irq = d->irq; | 876 | hp_sdc.irq = d->irq; |
877 | hp_sdc.nmi = d->aux_irq; | 877 | hp_sdc.nmi = d->aux_irq; |
878 | hp_sdc.base_io = d->hpa; | 878 | hp_sdc.base_io = d->hpa.start; |
879 | hp_sdc.data_io = d->hpa + 0x800; | 879 | hp_sdc.data_io = d->hpa.start + 0x800; |
880 | hp_sdc.status_io = d->hpa + 0x801; | 880 | hp_sdc.status_io = d->hpa.start + 0x801; |
881 | 881 | ||
882 | return hp_sdc_init(); | 882 | return hp_sdc_init(); |
883 | } | 883 | } |
diff --git a/drivers/net/lasi_82596.c b/drivers/net/lasi_82596.c index 180e526a2049..a63d8a317d9e 100644 --- a/drivers/net/lasi_82596.c +++ b/drivers/net/lasi_82596.c | |||
@@ -1528,17 +1528,18 @@ lan_init_chip(struct parisc_device *dev) | |||
1528 | 1528 | ||
1529 | if (!dev->irq) { | 1529 | if (!dev->irq) { |
1530 | printk(KERN_ERR "%s: IRQ not found for i82596 at 0x%lx\n", | 1530 | printk(KERN_ERR "%s: IRQ not found for i82596 at 0x%lx\n", |
1531 | __FILE__, dev->hpa); | 1531 | __FILE__, dev->hpa.start); |
1532 | return -ENODEV; | 1532 | return -ENODEV; |
1533 | } | 1533 | } |
1534 | 1534 | ||
1535 | printk(KERN_INFO "Found i82596 at 0x%lx, IRQ %d\n", dev->hpa, dev->irq); | 1535 | printk(KERN_INFO "Found i82596 at 0x%lx, IRQ %d\n", dev->hpa.start, |
1536 | dev->irq); | ||
1536 | 1537 | ||
1537 | netdevice = alloc_etherdev(0); | 1538 | netdevice = alloc_etherdev(0); |
1538 | if (!netdevice) | 1539 | if (!netdevice) |
1539 | return -ENOMEM; | 1540 | return -ENOMEM; |
1540 | 1541 | ||
1541 | netdevice->base_addr = dev->hpa; | 1542 | netdevice->base_addr = dev->hpa.start; |
1542 | netdevice->irq = dev->irq; | 1543 | netdevice->irq = dev->irq; |
1543 | 1544 | ||
1544 | retval = i82596_probe(netdevice, &dev->dev); | 1545 | retval = i82596_probe(netdevice, &dev->dev); |
diff --git a/drivers/parisc/asp.c b/drivers/parisc/asp.c index 52f37b424318..558420bc9f88 100644 --- a/drivers/parisc/asp.c +++ b/drivers/parisc/asp.c | |||
@@ -77,12 +77,12 @@ asp_init_chip(struct parisc_device *dev) | |||
77 | struct gsc_irq gsc_irq; | 77 | struct gsc_irq gsc_irq; |
78 | int ret; | 78 | int ret; |
79 | 79 | ||
80 | asp.version = gsc_readb(dev->hpa + ASP_VER_OFFSET) & 0xf; | 80 | asp.version = gsc_readb(dev->hpa.start + ASP_VER_OFFSET) & 0xf; |
81 | asp.name = (asp.version == 1) ? "Asp" : "Cutoff"; | 81 | asp.name = (asp.version == 1) ? "Asp" : "Cutoff"; |
82 | asp.hpa = ASP_INTERRUPT_ADDR; | 82 | asp.hpa = ASP_INTERRUPT_ADDR; |
83 | 83 | ||
84 | printk(KERN_INFO "%s version %d at 0x%lx found.\n", | 84 | printk(KERN_INFO "%s version %d at 0x%lx found.\n", |
85 | asp.name, asp.version, dev->hpa); | 85 | asp.name, asp.version, dev->hpa.start); |
86 | 86 | ||
87 | /* the IRQ ASP should use */ | 87 | /* the IRQ ASP should use */ |
88 | ret = -EBUSY; | 88 | ret = -EBUSY; |
diff --git a/drivers/parisc/ccio-dma.c b/drivers/parisc/ccio-dma.c index 2bb1889c4c4f..80d0927dc8a4 100644 --- a/drivers/parisc/ccio-dma.c +++ b/drivers/parisc/ccio-dma.c | |||
@@ -1546,7 +1546,7 @@ static int ccio_probe(struct parisc_device *dev) | |||
1546 | 1546 | ||
1547 | ioc->name = dev->id.hversion == U2_IOA_RUNWAY ? "U2" : "UTurn"; | 1547 | ioc->name = dev->id.hversion == U2_IOA_RUNWAY ? "U2" : "UTurn"; |
1548 | 1548 | ||
1549 | printk(KERN_INFO "Found %s at 0x%lx\n", ioc->name, dev->hpa); | 1549 | printk(KERN_INFO "Found %s at 0x%lx\n", ioc->name, dev->hpa.start); |
1550 | 1550 | ||
1551 | for (i = 0; i < ioc_count; i++) { | 1551 | for (i = 0; i < ioc_count; i++) { |
1552 | ioc_p = &(*ioc_p)->next; | 1552 | ioc_p = &(*ioc_p)->next; |
@@ -1554,7 +1554,7 @@ static int ccio_probe(struct parisc_device *dev) | |||
1554 | *ioc_p = ioc; | 1554 | *ioc_p = ioc; |
1555 | 1555 | ||
1556 | ioc->hw_path = dev->hw_path; | 1556 | ioc->hw_path = dev->hw_path; |
1557 | ioc->ioc_hpa = (struct ioa_registers *)dev->hpa; | 1557 | ioc->ioc_regs = ioremap(dev->hpa.start, 4096); |
1558 | ccio_ioc_init(ioc); | 1558 | ccio_ioc_init(ioc); |
1559 | ccio_init_resources(ioc); | 1559 | ccio_init_resources(ioc); |
1560 | hppa_dma_ops = &ccio_ops; | 1560 | hppa_dma_ops = &ccio_ops; |
diff --git a/drivers/parisc/ccio-rm-dma.c b/drivers/parisc/ccio-rm-dma.c index 57e6385976e2..356b8357bccc 100644 --- a/drivers/parisc/ccio-rm-dma.c +++ b/drivers/parisc/ccio-rm-dma.c | |||
@@ -167,7 +167,7 @@ ccio_probe(struct parisc_device *dev) | |||
167 | { | 167 | { |
168 | printk(KERN_INFO "%s found %s at 0x%lx\n", MODULE_NAME, | 168 | printk(KERN_INFO "%s found %s at 0x%lx\n", MODULE_NAME, |
169 | dev->id.hversion == U2_BC_GSC ? "U2" : "UTurn", | 169 | dev->id.hversion == U2_BC_GSC ? "U2" : "UTurn", |
170 | dev->hpa); | 170 | dev->hpa.start); |
171 | 171 | ||
172 | /* | 172 | /* |
173 | ** FIXME - should check U2 registers to verify it's really running | 173 | ** FIXME - should check U2 registers to verify it's really running |
diff --git a/drivers/parisc/dino.c b/drivers/parisc/dino.c index 8c61705e67a5..37820b0ae5ee 100644 --- a/drivers/parisc/dino.c +++ b/drivers/parisc/dino.c | |||
@@ -902,15 +902,15 @@ void ccio_cujo20_fixup(struct parisc_device *dev, u32 iovp); | |||
902 | ** If so, initialize the chip appropriately (card-mode vs bridge mode). | 902 | ** If so, initialize the chip appropriately (card-mode vs bridge mode). |
903 | ** Much of the initialization is common though. | 903 | ** Much of the initialization is common though. |
904 | */ | 904 | */ |
905 | static int __init | 905 | static int __init dino_probe(struct parisc_device *dev) |
906 | dino_driver_callback(struct parisc_device *dev) | ||
907 | { | 906 | { |
908 | struct dino_device *dino_dev; // Dino specific control struct | 907 | struct dino_device *dino_dev; // Dino specific control struct |
909 | const char *version = "unknown"; | 908 | const char *version = "unknown"; |
910 | char *name; | 909 | char *name; |
911 | int is_cujo = 0; | 910 | int is_cujo = 0; |
912 | struct pci_bus *bus; | 911 | struct pci_bus *bus; |
913 | 912 | unsigned long hpa = dev->hpa.start; | |
913 | |||
914 | name = "Dino"; | 914 | name = "Dino"; |
915 | if (is_card_dino(&dev->id)) { | 915 | if (is_card_dino(&dev->id)) { |
916 | version = "3.x (card mode)"; | 916 | version = "3.x (card mode)"; |
diff --git a/drivers/parisc/eisa.c b/drivers/parisc/eisa.c index 0afeedddf535..6362bf99eff6 100644 --- a/drivers/parisc/eisa.c +++ b/drivers/parisc/eisa.c | |||
@@ -315,7 +315,7 @@ static int __devinit eisa_probe(struct parisc_device *dev) | |||
315 | char *name = is_mongoose(dev) ? "Mongoose" : "Wax"; | 315 | char *name = is_mongoose(dev) ? "Mongoose" : "Wax"; |
316 | 316 | ||
317 | printk(KERN_INFO "%s EISA Adapter found at 0x%08lx\n", | 317 | printk(KERN_INFO "%s EISA Adapter found at 0x%08lx\n", |
318 | name, dev->hpa); | 318 | name, dev->hpa.start); |
319 | 319 | ||
320 | eisa_dev.hba.dev = dev; | 320 | eisa_dev.hba.dev = dev; |
321 | eisa_dev.hba.iommu = ccio_get_iommu(dev); | 321 | eisa_dev.hba.iommu = ccio_get_iommu(dev); |
diff --git a/drivers/parisc/hppb.c b/drivers/parisc/hppb.c index a6eae3e7c0cd..5edf93f80757 100644 --- a/drivers/parisc/hppb.c +++ b/drivers/parisc/hppb.c | |||
@@ -68,14 +68,14 @@ static int hppb_probe(struct parisc_device *dev) | |||
68 | memset(card->next, '\0', sizeof(struct hppb_card)); | 68 | memset(card->next, '\0', sizeof(struct hppb_card)); |
69 | card = card->next; | 69 | card = card->next; |
70 | } | 70 | } |
71 | printk(KERN_INFO "Found GeckoBoa at 0x%lx\n", dev->hpa); | 71 | printk(KERN_INFO "Found GeckoBoa at 0x%lx\n", dev->hpa.start); |
72 | 72 | ||
73 | card->hpa = dev->hpa; | 73 | card->hpa = dev->hpa.start; |
74 | card->mmio_region.name = "HP-PB Bus"; | 74 | card->mmio_region.name = "HP-PB Bus"; |
75 | card->mmio_region.flags = IORESOURCE_MEM; | 75 | card->mmio_region.flags = IORESOURCE_MEM; |
76 | 76 | ||
77 | card->mmio_region.start = __raw_readl(dev->hpa + IO_IO_LOW); | 77 | card->mmio_region.start = gsc_readl(dev->hpa.start + IO_IO_LOW); |
78 | card->mmio_region.end = __raw_readl(dev->hpa + IO_IO_HIGH) - 1; | 78 | card->mmio_region.end = gsc_readl(dev->hpa.start + IO_IO_HIGH) - 1; |
79 | 79 | ||
80 | status = ccio_request_resource(dev, &card->mmio_region); | 80 | status = ccio_request_resource(dev, &card->mmio_region); |
81 | if(status < 0) { | 81 | if(status < 0) { |
diff --git a/drivers/parisc/lasi.c b/drivers/parisc/lasi.c index c776c372ae4e..a8c20396ffbe 100644 --- a/drivers/parisc/lasi.c +++ b/drivers/parisc/lasi.c | |||
@@ -175,7 +175,7 @@ lasi_init_chip(struct parisc_device *dev) | |||
175 | return -ENOMEM; | 175 | return -ENOMEM; |
176 | 176 | ||
177 | lasi->name = "Lasi"; | 177 | lasi->name = "Lasi"; |
178 | lasi->hpa = dev->hpa; | 178 | lasi->hpa = dev->hpa.start; |
179 | 179 | ||
180 | /* Check the 4-bit (yes, only 4) version register */ | 180 | /* Check the 4-bit (yes, only 4) version register */ |
181 | lasi->version = gsc_readl(lasi->hpa + LASI_VER) & 0xf; | 181 | lasi->version = gsc_readl(lasi->hpa + LASI_VER) & 0xf; |
diff --git a/drivers/parisc/lba_pci.c b/drivers/parisc/lba_pci.c index 7fdd80b7eb47..5e495dcbc58a 100644 --- a/drivers/parisc/lba_pci.c +++ b/drivers/parisc/lba_pci.c | |||
@@ -1288,7 +1288,7 @@ lba_legacy_resources(struct parisc_device *pa_dev, struct lba_device *lba_dev) | |||
1288 | ** Adjust "window" for this rope. | 1288 | ** Adjust "window" for this rope. |
1289 | */ | 1289 | */ |
1290 | rsize /= ROPES_PER_IOC; | 1290 | rsize /= ROPES_PER_IOC; |
1291 | r->start += (rsize + 1) * LBA_NUM(pa_dev->hpa); | 1291 | r->start += (rsize + 1) * LBA_NUM(pa_dev->hpa.start); |
1292 | r->end = r->start + rsize; | 1292 | r->end = r->start + rsize; |
1293 | } else { | 1293 | } else { |
1294 | r->end = r->start = 0; /* Not enabled. */ | 1294 | r->end = r->start = 0; /* Not enabled. */ |
@@ -1458,7 +1458,7 @@ lba_driver_probe(struct parisc_device *dev) | |||
1458 | u32 func_class; | 1458 | u32 func_class; |
1459 | void *tmp_obj; | 1459 | void *tmp_obj; |
1460 | char *version; | 1460 | char *version; |
1461 | void __iomem *addr = ioremap(dev->hpa, 4096); | 1461 | void __iomem *addr = ioremap(dev->hpa.start, 4096); |
1462 | 1462 | ||
1463 | /* Read HW Rev First */ | 1463 | /* Read HW Rev First */ |
1464 | func_class = READ_REG32(addr + LBA_FCLASS); | 1464 | func_class = READ_REG32(addr + LBA_FCLASS); |
@@ -1476,7 +1476,7 @@ lba_driver_probe(struct parisc_device *dev) | |||
1476 | } | 1476 | } |
1477 | 1477 | ||
1478 | printk(KERN_INFO "%s version %s (0x%x) found at 0x%lx\n", | 1478 | printk(KERN_INFO "%s version %s (0x%x) found at 0x%lx\n", |
1479 | MODULE_NAME, version, func_class & 0xf, dev->hpa); | 1479 | MODULE_NAME, version, func_class & 0xf, dev->hpa.start); |
1480 | 1480 | ||
1481 | if (func_class < 2) { | 1481 | if (func_class < 2) { |
1482 | printk(KERN_WARNING "Can't support LBA older than " | 1482 | printk(KERN_WARNING "Can't support LBA older than " |
@@ -1503,17 +1503,17 @@ lba_driver_probe(struct parisc_device *dev) | |||
1503 | * but for the mask for func_class. | 1503 | * but for the mask for func_class. |
1504 | */ | 1504 | */ |
1505 | printk(KERN_INFO "%s version %s (0x%x) found at 0x%lx\n", | 1505 | printk(KERN_INFO "%s version %s (0x%x) found at 0x%lx\n", |
1506 | MODULE_NAME, version, func_class & 0xff, dev->hpa); | 1506 | MODULE_NAME, version, func_class & 0xff, dev->hpa.start); |
1507 | cfg_ops = &mercury_cfg_ops; | 1507 | cfg_ops = &mercury_cfg_ops; |
1508 | } else { | 1508 | } else { |
1509 | printk(KERN_ERR "Unknown LBA found at 0x%lx\n", dev->hpa); | 1509 | printk(KERN_ERR "Unknown LBA found at 0x%lx\n", dev->hpa.start); |
1510 | return -ENODEV; | 1510 | return -ENODEV; |
1511 | } | 1511 | } |
1512 | 1512 | ||
1513 | /* | 1513 | /* |
1514 | ** Tell I/O SAPIC driver we have a IRQ handler/region. | 1514 | ** Tell I/O SAPIC driver we have a IRQ handler/region. |
1515 | */ | 1515 | */ |
1516 | tmp_obj = iosapic_register(dev->hpa + LBA_IOSAPIC_BASE); | 1516 | tmp_obj = iosapic_register(dev->hpa.start + LBA_IOSAPIC_BASE); |
1517 | 1517 | ||
1518 | /* NOTE: PCI devices (e.g. 103c:1005 graphics card) which don't | 1518 | /* NOTE: PCI devices (e.g. 103c:1005 graphics card) which don't |
1519 | ** have an IRT entry will get NULL back from iosapic code. | 1519 | ** have an IRT entry will get NULL back from iosapic code. |
@@ -1635,7 +1635,7 @@ void __init lba_init(void) | |||
1635 | */ | 1635 | */ |
1636 | void lba_set_iregs(struct parisc_device *lba, u32 ibase, u32 imask) | 1636 | void lba_set_iregs(struct parisc_device *lba, u32 ibase, u32 imask) |
1637 | { | 1637 | { |
1638 | void __iomem * base_addr = ioremap(lba->hpa, 4096); | 1638 | void __iomem * base_addr = ioremap(lba->hpa.start, 4096); |
1639 | 1639 | ||
1640 | imask <<= 2; /* adjust for hints - 2 more bits */ | 1640 | imask <<= 2; /* adjust for hints - 2 more bits */ |
1641 | 1641 | ||
diff --git a/drivers/parisc/sba_iommu.c b/drivers/parisc/sba_iommu.c index a8405f05fb5f..6256ad365d0b 100644 --- a/drivers/parisc/sba_iommu.c +++ b/drivers/parisc/sba_iommu.c | |||
@@ -1600,7 +1600,7 @@ sba_ioc_init(struct parisc_device *sba, struct ioc *ioc, int ioc_num) | |||
1600 | 1600 | ||
1601 | static void __iomem *ioc_remap(struct sba_device *sba_dev, int offset) | 1601 | static void __iomem *ioc_remap(struct sba_device *sba_dev, int offset) |
1602 | { | 1602 | { |
1603 | return ioremap(sba_dev->dev->hpa + offset, SBA_FUNC_SIZE); | 1603 | return ioremap(sba_dev->dev->hpa.start + offset, SBA_FUNC_SIZE); |
1604 | } | 1604 | } |
1605 | 1605 | ||
1606 | static void sba_hw_init(struct sba_device *sba_dev) | 1606 | static void sba_hw_init(struct sba_device *sba_dev) |
@@ -1978,7 +1978,7 @@ sba_driver_callback(struct parisc_device *dev) | |||
1978 | u32 func_class; | 1978 | u32 func_class; |
1979 | int i; | 1979 | int i; |
1980 | char *version; | 1980 | char *version; |
1981 | void __iomem *sba_addr = ioremap(dev->hpa, SBA_FUNC_SIZE); | 1981 | void __iomem *sba_addr = ioremap(dev->hpa.start, SBA_FUNC_SIZE); |
1982 | 1982 | ||
1983 | sba_dump_ranges(sba_addr); | 1983 | sba_dump_ranges(sba_addr); |
1984 | 1984 | ||
@@ -2020,7 +2020,7 @@ sba_driver_callback(struct parisc_device *dev) | |||
2020 | } | 2020 | } |
2021 | 2021 | ||
2022 | printk(KERN_INFO "%s found %s at 0x%lx\n", | 2022 | printk(KERN_INFO "%s found %s at 0x%lx\n", |
2023 | MODULE_NAME, version, dev->hpa); | 2023 | MODULE_NAME, version, dev->hpa.start); |
2024 | 2024 | ||
2025 | sba_dev = kmalloc(sizeof(struct sba_device), GFP_KERNEL); | 2025 | sba_dev = kmalloc(sizeof(struct sba_device), GFP_KERNEL); |
2026 | if (!sba_dev) { | 2026 | if (!sba_dev) { |
diff --git a/drivers/parisc/wax.c b/drivers/parisc/wax.c index e547d7d024d8..17dce2adf7fe 100644 --- a/drivers/parisc/wax.c +++ b/drivers/parisc/wax.c | |||
@@ -81,7 +81,7 @@ wax_init_chip(struct parisc_device *dev) | |||
81 | return -ENOMEM; | 81 | return -ENOMEM; |
82 | 82 | ||
83 | wax->name = "wax"; | 83 | wax->name = "wax"; |
84 | wax->hpa = dev->hpa; | 84 | wax->hpa = dev->hpa.start; |
85 | 85 | ||
86 | wax->version = 0; /* gsc_readb(wax->hpa+WAX_VER); */ | 86 | wax->version = 0; /* gsc_readb(wax->hpa+WAX_VER); */ |
87 | printk(KERN_INFO "%s at 0x%lx found.\n", wax->name, wax->hpa); | 87 | printk(KERN_INFO "%s at 0x%lx found.\n", wax->name, wax->hpa); |
diff --git a/drivers/parport/parport_gsc.c b/drivers/parport/parport_gsc.c index 02d72acd1c89..fde29a75f888 100644 --- a/drivers/parport/parport_gsc.c +++ b/drivers/parport/parport_gsc.c | |||
@@ -359,11 +359,12 @@ static int __devinit parport_init_chip(struct parisc_device *dev) | |||
359 | unsigned long port; | 359 | unsigned long port; |
360 | 360 | ||
361 | if (!dev->irq) { | 361 | if (!dev->irq) { |
362 | printk("IRQ not found for parallel device at 0x%lx\n", dev->hpa); | 362 | printk(KERN_WARNING "IRQ not found for parallel device at 0x%lx\n", |
363 | dev->hpa.start); | ||
363 | return -ENODEV; | 364 | return -ENODEV; |
364 | } | 365 | } |
365 | 366 | ||
366 | port = dev->hpa + PARPORT_GSC_OFFSET; | 367 | port = dev->hpa.start + PARPORT_GSC_OFFSET; |
367 | 368 | ||
368 | /* some older machines with ASP-chip don't support | 369 | /* some older machines with ASP-chip don't support |
369 | * the enhanced parport modes. | 370 | * the enhanced parport modes. |
diff --git a/drivers/scsi/lasi700.c b/drivers/scsi/lasi700.c index 123f4933d8f5..8028418b3ad6 100644 --- a/drivers/scsi/lasi700.c +++ b/drivers/scsi/lasi700.c | |||
@@ -98,7 +98,7 @@ MODULE_DEVICE_TABLE(parisc, lasi700_ids); | |||
98 | static int __init | 98 | static int __init |
99 | lasi700_probe(struct parisc_device *dev) | 99 | lasi700_probe(struct parisc_device *dev) |
100 | { | 100 | { |
101 | unsigned long base = dev->hpa + LASI_SCSI_CORE_OFFSET; | 101 | unsigned long base = dev->hpa.start + LASI_SCSI_CORE_OFFSET; |
102 | struct NCR_700_Host_Parameters *hostdata; | 102 | struct NCR_700_Host_Parameters *hostdata; |
103 | struct Scsi_Host *host; | 103 | struct Scsi_Host *host; |
104 | 104 | ||
diff --git a/drivers/scsi/zalon.c b/drivers/scsi/zalon.c index 5a51051e31f0..b131432c677d 100644 --- a/drivers/scsi/zalon.c +++ b/drivers/scsi/zalon.c | |||
@@ -88,7 +88,7 @@ zalon_probe(struct parisc_device *dev) | |||
88 | struct gsc_irq gsc_irq; | 88 | struct gsc_irq gsc_irq; |
89 | u32 zalon_vers; | 89 | u32 zalon_vers; |
90 | int error = -ENODEV; | 90 | int error = -ENODEV; |
91 | void __iomem *zalon = ioremap(dev->hpa, 4096); | 91 | void __iomem *zalon = ioremap(dev->hpa.start, 4096); |
92 | void __iomem *io_port = zalon + GSC_SCSI_ZALON_OFFSET; | 92 | void __iomem *io_port = zalon + GSC_SCSI_ZALON_OFFSET; |
93 | static int unit = 0; | 93 | static int unit = 0; |
94 | struct Scsi_Host *host; | 94 | struct Scsi_Host *host; |
@@ -127,7 +127,7 @@ zalon_probe(struct parisc_device *dev) | |||
127 | device.chip = zalon720_chip; | 127 | device.chip = zalon720_chip; |
128 | device.host_id = 7; | 128 | device.host_id = 7; |
129 | device.dev = &dev->dev; | 129 | device.dev = &dev->dev; |
130 | device.slot.base = dev->hpa + GSC_SCSI_ZALON_OFFSET; | 130 | device.slot.base = dev->hpa.start + GSC_SCSI_ZALON_OFFSET; |
131 | device.slot.base_v = io_port; | 131 | device.slot.base_v = io_port; |
132 | device.slot.irq = dev->irq; | 132 | device.slot.irq = dev->irq; |
133 | device.differential = 2; | 133 | device.differential = 2; |
diff --git a/drivers/serial/8250_gsc.c b/drivers/serial/8250_gsc.c index 431aa5761a7a..abc5a0cfe243 100644 --- a/drivers/serial/8250_gsc.c +++ b/drivers/serial/8250_gsc.c | |||
@@ -42,12 +42,13 @@ serial_init_chip(struct parisc_device *dev) | |||
42 | */ | 42 | */ |
43 | if (parisc_parent(dev)->id.hw_type != HPHW_IOA) { | 43 | if (parisc_parent(dev)->id.hw_type != HPHW_IOA) { |
44 | printk(KERN_INFO "Serial: device 0x%lx not configured.\n" | 44 | printk(KERN_INFO "Serial: device 0x%lx not configured.\n" |
45 | "Enable support for Wax, Lasi, Asp or Dino.\n", dev->hpa); | 45 | "Enable support for Wax, Lasi, Asp or Dino.\n", |
46 | dev->hpa.start); | ||
46 | } | 47 | } |
47 | return -ENODEV; | 48 | return -ENODEV; |
48 | } | 49 | } |
49 | 50 | ||
50 | address = dev->hpa; | 51 | address = dev->hpa.start; |
51 | if (dev->id.sversion != 0x8d) { | 52 | if (dev->id.sversion != 0x8d) { |
52 | address += 0x800; | 53 | address += 0x800; |
53 | } | 54 | } |
diff --git a/drivers/serial/mux.c b/drivers/serial/mux.c index a12005b08bca..009ce83c8ef5 100644 --- a/drivers/serial/mux.c +++ b/drivers/serial/mux.c | |||
@@ -444,7 +444,7 @@ static int __init mux_probe(struct parisc_device *dev) | |||
444 | unsigned long bytecnt; | 444 | unsigned long bytecnt; |
445 | struct uart_port *port; | 445 | struct uart_port *port; |
446 | 446 | ||
447 | status = pdc_iodc_read(&bytecnt, dev->hpa, 0, iodc_data, 32); | 447 | status = pdc_iodc_read(&bytecnt, dev->hpa.start, 0, iodc_data, 32); |
448 | if(status != PDC_OK) { | 448 | if(status != PDC_OK) { |
449 | printk(KERN_ERR "Serial mux: Unable to read IODC.\n"); | 449 | printk(KERN_ERR "Serial mux: Unable to read IODC.\n"); |
450 | return 1; | 450 | return 1; |
diff --git a/include/asm-parisc/parisc-device.h b/include/asm-parisc/parisc-device.h index cbde8b41c84b..1d247e32a608 100644 --- a/include/asm-parisc/parisc-device.h +++ b/include/asm-parisc/parisc-device.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #include <linux/device.h> | 1 | #include <linux/device.h> |
2 | 2 | ||
3 | struct parisc_device { | 3 | struct parisc_device { |
4 | unsigned long hpa; /* Hard Physical Address */ | 4 | struct resource hpa; /* Hard Physical Address */ |
5 | struct parisc_device_id id; | 5 | struct parisc_device_id id; |
6 | struct parisc_driver *driver; /* Driver for this device */ | 6 | struct parisc_driver *driver; /* Driver for this device */ |
7 | char name[80]; /* The hardware description */ | 7 | char name[80]; /* The hardware description */ |
diff --git a/sound/parisc/harmony.c b/sound/parisc/harmony.c index f560dd8cdb90..8b3ea26469ad 100644 --- a/sound/parisc/harmony.c +++ b/sound/parisc/harmony.c | |||
@@ -852,14 +852,14 @@ snd_harmony_create(snd_card_t *card, | |||
852 | memset(&h->pbuf, 0, sizeof(h->pbuf)); | 852 | memset(&h->pbuf, 0, sizeof(h->pbuf)); |
853 | memset(&h->cbuf, 0, sizeof(h->cbuf)); | 853 | memset(&h->cbuf, 0, sizeof(h->cbuf)); |
854 | 854 | ||
855 | h->hpa = padev->hpa; | 855 | h->hpa = padev->hpa.start; |
856 | h->card = card; | 856 | h->card = card; |
857 | h->dev = padev; | 857 | h->dev = padev; |
858 | h->irq = padev->irq; | 858 | h->irq = padev->irq; |
859 | h->iobase = ioremap_nocache(padev->hpa, HARMONY_SIZE); | 859 | h->iobase = ioremap_nocache(padev->hpa.start, HARMONY_SIZE); |
860 | if (h->iobase == NULL) { | 860 | if (h->iobase == NULL) { |
861 | printk(KERN_ERR PFX "unable to remap hpa 0x%lx\n", | 861 | printk(KERN_ERR PFX "unable to remap hpa 0x%lx\n", |
862 | padev->hpa); | 862 | padev->hpa.start); |
863 | err = -EBUSY; | 863 | err = -EBUSY; |
864 | goto free_and_ret; | 864 | goto free_and_ret; |
865 | } | 865 | } |