Commit 53f01bba authored by Matthew Wilcox's avatar Matthew Wilcox Committed by Kyle McMartin

[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: default avatarMatthew Wilcox <willy@parisc-linux.org>

Fix up users of ->hpa to use ->hpa.start instead.
Signed-off-by: default avatarMatthew Wilcox <willy@parisc-linux.org>
Signed-off-by: default avatarKyle McMartin <kyle@parisc-linux.org>
parent bdad1f83
...@@ -746,7 +746,8 @@ static int perf_write_image(uint64_t *memaddr) ...@@ -746,7 +746,8 @@ static int perf_write_image(uint64_t *memaddr)
uint64_t *bptr; uint64_t *bptr;
uint32_t dwords; uint32_t dwords;
uint32_t *intrigue_rdr; uint32_t *intrigue_rdr;
uint64_t *intrigue_bitmask, tmp64, proc_hpa; uint64_t *intrigue_bitmask, tmp64;
void __iomem *runway;
struct rdr_tbl_ent *tentry; struct rdr_tbl_ent *tentry;
int i; int i;
...@@ -798,15 +799,16 @@ static int perf_write_image(uint64_t *memaddr) ...@@ -798,15 +799,16 @@ static int perf_write_image(uint64_t *memaddr)
return -1; return -1;
} }
proc_hpa = cpu_device->hpa; runway = ioremap(cpu_device->hpa.start, 4096);
/* Merge intrigue bits into Runway STATUS 0 */ /* Merge intrigue bits into Runway STATUS 0 */
tmp64 = __raw_readq(proc_hpa + RUNWAY_STATUS) & 0xffecfffffffffffful; tmp64 = __raw_readq(runway + RUNWAY_STATUS) & 0xffecfffffffffffful;
__raw_writeq(tmp64 | (*memaddr++ & 0x0013000000000000ul), proc_hpa + RUNWAY_STATUS); __raw_writeq(tmp64 | (*memaddr++ & 0x0013000000000000ul),
runway + RUNWAY_STATUS);
/* Write RUNWAY DEBUG registers */ /* Write RUNWAY DEBUG registers */
for (i = 0; i < 8; i++) { for (i = 0; i < 8; i++) {
__raw_writeq(*memaddr++, proc_hpa + RUNWAY_DEBUG + i); __raw_writeq(*memaddr++, runway + RUNWAY_DEBUG);
} }
return 0; return 0;
......
...@@ -92,7 +92,7 @@ static int __init processor_probe(struct parisc_device *dev) ...@@ -92,7 +92,7 @@ static int __init processor_probe(struct parisc_device *dev)
* May get overwritten by PAT code. * May get overwritten by PAT code.
*/ */
cpuid = boot_cpu_data.cpu_count; cpuid = boot_cpu_data.cpu_count;
txn_addr = dev->hpa; /* for legacy PDC */ txn_addr = dev->hpa.start; /* for legacy PDC */
#ifdef __LP64__ #ifdef __LP64__
if (is_pdc_pat()) { if (is_pdc_pat()) {
...@@ -122,7 +122,7 @@ static int __init processor_probe(struct parisc_device *dev) ...@@ -122,7 +122,7 @@ static int __init processor_probe(struct parisc_device *dev)
* boot time (ie shutdown a CPU from an OS perspective). * boot time (ie shutdown a CPU from an OS perspective).
*/ */
/* get the cpu number */ /* get the cpu number */
status = pdc_pat_cpu_get_number(&cpu_info, dev->hpa); status = pdc_pat_cpu_get_number(&cpu_info, dev->hpa.start);
BUG_ON(PDC_OK != status); BUG_ON(PDC_OK != status);
...@@ -130,7 +130,7 @@ static int __init processor_probe(struct parisc_device *dev) ...@@ -130,7 +130,7 @@ static int __init processor_probe(struct parisc_device *dev)
printk(KERN_WARNING "IGNORING CPU at 0x%x," printk(KERN_WARNING "IGNORING CPU at 0x%x,"
" cpu_slot_id > NR_CPUS" " cpu_slot_id > NR_CPUS"
" (%ld > %d)\n", " (%ld > %d)\n",
dev->hpa, cpu_info.cpu_num, NR_CPUS); dev->hpa.start, cpu_info.cpu_num, NR_CPUS);
/* Ignore CPU since it will only crash */ /* Ignore CPU since it will only crash */
boot_cpu_data.cpu_count--; boot_cpu_data.cpu_count--;
return 1; return 1;
...@@ -149,7 +149,7 @@ static int __init processor_probe(struct parisc_device *dev) ...@@ -149,7 +149,7 @@ static int __init processor_probe(struct parisc_device *dev)
p->loops_per_jiffy = loops_per_jiffy; p->loops_per_jiffy = loops_per_jiffy;
p->dev = dev; /* Save IODC data in case we need it */ p->dev = dev; /* Save IODC data in case we need it */
p->hpa = dev->hpa; /* save CPU hpa */ p->hpa = dev->hpa.start; /* save CPU hpa */
p->cpuid = cpuid; /* save CPU id */ p->cpuid = cpuid; /* save CPU id */
p->txn_addr = txn_addr; /* save CPU IRQ address */ p->txn_addr = txn_addr; /* save CPU IRQ address */
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
......
...@@ -278,11 +278,11 @@ static int __init ...@@ -278,11 +278,11 @@ static int __init
hil_init_chip(struct parisc_device *dev) hil_init_chip(struct parisc_device *dev)
{ {
if (!dev->irq) { if (!dev->irq) {
printk(KERN_WARNING "HIL: IRQ not found for HIL bus at 0x%08lx\n", dev->hpa); printk(KERN_WARNING "HIL: IRQ not found for HIL bus at 0x%08lx\n", dev->hpa.start);
return -ENODEV; return -ENODEV;
} }
hil_base = dev->hpa; hil_base = dev->hpa.start;
hil_irq = dev->irq; hil_irq = dev->irq;
hil_dev.dev_id = dev; hil_dev.dev_id = dev;
......
...@@ -331,7 +331,7 @@ static int __init gscps2_probe(struct parisc_device *dev) ...@@ -331,7 +331,7 @@ static int __init gscps2_probe(struct parisc_device *dev)
{ {
struct gscps2port *ps2port; struct gscps2port *ps2port;
struct serio *serio; struct serio *serio;
unsigned long hpa = dev->hpa; unsigned long hpa = dev->hpa.start;
int ret; int ret;
if (!dev->irq) if (!dev->irq)
......
...@@ -875,9 +875,9 @@ static int __init hp_sdc_init_hppa(struct parisc_device *d) ...@@ -875,9 +875,9 @@ static int __init hp_sdc_init_hppa(struct parisc_device *d)
hp_sdc.dev = d; hp_sdc.dev = d;
hp_sdc.irq = d->irq; hp_sdc.irq = d->irq;
hp_sdc.nmi = d->aux_irq; hp_sdc.nmi = d->aux_irq;
hp_sdc.base_io = d->hpa; hp_sdc.base_io = d->hpa.start;
hp_sdc.data_io = d->hpa + 0x800; hp_sdc.data_io = d->hpa.start + 0x800;
hp_sdc.status_io = d->hpa + 0x801; hp_sdc.status_io = d->hpa.start + 0x801;
return hp_sdc_init(); return hp_sdc_init();
} }
......
...@@ -1528,17 +1528,18 @@ lan_init_chip(struct parisc_device *dev) ...@@ -1528,17 +1528,18 @@ lan_init_chip(struct parisc_device *dev)
if (!dev->irq) { if (!dev->irq) {
printk(KERN_ERR "%s: IRQ not found for i82596 at 0x%lx\n", printk(KERN_ERR "%s: IRQ not found for i82596 at 0x%lx\n",
__FILE__, dev->hpa); __FILE__, dev->hpa.start);
return -ENODEV; return -ENODEV;
} }
printk(KERN_INFO "Found i82596 at 0x%lx, IRQ %d\n", dev->hpa, dev->irq); printk(KERN_INFO "Found i82596 at 0x%lx, IRQ %d\n", dev->hpa.start,
dev->irq);
netdevice = alloc_etherdev(0); netdevice = alloc_etherdev(0);
if (!netdevice) if (!netdevice)
return -ENOMEM; return -ENOMEM;
netdevice->base_addr = dev->hpa; netdevice->base_addr = dev->hpa.start;
netdevice->irq = dev->irq; netdevice->irq = dev->irq;
retval = i82596_probe(netdevice, &dev->dev); retval = i82596_probe(netdevice, &dev->dev);
......
...@@ -77,12 +77,12 @@ asp_init_chip(struct parisc_device *dev) ...@@ -77,12 +77,12 @@ asp_init_chip(struct parisc_device *dev)
struct gsc_irq gsc_irq; struct gsc_irq gsc_irq;
int ret; int ret;
asp.version = gsc_readb(dev->hpa + ASP_VER_OFFSET) & 0xf; asp.version = gsc_readb(dev->hpa.start + ASP_VER_OFFSET) & 0xf;
asp.name = (asp.version == 1) ? "Asp" : "Cutoff"; asp.name = (asp.version == 1) ? "Asp" : "Cutoff";
asp.hpa = ASP_INTERRUPT_ADDR; asp.hpa = ASP_INTERRUPT_ADDR;
printk(KERN_INFO "%s version %d at 0x%lx found.\n", printk(KERN_INFO "%s version %d at 0x%lx found.\n",
asp.name, asp.version, dev->hpa); asp.name, asp.version, dev->hpa.start);
/* the IRQ ASP should use */ /* the IRQ ASP should use */
ret = -EBUSY; ret = -EBUSY;
......
...@@ -1546,7 +1546,7 @@ static int ccio_probe(struct parisc_device *dev) ...@@ -1546,7 +1546,7 @@ static int ccio_probe(struct parisc_device *dev)
ioc->name = dev->id.hversion == U2_IOA_RUNWAY ? "U2" : "UTurn"; ioc->name = dev->id.hversion == U2_IOA_RUNWAY ? "U2" : "UTurn";
printk(KERN_INFO "Found %s at 0x%lx\n", ioc->name, dev->hpa); printk(KERN_INFO "Found %s at 0x%lx\n", ioc->name, dev->hpa.start);
for (i = 0; i < ioc_count; i++) { for (i = 0; i < ioc_count; i++) {
ioc_p = &(*ioc_p)->next; ioc_p = &(*ioc_p)->next;
...@@ -1554,7 +1554,7 @@ static int ccio_probe(struct parisc_device *dev) ...@@ -1554,7 +1554,7 @@ static int ccio_probe(struct parisc_device *dev)
*ioc_p = ioc; *ioc_p = ioc;
ioc->hw_path = dev->hw_path; ioc->hw_path = dev->hw_path;
ioc->ioc_hpa = (struct ioa_registers *)dev->hpa; ioc->ioc_regs = ioremap(dev->hpa.start, 4096);
ccio_ioc_init(ioc); ccio_ioc_init(ioc);
ccio_init_resources(ioc); ccio_init_resources(ioc);
hppa_dma_ops = &ccio_ops; hppa_dma_ops = &ccio_ops;
......
...@@ -167,7 +167,7 @@ ccio_probe(struct parisc_device *dev) ...@@ -167,7 +167,7 @@ ccio_probe(struct parisc_device *dev)
{ {
printk(KERN_INFO "%s found %s at 0x%lx\n", MODULE_NAME, printk(KERN_INFO "%s found %s at 0x%lx\n", MODULE_NAME,
dev->id.hversion == U2_BC_GSC ? "U2" : "UTurn", dev->id.hversion == U2_BC_GSC ? "U2" : "UTurn",
dev->hpa); dev->hpa.start);
/* /*
** FIXME - should check U2 registers to verify it's really running ** FIXME - should check U2 registers to verify it's really running
......
...@@ -902,15 +902,15 @@ void ccio_cujo20_fixup(struct parisc_device *dev, u32 iovp); ...@@ -902,15 +902,15 @@ void ccio_cujo20_fixup(struct parisc_device *dev, u32 iovp);
** If so, initialize the chip appropriately (card-mode vs bridge mode). ** If so, initialize the chip appropriately (card-mode vs bridge mode).
** Much of the initialization is common though. ** Much of the initialization is common though.
*/ */
static int __init static int __init dino_probe(struct parisc_device *dev)
dino_driver_callback(struct parisc_device *dev)
{ {
struct dino_device *dino_dev; // Dino specific control struct struct dino_device *dino_dev; // Dino specific control struct
const char *version = "unknown"; const char *version = "unknown";
char *name; char *name;
int is_cujo = 0; int is_cujo = 0;
struct pci_bus *bus; struct pci_bus *bus;
unsigned long hpa = dev->hpa.start;
name = "Dino"; name = "Dino";
if (is_card_dino(&dev->id)) { if (is_card_dino(&dev->id)) {
version = "3.x (card mode)"; version = "3.x (card mode)";
......
...@@ -315,7 +315,7 @@ static int __devinit eisa_probe(struct parisc_device *dev) ...@@ -315,7 +315,7 @@ static int __devinit eisa_probe(struct parisc_device *dev)
char *name = is_mongoose(dev) ? "Mongoose" : "Wax"; char *name = is_mongoose(dev) ? "Mongoose" : "Wax";
printk(KERN_INFO "%s EISA Adapter found at 0x%08lx\n", printk(KERN_INFO "%s EISA Adapter found at 0x%08lx\n",
name, dev->hpa); name, dev->hpa.start);
eisa_dev.hba.dev = dev; eisa_dev.hba.dev = dev;
eisa_dev.hba.iommu = ccio_get_iommu(dev); eisa_dev.hba.iommu = ccio_get_iommu(dev);
......
...@@ -68,14 +68,14 @@ static int hppb_probe(struct parisc_device *dev) ...@@ -68,14 +68,14 @@ static int hppb_probe(struct parisc_device *dev)
memset(card->next, '\0', sizeof(struct hppb_card)); memset(card->next, '\0', sizeof(struct hppb_card));
card = card->next; card = card->next;
} }
printk(KERN_INFO "Found GeckoBoa at 0x%lx\n", dev->hpa); printk(KERN_INFO "Found GeckoBoa at 0x%lx\n", dev->hpa.start);
card->hpa = dev->hpa; card->hpa = dev->hpa.start;
card->mmio_region.name = "HP-PB Bus"; card->mmio_region.name = "HP-PB Bus";
card->mmio_region.flags = IORESOURCE_MEM; card->mmio_region.flags = IORESOURCE_MEM;
card->mmio_region.start = __raw_readl(dev->hpa + IO_IO_LOW); card->mmio_region.start = gsc_readl(dev->hpa.start + IO_IO_LOW);
card->mmio_region.end = __raw_readl(dev->hpa + IO_IO_HIGH) - 1; card->mmio_region.end = gsc_readl(dev->hpa.start + IO_IO_HIGH) - 1;
status = ccio_request_resource(dev, &card->mmio_region); status = ccio_request_resource(dev, &card->mmio_region);
if(status < 0) { if(status < 0) {
......
...@@ -175,7 +175,7 @@ lasi_init_chip(struct parisc_device *dev) ...@@ -175,7 +175,7 @@ lasi_init_chip(struct parisc_device *dev)
return -ENOMEM; return -ENOMEM;
lasi->name = "Lasi"; lasi->name = "Lasi";
lasi->hpa = dev->hpa; lasi->hpa = dev->hpa.start;
/* Check the 4-bit (yes, only 4) version register */ /* Check the 4-bit (yes, only 4) version register */
lasi->version = gsc_readl(lasi->hpa + LASI_VER) & 0xf; lasi->version = gsc_readl(lasi->hpa + LASI_VER) & 0xf;
......
...@@ -1288,7 +1288,7 @@ lba_legacy_resources(struct parisc_device *pa_dev, struct lba_device *lba_dev) ...@@ -1288,7 +1288,7 @@ lba_legacy_resources(struct parisc_device *pa_dev, struct lba_device *lba_dev)
** Adjust "window" for this rope. ** Adjust "window" for this rope.
*/ */
rsize /= ROPES_PER_IOC; rsize /= ROPES_PER_IOC;
r->start += (rsize + 1) * LBA_NUM(pa_dev->hpa); r->start += (rsize + 1) * LBA_NUM(pa_dev->hpa.start);
r->end = r->start + rsize; r->end = r->start + rsize;
} else { } else {
r->end = r->start = 0; /* Not enabled. */ r->end = r->start = 0; /* Not enabled. */
...@@ -1458,7 +1458,7 @@ lba_driver_probe(struct parisc_device *dev) ...@@ -1458,7 +1458,7 @@ lba_driver_probe(struct parisc_device *dev)
u32 func_class; u32 func_class;
void *tmp_obj; void *tmp_obj;
char *version; char *version;
void __iomem *addr = ioremap(dev->hpa, 4096); void __iomem *addr = ioremap(dev->hpa.start, 4096);
/* Read HW Rev First */ /* Read HW Rev First */
func_class = READ_REG32(addr + LBA_FCLASS); func_class = READ_REG32(addr + LBA_FCLASS);
...@@ -1476,7 +1476,7 @@ lba_driver_probe(struct parisc_device *dev) ...@@ -1476,7 +1476,7 @@ lba_driver_probe(struct parisc_device *dev)
} }
printk(KERN_INFO "%s version %s (0x%x) found at 0x%lx\n", printk(KERN_INFO "%s version %s (0x%x) found at 0x%lx\n",
MODULE_NAME, version, func_class & 0xf, dev->hpa); MODULE_NAME, version, func_class & 0xf, dev->hpa.start);
if (func_class < 2) { if (func_class < 2) {
printk(KERN_WARNING "Can't support LBA older than " printk(KERN_WARNING "Can't support LBA older than "
...@@ -1503,17 +1503,17 @@ lba_driver_probe(struct parisc_device *dev) ...@@ -1503,17 +1503,17 @@ lba_driver_probe(struct parisc_device *dev)
* but for the mask for func_class. * but for the mask for func_class.
*/ */
printk(KERN_INFO "%s version %s (0x%x) found at 0x%lx\n", printk(KERN_INFO "%s version %s (0x%x) found at 0x%lx\n",
MODULE_NAME, version, func_class & 0xff, dev->hpa); MODULE_NAME, version, func_class & 0xff, dev->hpa.start);
cfg_ops = &mercury_cfg_ops; cfg_ops = &mercury_cfg_ops;
} else { } else {
printk(KERN_ERR "Unknown LBA found at 0x%lx\n", dev->hpa); printk(KERN_ERR "Unknown LBA found at 0x%lx\n", dev->hpa.start);
return -ENODEV; return -ENODEV;
} }
/* /*
** Tell I/O SAPIC driver we have a IRQ handler/region. ** Tell I/O SAPIC driver we have a IRQ handler/region.
*/ */
tmp_obj = iosapic_register(dev->hpa + LBA_IOSAPIC_BASE); tmp_obj = iosapic_register(dev->hpa.start + LBA_IOSAPIC_BASE);
/* NOTE: PCI devices (e.g. 103c:1005 graphics card) which don't /* NOTE: PCI devices (e.g. 103c:1005 graphics card) which don't
** have an IRT entry will get NULL back from iosapic code. ** have an IRT entry will get NULL back from iosapic code.
...@@ -1635,7 +1635,7 @@ void __init lba_init(void) ...@@ -1635,7 +1635,7 @@ void __init lba_init(void)
*/ */
void lba_set_iregs(struct parisc_device *lba, u32 ibase, u32 imask) void lba_set_iregs(struct parisc_device *lba, u32 ibase, u32 imask)
{ {
void __iomem * base_addr = ioremap(lba->hpa, 4096); void __iomem * base_addr = ioremap(lba->hpa.start, 4096);
imask <<= 2; /* adjust for hints - 2 more bits */ imask <<= 2; /* adjust for hints - 2 more bits */
......
...@@ -1600,7 +1600,7 @@ sba_ioc_init(struct parisc_device *sba, struct ioc *ioc, int ioc_num) ...@@ -1600,7 +1600,7 @@ sba_ioc_init(struct parisc_device *sba, struct ioc *ioc, int ioc_num)
static void __iomem *ioc_remap(struct sba_device *sba_dev, int offset) static void __iomem *ioc_remap(struct sba_device *sba_dev, int offset)
{ {
return ioremap(sba_dev->dev->hpa + offset, SBA_FUNC_SIZE); return ioremap(sba_dev->dev->hpa.start + offset, SBA_FUNC_SIZE);
} }
static void sba_hw_init(struct sba_device *sba_dev) static void sba_hw_init(struct sba_device *sba_dev)
...@@ -1978,7 +1978,7 @@ sba_driver_callback(struct parisc_device *dev) ...@@ -1978,7 +1978,7 @@ sba_driver_callback(struct parisc_device *dev)
u32 func_class; u32 func_class;
int i; int i;
char *version; char *version;
void __iomem *sba_addr = ioremap(dev->hpa, SBA_FUNC_SIZE); void __iomem *sba_addr = ioremap(dev->hpa.start, SBA_FUNC_SIZE);
sba_dump_ranges(sba_addr); sba_dump_ranges(sba_addr);
...@@ -2020,7 +2020,7 @@ sba_driver_callback(struct parisc_device *dev) ...@@ -2020,7 +2020,7 @@ sba_driver_callback(struct parisc_device *dev)
} }
printk(KERN_INFO "%s found %s at 0x%lx\n", printk(KERN_INFO "%s found %s at 0x%lx\n",
MODULE_NAME, version, dev->hpa); MODULE_NAME, version, dev->hpa.start);
sba_dev = kmalloc(sizeof(struct sba_device), GFP_KERNEL); sba_dev = kmalloc(sizeof(struct sba_device), GFP_KERNEL);
if (!sba_dev) { if (!sba_dev) {
......
...@@ -81,7 +81,7 @@ wax_init_chip(struct parisc_device *dev) ...@@ -81,7 +81,7 @@ wax_init_chip(struct parisc_device *dev)
return -ENOMEM; return -ENOMEM;
wax->name = "wax"; wax->name = "wax";
wax->hpa = dev->hpa; wax->hpa = dev->hpa.start;
wax->version = 0; /* gsc_readb(wax->hpa+WAX_VER); */ wax->version = 0; /* gsc_readb(wax->hpa+WAX_VER); */
printk(KERN_INFO "%s at 0x%lx found.\n", wax->name, wax->hpa); printk(KERN_INFO "%s at 0x%lx found.\n", wax->name, wax->hpa);
......
...@@ -359,11 +359,12 @@ static int __devinit parport_init_chip(struct parisc_device *dev) ...@@ -359,11 +359,12 @@ static int __devinit parport_init_chip(struct parisc_device *dev)
unsigned long port; unsigned long port;
if (!dev->irq) { if (!dev->irq) {
printk("IRQ not found for parallel device at 0x%lx\n", dev->hpa); printk(KERN_WARNING "IRQ not found for parallel device at 0x%lx\n",
dev->hpa.start);
return -ENODEV; return -ENODEV;
} }
port = dev->hpa + PARPORT_GSC_OFFSET; port = dev->hpa.start + PARPORT_GSC_OFFSET;
/* some older machines with ASP-chip don't support /* some older machines with ASP-chip don't support
* the enhanced parport modes. * the enhanced parport modes.
......
...@@ -98,7 +98,7 @@ MODULE_DEVICE_TABLE(parisc, lasi700_ids); ...@@ -98,7 +98,7 @@ MODULE_DEVICE_TABLE(parisc, lasi700_ids);
static int __init static int __init
lasi700_probe(struct parisc_device *dev) lasi700_probe(struct parisc_device *dev)
{ {
unsigned long base = dev->hpa + LASI_SCSI_CORE_OFFSET; unsigned long base = dev->hpa.start + LASI_SCSI_CORE_OFFSET;
struct NCR_700_Host_Parameters *hostdata; struct NCR_700_Host_Parameters *hostdata;
struct Scsi_Host *host; struct Scsi_Host *host;
......
...@@ -88,7 +88,7 @@ zalon_probe(struct parisc_device *dev) ...@@ -88,7 +88,7 @@ zalon_probe(struct parisc_device *dev)
struct gsc_irq gsc_irq; struct gsc_irq gsc_irq;
u32 zalon_vers; u32 zalon_vers;
int error = -ENODEV; int error = -ENODEV;
void __iomem *zalon = ioremap(dev->hpa, 4096); void __iomem *zalon = ioremap(dev->hpa.start, 4096);
void __iomem *io_port = zalon + GSC_SCSI_ZALON_OFFSET; void __iomem *io_port = zalon + GSC_SCSI_ZALON_OFFSET;
static int unit = 0; static int unit = 0;
struct Scsi_Host *host; struct Scsi_Host *host;
...@@ -127,7 +127,7 @@ zalon_probe(struct parisc_device *dev) ...@@ -127,7 +127,7 @@ zalon_probe(struct parisc_device *dev)
device.chip = zalon720_chip; device.chip = zalon720_chip;
device.host_id = 7; device.host_id = 7;
device.dev = &dev->dev; device.dev = &dev->dev;
device.slot.base = dev->hpa + GSC_SCSI_ZALON_OFFSET; device.slot.base = dev->hpa.start + GSC_SCSI_ZALON_OFFSET;
device.slot.base_v = io_port; device.slot.base_v = io_port;
device.slot.irq = dev->irq; device.slot.irq = dev->irq;
device.differential = 2; device.differential = 2;
......
...@@ -42,12 +42,13 @@ serial_init_chip(struct parisc_device *dev) ...@@ -42,12 +42,13 @@ serial_init_chip(struct parisc_device *dev)
*/ */
if (parisc_parent(dev)->id.hw_type != HPHW_IOA) { if (parisc_parent(dev)->id.hw_type != HPHW_IOA) {
printk(KERN_INFO "Serial: device 0x%lx not configured.\n" printk(KERN_INFO "Serial: device 0x%lx not configured.\n"
"Enable support for Wax, Lasi, Asp or Dino.\n", dev->hpa); "Enable support for Wax, Lasi, Asp or Dino.\n",
dev->hpa.start);
} }
return -ENODEV; return -ENODEV;
} }
address = dev->hpa; address = dev->hpa.start;
if (dev->id.sversion != 0x8d) { if (dev->id.sversion != 0x8d) {
address += 0x800; address += 0x800;
} }
......
...@@ -444,7 +444,7 @@ static int __init mux_probe(struct parisc_device *dev) ...@@ -444,7 +444,7 @@ static int __init mux_probe(struct parisc_device *dev)
unsigned long bytecnt; unsigned long bytecnt;
struct uart_port *port; struct uart_port *port;
status = pdc_iodc_read(&bytecnt, dev->hpa, 0, iodc_data, 32); status = pdc_iodc_read(&bytecnt, dev->hpa.start, 0, iodc_data, 32);
if(status != PDC_OK) { if(status != PDC_OK) {
printk(KERN_ERR "Serial mux: Unable to read IODC.\n"); printk(KERN_ERR "Serial mux: Unable to read IODC.\n");
return 1; return 1;
......
#include <linux/device.h> #include <linux/device.h>
struct parisc_device { struct parisc_device {
unsigned long hpa; /* Hard Physical Address */ struct resource hpa; /* Hard Physical Address */
struct parisc_device_id id; struct parisc_device_id id;
struct parisc_driver *driver; /* Driver for this device */ struct parisc_driver *driver; /* Driver for this device */
char name[80]; /* The hardware description */ char name[80]; /* The hardware description */
......
...@@ -852,14 +852,14 @@ snd_harmony_create(snd_card_t *card, ...@@ -852,14 +852,14 @@ snd_harmony_create(snd_card_t *card,
memset(&h->pbuf, 0, sizeof(h->pbuf)); memset(&h->pbuf, 0, sizeof(h->pbuf));
memset(&h->cbuf, 0, sizeof(h->cbuf)); memset(&h->cbuf, 0, sizeof(h->cbuf));
h->hpa = padev->hpa; h->hpa = padev->hpa.start;
h->card = card; h->card = card;
h->dev = padev; h->dev = padev;
h->irq = padev->irq; h->irq = padev->irq;
h->iobase = ioremap_nocache(padev->hpa, HARMONY_SIZE); h->iobase = ioremap_nocache(padev->hpa.start, HARMONY_SIZE);
if (h->iobase == NULL) { if (h->iobase == NULL) {
printk(KERN_ERR PFX "unable to remap hpa 0x%lx\n", printk(KERN_ERR PFX "unable to remap hpa 0x%lx\n",
padev->hpa); padev->hpa.start);
err = -EBUSY; err = -EBUSY;
goto free_and_ret; goto free_and_ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment