diff options
author | Tejun Heo <htejun@gmail.com> | 2008-03-24 23:22:48 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-17 15:44:17 -0400 |
commit | 6bd99b4e0998571808fc1f09d5162348f21ff8c1 (patch) | |
tree | e338bd445aaa5cda4bbf1f5598acf70f0d6b68de /drivers/ata/ahci.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/ahci.c')
-rw-r--r-- | drivers/ata/ahci.c | 8 |
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, |