aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/g_NCR5380.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2006-03-24 06:15:37 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-24 10:33:19 -0500
commitc818cb6406815716ab210ae15655ed94a973b15f (patch)
treecb11b7fd1a8081b728dc5f412dd0d63326e0b594 /drivers/scsi/g_NCR5380.c
parentef5a4c8b04867fa8ed9eaf311c4ed0c57c589b6d (diff)
[PATCH] remove ISA legacy functions: drivers/scsi/g_NCR5380.c
switched CONFIG_SCSI_G_NCR5380_MEM code in g_NCR5380 to ioremap(); massaged g_NCR5380.h accordingly. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/scsi/g_NCR5380.c')
-rw-r--r--drivers/scsi/g_NCR5380.c28
1 files changed, 21 insertions, 7 deletions
diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c
index 45756fa90777..e6bcfe949340 100644
--- a/drivers/scsi/g_NCR5380.c
+++ b/drivers/scsi/g_NCR5380.c
@@ -127,7 +127,7 @@ static int ncr_53c400a = NCR_NOT_SET;
127static int dtc_3181e = NCR_NOT_SET; 127static int dtc_3181e = NCR_NOT_SET;
128 128
129static struct override { 129static struct override {
130 NCR5380_implementation_fields; 130 NCR5380_map_type NCR5380_map_name;
131 int irq; 131 int irq;
132 int dma; 132 int dma;
133 int board; /* Use NCR53c400, Ricoh, etc. extensions ? */ 133 int board; /* Use NCR53c400, Ricoh, etc. extensions ? */
@@ -299,6 +299,10 @@ int __init generic_NCR5380_detect(struct scsi_host_template * tpnt)
299 }; 299 };
300 int flags = 0; 300 int flags = 0;
301 struct Scsi_Host *instance; 301 struct Scsi_Host *instance;
302#ifdef CONFIG_SCSI_G_NCR5380_MEM
303 unsigned long base;
304 void __iomem *iomem;
305#endif
302 306
303 if (ncr_irq != NCR_NOT_SET) 307 if (ncr_irq != NCR_NOT_SET)
304 overrides[0].irq = ncr_irq; 308 overrides[0].irq = ncr_irq;
@@ -424,15 +428,22 @@ int __init generic_NCR5380_detect(struct scsi_host_template * tpnt)
424 region_size = NCR5380_region_size; 428 region_size = NCR5380_region_size;
425 } 429 }
426#else 430#else
427 if(!request_mem_region(overrides[current_override].NCR5380_map_name, NCR5380_region_size, "ncr5380")) 431 base = overrides[current_override].NCR5380_map_name;
432 if (!request_mem_region(base, NCR5380_region_size, "ncr5380"))
433 continue;
434 iomem = ioremap(base, NCR5380_region_size);
435 if (!iomem) {
436 release_mem_region(base, NCR5380_region_size);
428 continue; 437 continue;
438 }
429#endif 439#endif
430 instance = scsi_register(tpnt, sizeof(struct NCR5380_hostdata)); 440 instance = scsi_register(tpnt, sizeof(struct NCR5380_hostdata));
431 if (instance == NULL) { 441 if (instance == NULL) {
432#ifndef CONFIG_SCSI_G_NCR5380_MEM 442#ifndef CONFIG_SCSI_G_NCR5380_MEM
433 release_region(overrides[current_override].NCR5380_map_name, region_size); 443 release_region(overrides[current_override].NCR5380_map_name, region_size);
434#else 444#else
435 release_mem_region(overrides[current_override].NCR5380_map_name, NCR5380_region_size); 445 iounmap(iomem);
446 release_mem_region(base, NCR5380_region_size);
436#endif 447#endif
437 continue; 448 continue;
438 } 449 }
@@ -440,6 +451,8 @@ int __init generic_NCR5380_detect(struct scsi_host_template * tpnt)
440 instance->NCR5380_instance_name = overrides[current_override].NCR5380_map_name; 451 instance->NCR5380_instance_name = overrides[current_override].NCR5380_map_name;
441#ifndef CONFIG_SCSI_G_NCR5380_MEM 452#ifndef CONFIG_SCSI_G_NCR5380_MEM
442 instance->n_io_port = region_size; 453 instance->n_io_port = region_size;
454#else
455 ((struct NCR5380_hostdata *)instance->hostdata).iomem = iomem;
443#endif 456#endif
444 457
445 NCR5380_init(instance, flags); 458 NCR5380_init(instance, flags);
@@ -509,6 +522,7 @@ int generic_NCR5380_release_resources(struct Scsi_Host *instance)
509#ifndef CONFIG_SCSI_G_NCR5380_MEM 522#ifndef CONFIG_SCSI_G_NCR5380_MEM
510 release_region(instance->NCR5380_instance_name, instance->n_io_port); 523 release_region(instance->NCR5380_instance_name, instance->n_io_port);
511#else 524#else
525 iounmap(((struct NCR5380_hostdata *)instance->hostdata).iomem);
512 release_mem_region(instance->NCR5380_instance_name, NCR5380_region_size); 526 release_mem_region(instance->NCR5380_instance_name, NCR5380_region_size);
513#endif 527#endif
514 528
@@ -586,7 +600,7 @@ static inline int NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst,
586 } 600 }
587#else 601#else
588 /* implies CONFIG_SCSI_G_NCR5380_MEM */ 602 /* implies CONFIG_SCSI_G_NCR5380_MEM */
589 isa_memcpy_fromio(dst + start, NCR53C400_host_buffer + NCR5380_map_name, 128); 603 memcpy_fromio(dst + start, iomem + NCR53C400_host_buffer, 128);
590#endif 604#endif
591 start += 128; 605 start += 128;
592 blocks--; 606 blocks--;
@@ -606,7 +620,7 @@ static inline int NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst,
606 } 620 }
607#else 621#else
608 /* implies CONFIG_SCSI_G_NCR5380_MEM */ 622 /* implies CONFIG_SCSI_G_NCR5380_MEM */
609 isa_memcpy_fromio(dst + start, NCR53C400_host_buffer + NCR5380_map_name, 128); 623 memcpy_fromio(dst + start, iomem + NCR53C400_host_buffer, 128);
610#endif 624#endif
611 start += 128; 625 start += 128;
612 blocks--; 626 blocks--;
@@ -671,7 +685,7 @@ static inline int NCR5380_pwrite(struct Scsi_Host *instance, unsigned char *src,
671 } 685 }
672#else 686#else
673 /* implies CONFIG_SCSI_G_NCR5380_MEM */ 687 /* implies CONFIG_SCSI_G_NCR5380_MEM */
674 isa_memcpy_toio(NCR53C400_host_buffer + NCR5380_map_name, src + start, 128); 688 memcpy_toio(iomem + NCR53C400_host_buffer, src + start, 128);
675#endif 689#endif
676 start += 128; 690 start += 128;
677 blocks--; 691 blocks--;
@@ -687,7 +701,7 @@ static inline int NCR5380_pwrite(struct Scsi_Host *instance, unsigned char *src,
687 } 701 }
688#else 702#else
689 /* implies CONFIG_SCSI_G_NCR5380_MEM */ 703 /* implies CONFIG_SCSI_G_NCR5380_MEM */
690 isa_memcpy_toio(NCR53C400_host_buffer + NCR5380_map_name, src + start, 128); 704 memcpy_toio(iomem + NCR53C400_host_buffer, src + start, 128);
691#endif 705#endif
692 start += 128; 706 start += 128;
693 blocks--; 707 blocks--;