diff options
Diffstat (limited to 'drivers/ata/pata_icside.c')
-rw-r--r-- | drivers/ata/pata_icside.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/ata/pata_icside.c b/drivers/ata/pata_icside.c index dbc8ee2adcf0..d7621a39ed09 100644 --- a/drivers/ata/pata_icside.c +++ b/drivers/ata/pata_icside.c | |||
@@ -434,8 +434,8 @@ pata_icside_register_v5(struct ata_probe_ent *ae, struct expansion_card *ec) | |||
434 | 434 | ||
435 | ec->irqaddr = base + ICS_ARCIN_V5_INTRSTAT; | 435 | ec->irqaddr = base + ICS_ARCIN_V5_INTRSTAT; |
436 | ec->irqmask = 1; | 436 | ec->irqmask = 1; |
437 | ec->irq_data = state; | 437 | |
438 | ec->ops = &pata_icside_ops_arcin_v5; | 438 | ecard_setirq(ec, &pata_icside_ops_arcin_v5, state); |
439 | 439 | ||
440 | /* | 440 | /* |
441 | * Be on the safe side - disable interrupts | 441 | * Be on the safe side - disable interrupts |
@@ -480,8 +480,7 @@ pata_icside_register_v6(struct ata_probe_ent *ae, struct expansion_card *ec) | |||
480 | 480 | ||
481 | writeb(sel, ioc_base); | 481 | writeb(sel, ioc_base); |
482 | 482 | ||
483 | ec->irq_data = state; | 483 | ecard_setirq(ec, &pata_icside_ops_arcin_v6, state); |
484 | ec->ops = &pata_icside_ops_arcin_v6; | ||
485 | 484 | ||
486 | state->irq_port = easi_base; | 485 | state->irq_port = easi_base; |
487 | state->ioc_base = ioc_base; | 486 | state->ioc_base = ioc_base; |
@@ -609,8 +608,7 @@ static void pata_icside_shutdown(struct expansion_card *ec) | |||
609 | * this register via that region. | 608 | * this register via that region. |
610 | */ | 609 | */ |
611 | local_irq_save(flags); | 610 | local_irq_save(flags); |
612 | if (ec->ops) | 611 | ec->ops->irqdisable(ec, ec->irq); |
613 | ec->ops->irqdisable(ec, ec->irq); | ||
614 | local_irq_restore(flags); | 612 | local_irq_restore(flags); |
615 | 613 | ||
616 | /* | 614 | /* |
@@ -638,9 +636,6 @@ static void __devexit pata_icside_remove(struct expansion_card *ec) | |||
638 | * don't NULL out the drvdata - devres/libata wants it | 636 | * don't NULL out the drvdata - devres/libata wants it |
639 | * to free the ata_host structure. | 637 | * to free the ata_host structure. |
640 | */ | 638 | */ |
641 | ec->ops = NULL; | ||
642 | ec->irq_data = NULL; | ||
643 | |||
644 | if (state->dma != NO_DMA) | 639 | if (state->dma != NO_DMA) |
645 | free_dma(state->dma); | 640 | free_dma(state->dma); |
646 | if (state->ioc_base) | 641 | if (state->ioc_base) |