Skip to content

Commit

Permalink
libata: add another IRQ calls (libata drivers)
Browse files Browse the repository at this point in the history
This patch is against each libata driver.

Two IRQ calls are added in ata_port_operations.
- irq_on() is used to enable interrupts.
- irq_ack() is used to acknowledge a device interrupt.

In most drivers, ata_irq_on() and ata_irq_ack() are used for
irq_on and irq_ack respectively.

In some drivers (ex: ahci, sata_sil24) which cannot use them
as is, ata_dummy_irq_on() and ata_dummy_irq_ack() are used.

Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Signed-off-by: Akira Iguchi <akira2.iguchi@toshiba.co.jp>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Akira Iguchi authored and Jeff Garzik committed Feb 9, 2007
1 parent 8362500 commit 246ce3b
Show file tree
Hide file tree
Showing 60 changed files with 206 additions and 0 deletions.
4 changes: 4 additions & 0 deletions drivers/ata/ahci.c
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,8 @@ static const struct ata_port_operations ahci_ops = {

.irq_handler = ahci_interrupt,
.irq_clear = ahci_irq_clear,
.irq_on = ata_dummy_irq_on,
.irq_ack = ata_dummy_irq_ack,

.scr_read = ahci_scr_read,
.scr_write = ahci_scr_write,
Expand Down Expand Up @@ -291,6 +293,8 @@ static const struct ata_port_operations ahci_vt8251_ops = {

.irq_handler = ahci_interrupt,
.irq_clear = ahci_irq_clear,
.irq_on = ata_dummy_irq_on,
.irq_ack = ata_dummy_irq_ack,

.scr_read = ahci_scr_read,
.scr_write = ahci_scr_write,
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/ata_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,8 @@ static struct ata_port_operations generic_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
6 changes: 6 additions & 0 deletions drivers/ata/ata_piix.c
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,8 @@ static const struct ata_port_operations piix_pata_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -339,6 +341,8 @@ static const struct ata_port_operations ich_pata_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -367,6 +371,8 @@ static const struct ata_port_operations piix_sata_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
8 changes: 8 additions & 0 deletions drivers/ata/pata_ali.c
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,8 @@ static struct ata_port_operations ali_early_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -413,6 +415,8 @@ static struct ata_port_operations ali_20_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -449,6 +453,8 @@ static struct ata_port_operations ali_c2_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -484,6 +490,8 @@ static struct ata_port_operations ali_c5_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
12 changes: 12 additions & 0 deletions drivers/ata/pata_amd.c
Original file line number Diff line number Diff line change
Expand Up @@ -366,6 +366,8 @@ static struct ata_port_operations amd33_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -398,6 +400,8 @@ static struct ata_port_operations amd66_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -430,6 +434,8 @@ static struct ata_port_operations amd100_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -462,6 +468,8 @@ static struct ata_port_operations amd133_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -494,6 +502,8 @@ static struct ata_port_operations nv100_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -526,6 +536,8 @@ static struct ata_port_operations nv133_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
4 changes: 4 additions & 0 deletions drivers/ata/pata_artop.c
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,8 @@ static const struct ata_port_operations artop6210_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -375,6 +377,8 @@ static const struct ata_port_operations artop6260_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_atiixp.c
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,8 @@ static struct ata_port_operations atiixp_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
6 changes: 6 additions & 0 deletions drivers/ata/pata_cmd64x.c
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,8 @@ static struct ata_port_operations cmd64x_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -349,6 +351,8 @@ static struct ata_port_operations cmd646r1_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -381,6 +385,8 @@ static struct ata_port_operations cmd648_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_cs5520.c
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,8 @@ static struct ata_port_operations cs5520_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_cs5530.c
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,8 @@ static struct ata_port_operations cs5530_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_cs5535.c
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,8 @@ static struct ata_port_operations cs5535_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_cypress.c
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,8 @@ static struct ata_port_operations cy82c693_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_efar.c
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,8 @@ static const struct ata_port_operations efar_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_hpt366.c
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,8 @@ static struct ata_port_operations hpt366_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
8 changes: 8 additions & 0 deletions drivers/ata/pata_hpt37x.c
Original file line number Diff line number Diff line change
Expand Up @@ -800,6 +800,8 @@ static struct ata_port_operations hpt370_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -837,6 +839,8 @@ static struct ata_port_operations hpt370a_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -875,6 +879,8 @@ static struct ata_port_operations hpt372_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down Expand Up @@ -913,6 +919,8 @@ static struct ata_port_operations hpt374_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_hpt3x2n.c
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,8 @@ static struct ata_port_operations hpt3x2n_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_hpt3x3.c
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,8 @@ static struct ata_port_operations hpt3x3_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_isapnp.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ static struct ata_port_operations isapnp_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_it8213.c
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,8 @@ static const struct ata_port_operations it8213_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,
};
Expand Down
4 changes: 4 additions & 0 deletions drivers/ata/pata_it821x.c
Original file line number Diff line number Diff line change
Expand Up @@ -678,6 +678,8 @@ static struct ata_port_operations it821x_smart_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = it821x_port_start,
};
Expand Down Expand Up @@ -712,6 +714,8 @@ static struct ata_port_operations it821x_passthru_port_ops = {

.irq_clear = ata_bmdma_irq_clear,
.irq_handler = ata_interrupt,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = it821x_port_start,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_ixp4xx_cf.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ static struct ata_port_operations ixp4xx_port_ops = {

.irq_handler = ata_interrupt,
.irq_clear = ixp4xx_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

.port_start = ata_port_start,

Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/pata_jmicron.c
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,8 @@ static const struct ata_port_operations jmicron_ops = {
/* IRQ-related hooks */
.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on,
.irq_ack = ata_irq_ack,

/* Generic PATA PCI ATA helpers */
.port_start = ata_port_start,
Expand Down
Loading

0 comments on commit 246ce3b

Please sign in to comment.