- if (dev->mem_start > 1024*1024) { /* phys addr > 1MB */
- if (dev->mem_start < virt_to_phys(high_memory)) {
- printk(KERN_CRIT "ac3200.c: Card RAM overlaps with normal memory!!!\n");
- printk(KERN_CRIT "ac3200.c: Use EISA SCU to set card memory below 1MB,\n");
- printk(KERN_CRIT "ac3200.c: or to an address above 0x%lx.\n", virt_to_phys(high_memory));
- printk(KERN_CRIT "ac3200.c: Driver NOT installed.\n");
- retval = -EINVAL;
- goto out1;
- }
- dev->mem_start = (unsigned long)ioremap(dev->mem_start, AC_STOP_PG*0x100);
- if (dev->mem_start == 0) {
- printk(KERN_ERR "ac3200.c: Unable to remap card memory above 1MB !!\n");
- printk(KERN_ERR "ac3200.c: Try using EISA SCU to set memory below 1MB.\n");
- printk(KERN_ERR "ac3200.c: Driver NOT installed.\n");
- retval = -EINVAL;
- goto out1;
- }
- ei_status.reg0 = 1; /* Use as remap flag */
- printk("ac3200.c: remapped %dkB card memory to virtual address %#lx\n",
- AC_STOP_PG/4, dev->mem_start);
+ ei_status.mem = ioremap(dev->mem_start, AC_STOP_PG*0x100);
+ if (!ei_status.mem) {
+ printk(KERN_ERR "ac3200.c: Unable to remap card memory above 1MB !!\n");
+ printk(KERN_ERR "ac3200.c: Try using EISA SCU to set memory below 1MB.\n");
+ printk(KERN_ERR "ac3200.c: Driver NOT installed.\n");
+ retval = -EINVAL;
+ goto out1;