diff options
author | Tejun Heo <tj@kernel.org> | 2010-05-10 15:41:38 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2010-05-19 13:35:49 -0400 |
commit | c429137a67b82788d24682153bb9c96501a9ef34 (patch) | |
tree | b24ed75908f08cc9cddb19efc74fcb46be75de8f /include/linux/libata.h | |
parent | 5fe7454aa9c6ef5fcf506b0f2dfc20f696891f1a (diff) |
libata-sff: port_task is SFF specific
port_task is tightly bound to the standard SFF PIO HSM implementation.
Using it for any other purpose would be error-prone and there's no
such user and if some drivers need such feature, it would be much
better off using its own. Move it inside CONFIG_ATA_SFF and rename it
to sff_pio_task.
The only function which is exposed to the core layer is
ata_sff_flush_pio_task() which is renamed from ata_port_flush_task()
and now also takes care of resetting hsm_task_state to HSM_ST_IDLE,
which is possible as it's now specific to PIO HSM.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r-- | include/linux/libata.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index 85b99b83f990..6888b5c36e0f 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -723,6 +723,7 @@ struct ata_port { | |||
723 | struct ata_ioports ioaddr; /* ATA cmd/ctl/dma register blocks */ | 723 | struct ata_ioports ioaddr; /* ATA cmd/ctl/dma register blocks */ |
724 | u8 ctl; /* cache of ATA control register */ | 724 | u8 ctl; /* cache of ATA control register */ |
725 | u8 last_ctl; /* Cache last written value */ | 725 | u8 last_ctl; /* Cache last written value */ |
726 | struct delayed_work sff_pio_task; | ||
726 | #endif /* CONFIG_ATA_SFF */ | 727 | #endif /* CONFIG_ATA_SFF */ |
727 | 728 | ||
728 | unsigned int pio_mask; | 729 | unsigned int pio_mask; |
@@ -746,8 +747,6 @@ struct ata_port { | |||
746 | struct ata_host *host; | 747 | struct ata_host *host; |
747 | struct device *dev; | 748 | struct device *dev; |
748 | 749 | ||
749 | void *port_task_data; | ||
750 | struct delayed_work port_task; | ||
751 | struct delayed_work hotplug_task; | 750 | struct delayed_work hotplug_task; |
752 | struct work_struct scsi_rescan_task; | 751 | struct work_struct scsi_rescan_task; |
753 | 752 | ||
@@ -1031,9 +1030,6 @@ extern int ata_cable_sata(struct ata_port *ap); | |||
1031 | extern int ata_cable_ignore(struct ata_port *ap); | 1030 | extern int ata_cable_ignore(struct ata_port *ap); |
1032 | extern int ata_cable_unknown(struct ata_port *ap); | 1031 | extern int ata_cable_unknown(struct ata_port *ap); |
1033 | 1032 | ||
1034 | extern void ata_pio_queue_task(struct ata_port *ap, void *data, | ||
1035 | unsigned long delay); | ||
1036 | |||
1037 | /* Timing helpers */ | 1033 | /* Timing helpers */ |
1038 | extern unsigned int ata_pio_need_iordy(const struct ata_device *); | 1034 | extern unsigned int ata_pio_need_iordy(const struct ata_device *); |
1039 | extern const struct ata_timing *ata_timing_find_mode(u8 xfer_mode); | 1035 | extern const struct ata_timing *ata_timing_find_mode(u8 xfer_mode); |
@@ -1597,6 +1593,7 @@ extern void ata_sff_irq_on(struct ata_port *ap); | |||
1597 | extern void ata_sff_irq_clear(struct ata_port *ap); | 1593 | extern void ata_sff_irq_clear(struct ata_port *ap); |
1598 | extern int ata_sff_hsm_move(struct ata_port *ap, struct ata_queued_cmd *qc, | 1594 | extern int ata_sff_hsm_move(struct ata_port *ap, struct ata_queued_cmd *qc, |
1599 | u8 status, int in_wq); | 1595 | u8 status, int in_wq); |
1596 | extern void ata_sff_queue_pio_task(struct ata_port *ap, unsigned long delay); | ||
1600 | extern unsigned int ata_sff_qc_issue(struct ata_queued_cmd *qc); | 1597 | extern unsigned int ata_sff_qc_issue(struct ata_queued_cmd *qc); |
1601 | extern bool ata_sff_qc_fill_rtf(struct ata_queued_cmd *qc); | 1598 | extern bool ata_sff_qc_fill_rtf(struct ata_queued_cmd *qc); |
1602 | extern unsigned int ata_sff_host_intr(struct ata_port *ap, | 1599 | extern unsigned int ata_sff_host_intr(struct ata_port *ap, |