[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>
This commit is contained in:
parent
bdad1f836a
commit
53f01bba49
@ -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)
|
|||||||
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)
|
|||||||
* 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)
|
|||||||
* 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)
|
|||||||
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)
|
|||||||
|
|
||||||
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
|
|||||||
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)
|
|||||||
{
|
{
|
||||||
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)
|
|||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
*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)
|
|||||||
{
|
{
|
||||||
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,14 +902,14 @@ 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)) {
|
||||||
|
@ -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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
** 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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
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)
|
|||||||
* 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)
|
|||||||
*/
|
*/
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
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);
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
*/
|
*/
|
||||||
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)
|
|||||||
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;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#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,
|
|||||||
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;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user