aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/arm/eesox.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-12 21:11:33 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-12 21:11:33 -0400
commitf7d02ae76ebbf5b8a9531fe150c49e126a397704 (patch)
treebcfdcab6e70658d55a3c843694e04e938bf9168f /drivers/scsi/arm/eesox.c
parent78db2ad6f4df9145bfd6aab1c0f1c56d615288ec (diff)
parent158304ef09a28c7f2dd37d78f536a4e09ba084a1 (diff)
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (30 commits) [ARM] Use new get_irqnr_preamble [ARM] Ensure machine class menu is sorted alphabetically [ARM] 4333/2: KS8695: Micrel Development board [ARM] 4332/2: KS8695: Serial driver [ARM] 4331/3: Support for Micrel/Kendin KS8695 processor [ARM] 4371/1: AT91: Support for Atmel AT91SAM9RL-EK development board [ARM] 4372/1: Define byte sizes in asm-arm/sizes.h [ARM] 4370/3: AT91: Support for Atmel AT91SAM9RL processors. [ARM] Update mach-types [ARM] export symbol csum_partial_copy_from_user [ARM] iop13xx: msi support [ARM] stacktrace fix [ARM] Spinlock initializer cleanup [ARM] remove useless config option GENERIC_BUST_SPINLOCK [ARM] 4303/3: base kernel support for TI DaVinci [ARM] 4369/1: AT91: Fix circular dependency in header files [ARM] 4368/1: S3C24xx: build fix [ARM] 4364/1: AT91: LEDS on AT91SAM9261-EK [ARM] Fix iop32x/iop33x build [ARM] EBSA110: fix build errors caused by missing "const" ...
Diffstat (limited to 'drivers/scsi/arm/eesox.c')
-rw-r--r--drivers/scsi/arm/eesox.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/scsi/arm/eesox.c b/drivers/scsi/arm/eesox.c
index ed06a8c19ad6..bb2477b3fb0b 100644
--- a/drivers/scsi/arm/eesox.c
+++ b/drivers/scsi/arm/eesox.c
@@ -519,7 +519,6 @@ eesoxscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
519{ 519{
520 struct Scsi_Host *host; 520 struct Scsi_Host *host;
521 struct eesoxscsi_info *info; 521 struct eesoxscsi_info *info;
522 unsigned long resbase, reslen;
523 void __iomem *base; 522 void __iomem *base;
524 int ret; 523 int ret;
525 524
@@ -527,9 +526,7 @@ eesoxscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
527 if (ret) 526 if (ret)
528 goto out; 527 goto out;
529 528
530 resbase = ecard_resource_start(ec, ECARD_RES_IOCFAST); 529 base = ecardm_iomap(ec, ECARD_RES_IOCFAST, 0, 0);
531 reslen = ecard_resource_len(ec, ECARD_RES_IOCFAST);
532 base = ioremap(resbase, reslen);
533 if (!base) { 530 if (!base) {
534 ret = -ENOMEM; 531 ret = -ENOMEM;
535 goto out_region; 532 goto out_region;
@@ -539,7 +536,7 @@ eesoxscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
539 sizeof(struct eesoxscsi_info)); 536 sizeof(struct eesoxscsi_info));
540 if (!host) { 537 if (!host) {
541 ret = -ENOMEM; 538 ret = -ENOMEM;
542 goto out_unmap; 539 goto out_region;
543 } 540 }
544 541
545 ecard_set_drvdata(ec, host); 542 ecard_set_drvdata(ec, host);
@@ -569,8 +566,8 @@ eesoxscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
569 566
570 ec->irqaddr = base + EESOX_DMASTAT; 567 ec->irqaddr = base + EESOX_DMASTAT;
571 ec->irqmask = EESOX_STAT_INTR; 568 ec->irqmask = EESOX_STAT_INTR;
572 ec->irq_data = info; 569
573 ec->ops = &eesoxscsi_ops; 570 ecard_setirq(ec, &eesoxscsi_ops, info);
574 571
575 device_create_file(&ec->dev, &dev_attr_bus_term); 572 device_create_file(&ec->dev, &dev_attr_bus_term);
576 573
@@ -612,9 +609,6 @@ eesoxscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
612 device_remove_file(&ec->dev, &dev_attr_bus_term); 609 device_remove_file(&ec->dev, &dev_attr_bus_term);
613 scsi_host_put(host); 610 scsi_host_put(host);
614 611
615 out_unmap:
616 iounmap(base);
617
618 out_region: 612 out_region:
619 ecard_release_resources(ec); 613 ecard_release_resources(ec);
620 614
@@ -636,8 +630,6 @@ static void __devexit eesoxscsi_remove(struct expansion_card *ec)
636 630
637 device_remove_file(&ec->dev, &dev_attr_bus_term); 631 device_remove_file(&ec->dev, &dev_attr_bus_term);
638 632
639 iounmap(info->base);
640
641 fas216_release(host); 633 fas216_release(host);
642 scsi_host_put(host); 634 scsi_host_put(host);
643 ecard_release_resources(ec); 635 ecard_release_resources(ec);