diff options
Diffstat (limited to 'drivers/ata/ahci.c')
-rw-r--r-- | drivers/ata/ahci.c | 94 |
1 files changed, 11 insertions, 83 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 8862595cb2cf..dacb3ef0c3e6 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
@@ -280,118 +280,46 @@ static struct scsi_host_template ahci_sht = { | |||
280 | .shost_attrs = ahci_shost_attrs, | 280 | .shost_attrs = ahci_shost_attrs, |
281 | }; | 281 | }; |
282 | 282 | ||
283 | static const struct ata_port_operations ahci_ops = { | 283 | static struct ata_port_operations ahci_ops = { |
284 | .inherits = &sata_pmp_port_ops, | ||
285 | |||
284 | .check_status = ahci_check_status, | 286 | .check_status = ahci_check_status, |
285 | .check_altstatus = ahci_check_status, | 287 | .check_altstatus = ahci_check_status, |
286 | .dev_select = ata_noop_dev_select, | ||
287 | |||
288 | .dev_config = ahci_dev_config, | ||
289 | 288 | ||
290 | .tf_read = ahci_tf_read, | 289 | .tf_read = ahci_tf_read, |
291 | |||
292 | .qc_defer = sata_pmp_qc_defer_cmd_switch, | 290 | .qc_defer = sata_pmp_qc_defer_cmd_switch, |
293 | .qc_prep = ahci_qc_prep, | 291 | .qc_prep = ahci_qc_prep, |
294 | .qc_issue = ahci_qc_issue, | 292 | .qc_issue = ahci_qc_issue, |
295 | 293 | ||
296 | .irq_clear = ata_noop_irq_clear, | ||
297 | |||
298 | .scr_read = ahci_scr_read, | ||
299 | .scr_write = ahci_scr_write, | ||
300 | |||
301 | .freeze = ahci_freeze, | 294 | .freeze = ahci_freeze, |
302 | .thaw = ahci_thaw, | 295 | .thaw = ahci_thaw, |
303 | |||
304 | .error_handler = ahci_error_handler, | 296 | .error_handler = ahci_error_handler, |
305 | .post_internal_cmd = ahci_post_internal_cmd, | 297 | .post_internal_cmd = ahci_post_internal_cmd, |
306 | |||
307 | .pmp_attach = ahci_pmp_attach, | ||
308 | .pmp_detach = ahci_pmp_detach, | ||
309 | |||
310 | #ifdef CONFIG_PM | ||
311 | .port_suspend = ahci_port_suspend, | ||
312 | .port_resume = ahci_port_resume, | ||
313 | #endif | ||
314 | .enable_pm = ahci_enable_alpm, | ||
315 | .disable_pm = ahci_disable_alpm, | ||
316 | |||
317 | .port_start = ahci_port_start, | ||
318 | .port_stop = ahci_port_stop, | ||
319 | }; | ||
320 | |||
321 | static const struct ata_port_operations ahci_vt8251_ops = { | ||
322 | .check_status = ahci_check_status, | ||
323 | .check_altstatus = ahci_check_status, | ||
324 | .dev_select = ata_noop_dev_select, | ||
325 | |||
326 | .dev_config = ahci_dev_config, | 298 | .dev_config = ahci_dev_config, |
327 | 299 | ||
328 | .tf_read = ahci_tf_read, | ||
329 | |||
330 | .qc_defer = sata_pmp_qc_defer_cmd_switch, | ||
331 | .qc_prep = ahci_qc_prep, | ||
332 | .qc_issue = ahci_qc_issue, | ||
333 | |||
334 | .irq_clear = ata_noop_irq_clear, | ||
335 | |||
336 | .scr_read = ahci_scr_read, | 300 | .scr_read = ahci_scr_read, |
337 | .scr_write = ahci_scr_write, | 301 | .scr_write = ahci_scr_write, |
338 | |||
339 | .freeze = ahci_freeze, | ||
340 | .thaw = ahci_thaw, | ||
341 | |||
342 | .error_handler = ahci_vt8251_error_handler, | ||
343 | .post_internal_cmd = ahci_post_internal_cmd, | ||
344 | |||
345 | .pmp_attach = ahci_pmp_attach, | 302 | .pmp_attach = ahci_pmp_attach, |
346 | .pmp_detach = ahci_pmp_detach, | 303 | .pmp_detach = ahci_pmp_detach, |
347 | 304 | ||
305 | .enable_pm = ahci_enable_alpm, | ||
306 | .disable_pm = ahci_disable_alpm, | ||
348 | #ifdef CONFIG_PM | 307 | #ifdef CONFIG_PM |
349 | .port_suspend = ahci_port_suspend, | 308 | .port_suspend = ahci_port_suspend, |
350 | .port_resume = ahci_port_resume, | 309 | .port_resume = ahci_port_resume, |
351 | #endif | 310 | #endif |
352 | .enable_pm = ahci_enable_alpm, | ||
353 | .disable_pm = ahci_disable_alpm, | ||
354 | |||
355 | .port_start = ahci_port_start, | 311 | .port_start = ahci_port_start, |
356 | .port_stop = ahci_port_stop, | 312 | .port_stop = ahci_port_stop, |
357 | }; | 313 | }; |
358 | 314 | ||
359 | static const struct ata_port_operations ahci_p5wdh_ops = { | 315 | static struct ata_port_operations ahci_vt8251_ops = { |
360 | .check_status = ahci_check_status, | 316 | .inherits = &ahci_ops, |
361 | .check_altstatus = ahci_check_status, | 317 | .error_handler = ahci_vt8251_error_handler, |
362 | .dev_select = ata_noop_dev_select, | 318 | }; |
363 | |||
364 | .dev_config = ahci_dev_config, | ||
365 | |||
366 | .tf_read = ahci_tf_read, | ||
367 | |||
368 | .qc_defer = sata_pmp_qc_defer_cmd_switch, | ||
369 | .qc_prep = ahci_qc_prep, | ||
370 | .qc_issue = ahci_qc_issue, | ||
371 | |||
372 | .irq_clear = ata_noop_irq_clear, | ||
373 | |||
374 | .scr_read = ahci_scr_read, | ||
375 | .scr_write = ahci_scr_write, | ||
376 | |||
377 | .freeze = ahci_freeze, | ||
378 | .thaw = ahci_thaw, | ||
379 | 319 | ||
320 | static struct ata_port_operations ahci_p5wdh_ops = { | ||
321 | .inherits = &ahci_ops, | ||
380 | .error_handler = ahci_p5wdh_error_handler, | 322 | .error_handler = ahci_p5wdh_error_handler, |
381 | .post_internal_cmd = ahci_post_internal_cmd, | ||
382 | |||
383 | .pmp_attach = ahci_pmp_attach, | ||
384 | .pmp_detach = ahci_pmp_detach, | ||
385 | |||
386 | #ifdef CONFIG_PM | ||
387 | .port_suspend = ahci_port_suspend, | ||
388 | .port_resume = ahci_port_resume, | ||
389 | #endif | ||
390 | .enable_pm = ahci_enable_alpm, | ||
391 | .disable_pm = ahci_disable_alpm, | ||
392 | |||
393 | .port_start = ahci_port_start, | ||
394 | .port_stop = ahci_port_stop, | ||
395 | }; | 323 | }; |
396 | 324 | ||
397 | #define AHCI_HFLAGS(flags) .private_data = (void *)(flags) | 325 | #define AHCI_HFLAGS(flags) .private_data = (void *)(flags) |