diff options
author | Tejun Heo <htejun@gmail.com> | 2008-03-25 12:22:48 +0900 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-17 15:44:17 -0400 |
commit | 6bd99b4e0998571808fc1f09d5162348f21ff8c1 (patch) | |
tree | e338bd445aaa5cda4bbf1f5598acf70f0d6b68de /drivers/ata/sata_nv.c | |
parent | 358f9a77a668660729e705fde9c3cf69f013aa98 (diff) |
libata: normalize port_info, port_operations and sht tables
Over the time, port info, ops and sht structures developed quite a bit
of inconsistencies. This patch updates drivers.
* Enable/disable_pm callbacks added to all ahci ops tables.
* Every driver for SFF controllers now uses ata_sff_port_start()
instead of ata_port_start() unless the driver has custom
implementation.
* Every driver for SFF controllers now uses ata_pci_default_filter()
unless the driver has custom implementation.
* Removed an odd port_info->sht initialization from ata_piix.c.
Likely a merge byproduct.
* A port which has ATA_FLAG_SATA set doesn't need to set cable_detect
to ata_cable_sata(). Remove it from via and mv port ops.
* Some drivers had unnecessary .max_sectors initialization which is
ignored and was missing .slave_destroy callback. Fixed.
* Removed unnecessary sht initializations port_info's.
* Removed onsolete scsi device suspend/resume callbacks from
pata_bf54x.
* No reason to set ata_pci_default_filter() and bmdma functions for
PIO-only drivers. Remove those callbacks and replace
ata_bmdma_irq_clear with ata_noop_irq_clear.
* pata_platform sets port_start to ata_dummy_ret0. port_start can
just be set to NULL.
* sata_fsl supports NCQ but was missing qc_defer. Fixed.
* pata_rb600_cf implements dummy port_start. Removed.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers/ata/sata_nv.c')
-rw-r--r-- | drivers/ata/sata_nv.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c index 75b76535c72..bd5b6c35ee5 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c @@ -452,6 +452,7 @@ static const struct ata_port_operations nv_generic_ops = { .bmdma_status = ata_bmdma_status, .qc_prep = ata_qc_prep, .qc_issue = ata_qc_issue_prot, + .mode_filter = ata_pci_default_filter, .freeze = ata_bmdma_freeze, .thaw = ata_bmdma_thaw, .error_handler = nv_error_handler, @@ -461,7 +462,7 @@ static const struct ata_port_operations nv_generic_ops = { .irq_on = ata_irq_on, .scr_read = nv_scr_read, .scr_write = nv_scr_write, - .port_start = ata_port_start, + .port_start = ata_sff_port_start, }; static const struct ata_port_operations nv_nf2_ops = { @@ -476,6 +477,7 @@ static const struct ata_port_operations nv_nf2_ops = { .bmdma_status = ata_bmdma_status, .qc_prep = ata_qc_prep, .qc_issue = ata_qc_issue_prot, + .mode_filter = ata_pci_default_filter, .freeze = nv_nf2_freeze, .thaw = nv_nf2_thaw, .error_handler = nv_error_handler, @@ -485,7 +487,7 @@ static const struct ata_port_operations nv_nf2_ops = { .irq_on = ata_irq_on, .scr_read = nv_scr_read, .scr_write = nv_scr_write, - .port_start = ata_port_start, + .port_start = ata_sff_port_start, }; static const struct ata_port_operations nv_ck804_ops = { @@ -500,6 +502,7 @@ static const struct ata_port_operations nv_ck804_ops = { .bmdma_status = ata_bmdma_status, .qc_prep = ata_qc_prep, .qc_issue = ata_qc_issue_prot, + .mode_filter = ata_pci_default_filter, .freeze = nv_ck804_freeze, .thaw = nv_ck804_thaw, .error_handler = nv_error_handler, @@ -509,7 +512,7 @@ static const struct ata_port_operations nv_ck804_ops = { .irq_on = ata_irq_on, .scr_read = nv_scr_read, .scr_write = nv_scr_write, - .port_start = ata_port_start, + .port_start = ata_sff_port_start, .host_stop = nv_ck804_host_stop, }; @@ -527,6 +530,7 @@ static const struct ata_port_operations nv_adma_ops = { .qc_defer = ata_std_qc_defer, .qc_prep = nv_adma_qc_prep, .qc_issue = nv_adma_qc_issue, + .mode_filter = ata_pci_default_filter, .freeze = nv_adma_freeze, .thaw = nv_adma_thaw, .error_handler = nv_adma_error_handler, @@ -558,6 +562,7 @@ static const struct ata_port_operations nv_swncq_ops = { .qc_defer = ata_std_qc_defer, .qc_prep = nv_swncq_qc_prep, .qc_issue = nv_swncq_qc_issue, + .mode_filter = ata_pci_default_filter, .freeze = nv_mcp55_freeze, .thaw = nv_mcp55_thaw, .error_handler = nv_swncq_error_handler, |