diff options
Diffstat (limited to 'drivers/ata/libata.h')
-rw-r--r-- | drivers/ata/libata.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/drivers/ata/libata.h b/drivers/ata/libata.h index 9ce1ecc63e39..773de97988a2 100644 --- a/drivers/ata/libata.h +++ b/drivers/ata/libata.h | |||
@@ -86,6 +86,8 @@ extern int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class, | |||
86 | extern int ata_dev_configure(struct ata_device *dev); | 86 | extern int ata_dev_configure(struct ata_device *dev); |
87 | extern int sata_down_spd_limit(struct ata_link *link, u32 spd_limit); | 87 | extern int sata_down_spd_limit(struct ata_link *link, u32 spd_limit); |
88 | extern int ata_down_xfermask_limit(struct ata_device *dev, unsigned int sel); | 88 | extern int ata_down_xfermask_limit(struct ata_device *dev, unsigned int sel); |
89 | extern unsigned int ata_dev_set_feature(struct ata_device *dev, | ||
90 | u8 enable, u8 feature); | ||
89 | extern void ata_sg_clean(struct ata_queued_cmd *qc); | 91 | extern void ata_sg_clean(struct ata_queued_cmd *qc); |
90 | extern void ata_qc_free(struct ata_queued_cmd *qc); | 92 | extern void ata_qc_free(struct ata_queued_cmd *qc); |
91 | extern void ata_qc_issue(struct ata_queued_cmd *qc); | 93 | extern void ata_qc_issue(struct ata_queued_cmd *qc); |
@@ -100,8 +102,8 @@ extern int sata_link_init_spd(struct ata_link *link); | |||
100 | extern int ata_task_ioctl(struct scsi_device *scsidev, void __user *arg); | 102 | extern int ata_task_ioctl(struct scsi_device *scsidev, void __user *arg); |
101 | extern int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg); | 103 | extern int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg); |
102 | extern struct ata_port *ata_port_alloc(struct ata_host *host); | 104 | extern struct ata_port *ata_port_alloc(struct ata_host *host); |
103 | extern void ata_dev_enable_pm(struct ata_device *dev, enum link_pm policy); | 105 | extern const char *sata_spd_string(unsigned int spd); |
104 | extern void ata_lpm_schedule(struct ata_port *ap, enum link_pm); | 106 | extern int ata_port_probe(struct ata_port *ap); |
105 | 107 | ||
106 | /* libata-acpi.c */ | 108 | /* libata-acpi.c */ |
107 | #ifdef CONFIG_ATA_ACPI | 109 | #ifdef CONFIG_ATA_ACPI |
@@ -137,10 +139,15 @@ extern void ata_scsi_hotplug(struct work_struct *work); | |||
137 | extern void ata_schedule_scsi_eh(struct Scsi_Host *shost); | 139 | extern void ata_schedule_scsi_eh(struct Scsi_Host *shost); |
138 | extern void ata_scsi_dev_rescan(struct work_struct *work); | 140 | extern void ata_scsi_dev_rescan(struct work_struct *work); |
139 | extern int ata_bus_probe(struct ata_port *ap); | 141 | extern int ata_bus_probe(struct ata_port *ap); |
142 | extern int ata_scsi_user_scan(struct Scsi_Host *shost, unsigned int channel, | ||
143 | unsigned int id, unsigned int lun); | ||
144 | |||
140 | 145 | ||
141 | /* libata-eh.c */ | 146 | /* libata-eh.c */ |
142 | extern unsigned long ata_internal_cmd_timeout(struct ata_device *dev, u8 cmd); | 147 | extern unsigned long ata_internal_cmd_timeout(struct ata_device *dev, u8 cmd); |
143 | extern void ata_internal_cmd_timed_out(struct ata_device *dev, u8 cmd); | 148 | extern void ata_internal_cmd_timed_out(struct ata_device *dev, u8 cmd); |
149 | extern void ata_eh_acquire(struct ata_port *ap); | ||
150 | extern void ata_eh_release(struct ata_port *ap); | ||
144 | extern enum blk_eh_timer_return ata_scsi_timed_out(struct scsi_cmnd *cmd); | 151 | extern enum blk_eh_timer_return ata_scsi_timed_out(struct scsi_cmnd *cmd); |
145 | extern void ata_scsi_error(struct Scsi_Host *host); | 152 | extern void ata_scsi_error(struct Scsi_Host *host); |
146 | extern void ata_port_wait_eh(struct ata_port *ap); | 153 | extern void ata_port_wait_eh(struct ata_port *ap); |
@@ -164,11 +171,16 @@ extern int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset, | |||
164 | ata_postreset_fn_t postreset, | 171 | ata_postreset_fn_t postreset, |
165 | struct ata_link **r_failed_disk); | 172 | struct ata_link **r_failed_disk); |
166 | extern void ata_eh_finish(struct ata_port *ap); | 173 | extern void ata_eh_finish(struct ata_port *ap); |
174 | extern int ata_ering_map(struct ata_ering *ering, | ||
175 | int (*map_fn)(struct ata_ering_entry *, void *), | ||
176 | void *arg); | ||
167 | 177 | ||
168 | /* libata-pmp.c */ | 178 | /* libata-pmp.c */ |
169 | #ifdef CONFIG_SATA_PMP | 179 | #ifdef CONFIG_SATA_PMP |
170 | extern int sata_pmp_scr_read(struct ata_link *link, int reg, u32 *val); | 180 | extern int sata_pmp_scr_read(struct ata_link *link, int reg, u32 *val); |
171 | extern int sata_pmp_scr_write(struct ata_link *link, int reg, u32 val); | 181 | extern int sata_pmp_scr_write(struct ata_link *link, int reg, u32 val); |
182 | extern int sata_pmp_set_lpm(struct ata_link *link, enum ata_lpm_policy policy, | ||
183 | unsigned hints); | ||
172 | extern int sata_pmp_attach(struct ata_device *dev); | 184 | extern int sata_pmp_attach(struct ata_device *dev); |
173 | #else /* CONFIG_SATA_PMP */ | 185 | #else /* CONFIG_SATA_PMP */ |
174 | static inline int sata_pmp_scr_read(struct ata_link *link, int reg, u32 *val) | 186 | static inline int sata_pmp_scr_read(struct ata_link *link, int reg, u32 *val) |
@@ -181,6 +193,12 @@ static inline int sata_pmp_scr_write(struct ata_link *link, int reg, u32 val) | |||
181 | return -EINVAL; | 193 | return -EINVAL; |
182 | } | 194 | } |
183 | 195 | ||
196 | static inline int sata_pmp_set_lpm(struct ata_link *link, | ||
197 | enum ata_lpm_policy policy, unsigned hints) | ||
198 | { | ||
199 | return -EINVAL; | ||
200 | } | ||
201 | |||
184 | static inline int sata_pmp_attach(struct ata_device *dev) | 202 | static inline int sata_pmp_attach(struct ata_device *dev) |
185 | { | 203 | { |
186 | return -EINVAL; | 204 | return -EINVAL; |