aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_priv.h
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@HansenPartnership.com>2009-06-17 15:01:58 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-06-21 11:52:45 -0400
commit598fa4b775d064d4656132c78d9a312eb1d2f91f (patch)
tree42383f579d64e1eaf4a3cfa5b284699deb050839 /drivers/scsi/scsi_priv.h
parente0420029dedb867e5c2c044a0737338a7e9cec0b (diff)
enhance device info matching for multiple tables
The current scsi_devinfo.c matching routines use a single table for the global blacklist. However, we're developing a need to blacklist from specific transports too (notably some tape drives using SPI which don't respond well to high speed protocols). Instead of developing separate blacklist matching for each transport class needing it, enhance the current list matching to permit multiple lists. Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/scsi_priv.h')
-rw-r--r--drivers/scsi/scsi_priv.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_priv.h b/drivers/scsi/scsi_priv.h
index fbc83bebdd8e..b4e49cd6e75d 100644
--- a/drivers/scsi/scsi_priv.h
+++ b/drivers/scsi/scsi_priv.h
@@ -39,9 +39,24 @@ static inline void scsi_log_completion(struct scsi_cmnd *cmd, int disposition)
39#endif 39#endif
40 40
41/* scsi_devinfo.c */ 41/* scsi_devinfo.c */
42
43/* list of keys for the lists */
44enum {
45 SCSI_DEVINFO_GLOBAL = 0,
46};
47
42extern int scsi_get_device_flags(struct scsi_device *sdev, 48extern int scsi_get_device_flags(struct scsi_device *sdev,
43 const unsigned char *vendor, 49 const unsigned char *vendor,
44 const unsigned char *model); 50 const unsigned char *model);
51extern int scsi_get_device_flags_keyed(struct scsi_device *sdev,
52 const unsigned char *vendor,
53 const unsigned char *model, int key);
54extern int scsi_dev_info_list_add_keyed(int compatible, char *vendor,
55 char *model, char *strflags,
56 int flags, int key);
57extern int scsi_dev_info_add_list(int key, const char *name);
58extern int scsi_dev_info_remove_list(int key);
59
45extern int __init scsi_init_devinfo(void); 60extern int __init scsi_init_devinfo(void);
46extern void scsi_exit_devinfo(void); 61extern void scsi_exit_devinfo(void);
47 62