Blame view
drivers/scsi/scsi_priv.h
6.36 KB
b24413180 License cleanup: ... |
1 |
/* SPDX-License-Identifier: GPL-2.0 */ |
1da177e4c Linux-2.6.12-rc2 |
2 3 |
#ifndef _SCSI_PRIV_H #define _SCSI_PRIV_H |
1da177e4c Linux-2.6.12-rc2 |
4 |
#include <linux/device.h> |
2955b47d2 [SCSI] async: int... |
5 |
#include <linux/async.h> |
5d9fb5cc1 [SCSI] core, clas... |
6 |
#include <scsi/scsi_device.h> |
1da177e4c Linux-2.6.12-rc2 |
7 8 |
struct request_queue; |
242f9dcb8 block: unify requ... |
9 |
struct request; |
1da177e4c Linux-2.6.12-rc2 |
10 11 |
struct scsi_cmnd; struct scsi_device; |
bc4f24014 [SCSI] implement ... |
12 |
struct scsi_target; |
1da177e4c Linux-2.6.12-rc2 |
13 |
struct scsi_host_template; |
1da177e4c Linux-2.6.12-rc2 |
14 |
struct Scsi_Host; |
84314fd47 [SCSI] SCSI and F... |
15 |
struct scsi_nl_hdr; |
1da177e4c Linux-2.6.12-rc2 |
16 17 18 |
/* |
1da177e4c Linux-2.6.12-rc2 |
19 20 |
* Scsi Error Handler Flags */ |
e494f6a72 [SCSI] improved e... |
21 |
#define SCSI_EH_ABORT_SCHEDULED 0x0002 /* Abort has been scheduled */ |
1da177e4c Linux-2.6.12-rc2 |
22 23 24 |
#define SCSI_SENSE_VALID(scmd) \ (((scmd)->sense_buffer[0] & 0x70) == 0x70) |
1da177e4c Linux-2.6.12-rc2 |
25 26 27 28 29 |
/* hosts.c */ extern int scsi_init_hosts(void); extern void scsi_exit_hosts(void); /* scsi.c */ |
0a6ac4ee7 scsi: respect unc... |
30 |
int scsi_init_sense_cache(struct Scsi_Host *shost); |
e9c787e65 scsi: allocate sc... |
31 |
void scsi_init_command(struct scsi_device *dev, struct scsi_cmnd *cmd); |
1da177e4c Linux-2.6.12-rc2 |
32 33 34 35 36 37 38 39 40 41 42 |
#ifdef CONFIG_SCSI_LOGGING void scsi_log_send(struct scsi_cmnd *cmd); void scsi_log_completion(struct scsi_cmnd *cmd, int disposition); #else static inline void scsi_log_send(struct scsi_cmnd *cmd) { }; static inline void scsi_log_completion(struct scsi_cmnd *cmd, int disposition) { }; #endif /* scsi_devinfo.c */ |
598fa4b77 enhance device in... |
43 44 |
/* list of keys for the lists */ |
4b1d8e786 scsi: core: Intro... |
45 |
enum scsi_devinfo_key { |
598fa4b77 enhance device in... |
46 |
SCSI_DEVINFO_GLOBAL = 0, |
a9e0edb68 scsi_transport_sp... |
47 |
SCSI_DEVINFO_SPI, |
598fa4b77 enhance device in... |
48 |
}; |
5ebde4694 scsi: Use 'blist_... |
49 50 51 52 53 54 |
extern blist_flags_t scsi_get_device_flags(struct scsi_device *sdev, const unsigned char *vendor, const unsigned char *model); extern blist_flags_t scsi_get_device_flags_keyed(struct scsi_device *sdev, const unsigned char *vendor, const unsigned char *model, |
4b1d8e786 scsi: core: Intro... |
55 |
enum scsi_devinfo_key key); |
598fa4b77 enhance device in... |
56 57 |
extern int scsi_dev_info_list_add_keyed(int compatible, char *vendor, char *model, char *strflags, |
4b1d8e786 scsi: core: Intro... |
58 59 60 61 62 63 |
blist_flags_t flags, enum scsi_devinfo_key key); extern int scsi_dev_info_list_del_keyed(char *vendor, char *model, enum scsi_devinfo_key key); extern int scsi_dev_info_add_list(enum scsi_devinfo_key key, const char *name); extern int scsi_dev_info_remove_list(enum scsi_devinfo_key key); |
598fa4b77 enhance device in... |
64 |
|
1da177e4c Linux-2.6.12-rc2 |
65 66 67 68 |
extern int __init scsi_init_devinfo(void); extern void scsi_exit_devinfo(void); /* scsi_error.c */ |
e494f6a72 [SCSI] improved e... |
69 |
extern void scmd_eh_abort_handler(struct work_struct *work); |
242f9dcb8 block: unify requ... |
70 |
extern enum blk_eh_timer_return scsi_times_out(struct request *req); |
1da177e4c Linux-2.6.12-rc2 |
71 72 73 |
extern int scsi_error_handler(void *host); extern int scsi_decide_disposition(struct scsi_cmnd *cmd); extern void scsi_eh_wakeup(struct Scsi_Host *shost); |
a06586325 scsi: make asynch... |
74 |
extern void scsi_eh_scmd_add(struct scsi_cmnd *); |
dca84e469 [SCSI] scsi_error... |
75 76 77 78 79 |
void scsi_eh_ready_devs(struct Scsi_Host *shost, struct list_head *work_q, struct list_head *done_q); int scsi_eh_get_sense(struct list_head *work_q, struct list_head *done_q); |
4a27446f3 [SCSI] modify scs... |
80 |
int scsi_noretry_cmd(struct scsi_cmnd *scmd); |
1da177e4c Linux-2.6.12-rc2 |
81 82 83 |
/* scsi_lib.c */ extern int scsi_maybe_unblock_host(struct scsi_device *sdev); |
6eb045e09 scsi: core: avoid... |
84 |
extern void scsi_device_unbusy(struct scsi_device *sdev, struct scsi_cmnd *cmd); |
84feb1664 [SCSI] Change ret... |
85 |
extern void scsi_queue_insert(struct scsi_cmnd *cmd, int reason); |
7b3d9545f Revert "scsi: rev... |
86 |
extern void scsi_io_completion(struct scsi_cmnd *, unsigned int); |
1da177e4c Linux-2.6.12-rc2 |
87 |
extern void scsi_run_host_queues(struct Scsi_Host *shost); |
d67e8b385 scsi: move functi... |
88 |
extern void scsi_requeue_run_queue(struct work_struct *work); |
d285203cf scsi: add support... |
89 |
extern struct request_queue *scsi_mq_alloc_queue(struct scsi_device *sdev); |
66483a4a9 scsi: Introduce s... |
90 |
extern void scsi_start_queue(struct scsi_device *sdev); |
d285203cf scsi: add support... |
91 92 |
extern int scsi_mq_setup_tags(struct Scsi_Host *shost); extern void scsi_mq_destroy_tags(struct Scsi_Host *shost); |
1da177e4c Linux-2.6.12-rc2 |
93 |
extern void scsi_exit_queue(void); |
d67e8b385 scsi: move functi... |
94 |
extern void scsi_evt_thread(struct work_struct *work); |
751bf4d78 [SCSI] scsi_sysfs... |
95 96 |
struct request_queue; struct request; |
1da177e4c Linux-2.6.12-rc2 |
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
/* scsi_proc.c */ #ifdef CONFIG_SCSI_PROC_FS extern void scsi_proc_hostdir_add(struct scsi_host_template *); extern void scsi_proc_hostdir_rm(struct scsi_host_template *); extern void scsi_proc_host_add(struct Scsi_Host *); extern void scsi_proc_host_rm(struct Scsi_Host *); extern int scsi_init_procfs(void); extern void scsi_exit_procfs(void); #else # define scsi_proc_hostdir_add(sht) do { } while (0) # define scsi_proc_hostdir_rm(sht) do { } while (0) # define scsi_proc_host_add(shost) do { } while (0) # define scsi_proc_host_rm(shost) do { } while (0) # define scsi_init_procfs() (0) # define scsi_exit_procfs() do { } while (0) #endif /* CONFIG_PROC_FS */ /* scsi_scan.c */ |
3c31b52f9 scsi: async sd re... |
116 |
extern char scsi_scan_type[]; |
fea6d607e [SCSI] scsi_pm: F... |
117 |
extern int scsi_complete_async_scans(void); |
1da177e4c Linux-2.6.12-rc2 |
118 |
extern int scsi_scan_host_selected(struct Scsi_Host *, unsigned int, |
1d6450881 scsi: disable aut... |
119 |
unsigned int, u64, enum scsi_scan_mode); |
1da177e4c Linux-2.6.12-rc2 |
120 121 122 123 124 125 126 127 128 129 130 131 132 |
extern void scsi_forget_host(struct Scsi_Host *); extern void scsi_rescan_device(struct device *); /* scsi_sysctl.c */ #ifdef CONFIG_SYSCTL extern int scsi_init_sysctl(void); extern void scsi_exit_sysctl(void); #else # define scsi_init_sysctl() (0) # define scsi_exit_sysctl() do { } while (0) #endif /* CONFIG_SYSCTL */ /* scsi_sysfs.c */ |
1da177e4c Linux-2.6.12-rc2 |
133 134 135 136 137 138 139 |
extern int scsi_sysfs_add_sdev(struct scsi_device *); extern int scsi_sysfs_add_host(struct Scsi_Host *); extern int scsi_sysfs_register(void); extern void scsi_sysfs_unregister(void); extern void scsi_sysfs_device_initialize(struct scsi_device *); extern int scsi_sysfs_target_initialize(struct scsi_device *); extern struct scsi_transport_template blank_transport_template; |
903f4fed8 [SCSI] fix caller... |
140 |
extern void __scsi_remove_device(struct scsi_device *); |
1da177e4c Linux-2.6.12-rc2 |
141 |
|
1da177e4c Linux-2.6.12-rc2 |
142 |
extern struct bus_type scsi_bus_type; |
a4dbd6740 driver model: con... |
143 |
extern const struct attribute_group *scsi_sysfs_shost_attr_groups[]; |
1da177e4c Linux-2.6.12-rc2 |
144 |
|
84314fd47 [SCSI] SCSI and F... |
145 146 147 148 149 150 151 152 153 |
/* scsi_netlink.c */ #ifdef CONFIG_SCSI_NETLINK extern void scsi_netlink_init(void); extern void scsi_netlink_exit(void); extern struct sock *scsi_nl_sock; #else static inline void scsi_netlink_init(void) {} static inline void scsi_netlink_exit(void) {} #endif |
db5bd1e0b [SCSI] convert to... |
154 |
/* scsi_pm.c */ |
aa3386015 PM: Remove CONFIG... |
155 |
#ifdef CONFIG_PM |
db5bd1e0b [SCSI] convert to... |
156 |
extern const struct dev_pm_ops scsi_bus_pm_ops; |
4f7ad5211 SCSI / PM: Replac... |
157 |
|
bc4f24014 [SCSI] implement ... |
158 159 160 161 162 163 164 165 166 |
extern void scsi_autopm_get_target(struct scsi_target *); extern void scsi_autopm_put_target(struct scsi_target *); extern int scsi_autopm_get_host(struct Scsi_Host *); extern void scsi_autopm_put_host(struct Scsi_Host *); #else static inline void scsi_autopm_get_target(struct scsi_target *t) {} static inline void scsi_autopm_put_target(struct scsi_target *t) {} static inline int scsi_autopm_get_host(struct Scsi_Host *h) { return 0; } static inline void scsi_autopm_put_host(struct Scsi_Host *h) {} |
4f7ad5211 SCSI / PM: Replac... |
167 |
#endif /* CONFIG_PM */ |
db5bd1e0b [SCSI] convert to... |
168 |
|
3c31b52f9 scsi: async sd re... |
169 |
extern struct async_domain scsi_sd_pm_domain; |
a7a20d103 [SCSI] sd: limit ... |
170 |
|
086b91d05 scsi_dh: integrat... |
171 172 |
/* scsi_dh.c */ #ifdef CONFIG_SCSI_DH |
2930f8171 scsi: scsi_dh: su... |
173 |
void scsi_dh_add_device(struct scsi_device *sdev); |
23695e41a scsi_dh: fix use-... |
174 |
void scsi_dh_release_device(struct scsi_device *sdev); |
086b91d05 scsi_dh: integrat... |
175 |
#else |
2930f8171 scsi: scsi_dh: su... |
176 |
static inline void scsi_dh_add_device(struct scsi_device *sdev) { } |
23695e41a scsi_dh: fix use-... |
177 |
static inline void scsi_dh_release_device(struct scsi_device *sdev) { } |
086b91d05 scsi_dh: integrat... |
178 |
#endif |
1da177e4c Linux-2.6.12-rc2 |
179 180 181 182 |
/* * internal scsi timeout functions: for use by mid-layer and transport * classes. */ |
1c9e16e47 [SCSI] update max... |
183 |
#define SCSI_DEVICE_BLOCK_MAX_TIMEOUT 600 /* units in seconds */ |
1da177e4c Linux-2.6.12-rc2 |
184 185 |
#endif /* _SCSI_PRIV_H */ |