1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25#ifndef _SAS_ATA_H_
26#define _SAS_ATA_H_
27
28#include <linux/libata.h>
29#include <scsi/libsas.h>
30
31#ifdef CONFIG_SCSI_SAS_ATA
32
33static inline int dev_is_sata(struct domain_device *dev)
34{
35 return (dev->rphy->identify.target_port_protocols & SAS_PROTOCOL_SATA);
36}
37
38int sas_ata_init_host_and_port(struct domain_device *found_dev,
39 struct scsi_target *starget);
40
41void sas_ata_task_abort(struct sas_task *task);
42void sas_ata_strategy_handler(struct Scsi_Host *shost);
43int sas_ata_timed_out(struct scsi_cmnd *cmd, struct sas_task *task,
44 enum blk_eh_timer_return *rtn);
45int sas_ata_eh(struct Scsi_Host *shost, struct list_head *work_q,
46 struct list_head *done_q);
47
48#else
49
50
51static inline int dev_is_sata(struct domain_device *dev)
52{
53 return 0;
54}
55static inline int sas_ata_init_host_and_port(struct domain_device *found_dev,
56 struct scsi_target *starget)
57{
58 return 0;
59}
60static inline void sas_ata_task_abort(struct sas_task *task)
61{
62}
63
64static inline void sas_ata_strategy_handler(struct Scsi_Host *shost)
65{
66}
67
68static inline int sas_ata_timed_out(struct scsi_cmnd *cmd,
69 struct sas_task *task,
70 enum blk_eh_timer_return *rtn)
71{
72 return 0;
73}
74static inline int sas_ata_eh(struct Scsi_Host *shost, struct list_head *work_q,
75 struct list_head *done_q)
76{
77 return 0;
78}
79
80#endif
81
82#endif
83