aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/ahci.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-03-24 23:22:48 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-04-17 15:44:17 -0400
commit6bd99b4e0998571808fc1f09d5162348f21ff8c1 (patch)
treee338bd445aaa5cda4bbf1f5598acf70f0d6b68de /drivers/ata/ahci.c
parent358f9a77a668660729e705fde9c3cf69f013aa98 (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/ahci.c')
-rw-r--r--drivers/ata/ahci.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 492e521715d6..c6ea44a7f2a9 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -336,6 +336,8 @@ static const struct ata_port_operations ahci_vt8251_ops = {
336 .check_altstatus = ahci_check_status, 336 .check_altstatus = ahci_check_status,
337 .dev_select = ata_noop_dev_select, 337 .dev_select = ata_noop_dev_select,
338 338
339 .dev_config = ahci_dev_config,
340
339 .tf_read = ahci_tf_read, 341 .tf_read = ahci_tf_read,
340 342
341 .qc_defer = sata_pmp_qc_defer_cmd_switch, 343 .qc_defer = sata_pmp_qc_defer_cmd_switch,
@@ -360,6 +362,8 @@ static const struct ata_port_operations ahci_vt8251_ops = {
360 .port_suspend = ahci_port_suspend, 362 .port_suspend = ahci_port_suspend,
361 .port_resume = ahci_port_resume, 363 .port_resume = ahci_port_resume,
362#endif 364#endif
365 .enable_pm = ahci_enable_alpm,
366 .disable_pm = ahci_disable_alpm,
363 367
364 .port_start = ahci_port_start, 368 .port_start = ahci_port_start,
365 .port_stop = ahci_port_stop, 369 .port_stop = ahci_port_stop,
@@ -370,6 +374,8 @@ static const struct ata_port_operations ahci_p5wdh_ops = {
370 .check_altstatus = ahci_check_status, 374 .check_altstatus = ahci_check_status,
371 .dev_select = ata_noop_dev_select, 375 .dev_select = ata_noop_dev_select,
372 376
377 .dev_config = ahci_dev_config,
378
373 .tf_read = ahci_tf_read, 379 .tf_read = ahci_tf_read,
374 380
375 .qc_defer = sata_pmp_qc_defer_cmd_switch, 381 .qc_defer = sata_pmp_qc_defer_cmd_switch,
@@ -394,6 +400,8 @@ static const struct ata_port_operations ahci_p5wdh_ops = {
394 .port_suspend = ahci_port_suspend, 400 .port_suspend = ahci_port_suspend,
395 .port_resume = ahci_port_resume, 401 .port_resume = ahci_port_resume,
396#endif 402#endif
403 .enable_pm = ahci_enable_alpm,
404 .disable_pm = ahci_disable_alpm,
397 405
398 .port_start = ahci_port_start, 406 .port_start = ahci_port_start,
399 .port_stop = ahci_port_stop, 407 .port_stop = ahci_port_stop,