Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 246ce3b6 authored by Akira Iguchi's avatar Akira Iguchi Committed by Jeff Garzik
Browse files

libata: add another IRQ calls (libata drivers)



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: default avatarKou Ishizaki <kou.ishizaki@toshiba.co.jp>
Signed-off-by: default avatarAkira Iguchi <akira2.iguchi@toshiba.co.jp>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 83625006
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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,
@@ -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,
+2 −0
Original line number Diff line number Diff line
@@ -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,
};
+6 −0
Original line number Diff line number Diff line
@@ -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,
};
@@ -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,
};
@@ -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,
};
+8 −0
Original line number Diff line number Diff line
@@ -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,
};
@@ -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,
};
@@ -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,
};
@@ -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,
};
+12 −0
Original line number Diff line number Diff line
@@ -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,
};
@@ -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,
};
@@ -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,
};
@@ -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,
};
@@ -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,
};
@@ -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,
};
Loading