diff options
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r-- | include/linux/libata.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index 5ac262608199..6cc497a2b6da 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -182,6 +182,7 @@ enum { | |||
182 | 182 | ||
183 | ATA_PFLAG_FLUSH_PORT_TASK = (1 << 16), /* flush port task */ | 183 | ATA_PFLAG_FLUSH_PORT_TASK = (1 << 16), /* flush port task */ |
184 | ATA_PFLAG_SUSPENDED = (1 << 17), /* port is suspended (power) */ | 184 | ATA_PFLAG_SUSPENDED = (1 << 17), /* port is suspended (power) */ |
185 | ATA_PFLAG_PM_PENDING = (1 << 18), /* PM operation pending */ | ||
185 | 186 | ||
186 | /* struct ata_queued_cmd flags */ | 187 | /* struct ata_queued_cmd flags */ |
187 | ATA_QCFLAG_ACTIVE = (1 << 0), /* cmd not yet ack'd to scsi lyer */ | 188 | ATA_QCFLAG_ACTIVE = (1 << 0), /* cmd not yet ack'd to scsi lyer */ |
@@ -549,6 +550,9 @@ struct ata_port { | |||
549 | struct list_head eh_done_q; | 550 | struct list_head eh_done_q; |
550 | wait_queue_head_t eh_wait_q; | 551 | wait_queue_head_t eh_wait_q; |
551 | 552 | ||
553 | pm_message_t pm_mesg; | ||
554 | int *pm_result; | ||
555 | |||
552 | void *private_data; | 556 | void *private_data; |
553 | 557 | ||
554 | u8 sector_buf[ATA_SECT_SIZE]; /* owned by EH */ | 558 | u8 sector_buf[ATA_SECT_SIZE]; /* owned by EH */ |
@@ -603,6 +607,9 @@ struct ata_port_operations { | |||
603 | void (*scr_write) (struct ata_port *ap, unsigned int sc_reg, | 607 | void (*scr_write) (struct ata_port *ap, unsigned int sc_reg, |
604 | u32 val); | 608 | u32 val); |
605 | 609 | ||
610 | int (*port_suspend) (struct ata_port *ap, pm_message_t mesg); | ||
611 | int (*port_resume) (struct ata_port *ap); | ||
612 | |||
606 | int (*port_start) (struct ata_port *ap); | 613 | int (*port_start) (struct ata_port *ap); |
607 | void (*port_stop) (struct ata_port *ap); | 614 | void (*port_stop) (struct ata_port *ap); |
608 | 615 | ||
@@ -667,6 +674,8 @@ extern void ata_std_ports(struct ata_ioports *ioaddr); | |||
667 | extern int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info, | 674 | extern int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info, |
668 | unsigned int n_ports); | 675 | unsigned int n_ports); |
669 | extern void ata_pci_remove_one (struct pci_dev *pdev); | 676 | extern void ata_pci_remove_one (struct pci_dev *pdev); |
677 | extern void ata_pci_device_do_suspend(struct pci_dev *pdev, pm_message_t state); | ||
678 | extern void ata_pci_device_do_resume(struct pci_dev *pdev); | ||
670 | extern int ata_pci_device_suspend(struct pci_dev *pdev, pm_message_t state); | 679 | extern int ata_pci_device_suspend(struct pci_dev *pdev, pm_message_t state); |
671 | extern int ata_pci_device_resume(struct pci_dev *pdev); | 680 | extern int ata_pci_device_resume(struct pci_dev *pdev); |
672 | extern int ata_pci_clear_simplex(struct pci_dev *pdev); | 681 | extern int ata_pci_clear_simplex(struct pci_dev *pdev); |
@@ -687,6 +696,9 @@ extern int ata_port_online(struct ata_port *ap); | |||
687 | extern int ata_port_offline(struct ata_port *ap); | 696 | extern int ata_port_offline(struct ata_port *ap); |
688 | extern int ata_scsi_device_resume(struct scsi_device *); | 697 | extern int ata_scsi_device_resume(struct scsi_device *); |
689 | extern int ata_scsi_device_suspend(struct scsi_device *, pm_message_t state); | 698 | extern int ata_scsi_device_suspend(struct scsi_device *, pm_message_t state); |
699 | extern int ata_host_set_suspend(struct ata_host_set *host_set, | ||
700 | pm_message_t mesg); | ||
701 | extern void ata_host_set_resume(struct ata_host_set *host_set); | ||
690 | extern int ata_ratelimit(void); | 702 | extern int ata_ratelimit(void); |
691 | extern unsigned int ata_busy_sleep(struct ata_port *ap, | 703 | extern unsigned int ata_busy_sleep(struct ata_port *ap, |
692 | unsigned long timeout_pat, | 704 | unsigned long timeout_pat, |