zhao, forrest wrote:
On Tue, 2006-06-13 at 00:50 +0900, Tejun Heo wrote:
@@ -5584,22 +5683,51 @@ int pci_test_config_bits(struct pci_dev
int ata_pci_device_suspend(struct pci_dev *pdev, pm_message_t state)
{
- pci_save_state(pdev);
- pci_disable_device(pdev);
+ struct ata_host_set *first_hset = dev_get_drvdata(&pdev->dev);
+ struct ata_host_set *host_set;
+ int rc = 0;
+
+ for (host_set = first_hset; host_set; host_set = host_set->next) {
+ rc = ata_host_set_suspend(host_set, state);
+ if (rc)
+ break;
+ }
My original understanding is that a host_set represents a physical SATA
controller in a PCI slot. In which case will a SATA controller include
multiple host_set?
Please read ata_pci_init_one() and ata_pci_init_legacy_port() in
libata-bmdma.c. It's for IDE controllers in legacy mode (not native
PCI) mode.
--
tejun
-
: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html