aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2015-01-08 01:43:48 -0500
committerChristoph Hellwig <hch@lst.de>2015-01-09 09:44:31 -0500
commit2dd951ecd511756f405ae9324db87bb0159f6225 (patch)
tree61c8bdbc84bb31a4f1b1e39c12209778c591e655 /include/scsi
parent026f8da8da4ce3423bf89e8e9091f55ae3863eda (diff)
scsi: Conditionally compile in constants.c
Instead of having constants.c littered with ifdef statements we should be moving dummy functions into the header and condintionally compile in constants.c if selected. And update the Kconfig description to reflect the actual size difference. Suggested-by: Christoph Hellwig <hch@infradead.org> Tested-by: Robert Elliott <elliott@hp.com> Reviewed-by: Robert Elliott <elliott@hp.com> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'include/scsi')
-rw-r--r--include/scsi/scsi_dbg.h68
1 files changed, 64 insertions, 4 deletions
diff --git a/include/scsi/scsi_dbg.h b/include/scsi/scsi_dbg.h
index 365b6745dc10..f8170e90b49d 100644
--- a/include/scsi/scsi_dbg.h
+++ b/include/scsi/scsi_dbg.h
@@ -7,7 +7,6 @@ struct scsi_sense_hdr;
7 7
8#define SCSI_LOG_BUFSIZE 128 8#define SCSI_LOG_BUFSIZE 128
9 9
10extern bool scsi_opcode_sa_name(int, int, const char **, const char **);
11extern void scsi_print_command(struct scsi_cmnd *); 10extern void scsi_print_command(struct scsi_cmnd *);
12extern size_t __scsi_format_command(char *, size_t, 11extern size_t __scsi_format_command(char *, size_t,
13 const unsigned char *, size_t); 12 const unsigned char *, size_t);
@@ -22,11 +21,72 @@ extern void __scsi_print_sense(const struct scsi_device *, const char *name,
22 const unsigned char *sense_buffer, 21 const unsigned char *sense_buffer,
23 int sense_len); 22 int sense_len);
24extern void scsi_print_result(const struct scsi_cmnd *, const char *, int); 23extern void scsi_print_result(const struct scsi_cmnd *, const char *, int);
25extern const char *scsi_hostbyte_string(int); 24
26extern const char *scsi_driverbyte_string(int); 25#ifdef CONFIG_SCSI_CONSTANTS
27extern const char *scsi_mlreturn_string(int); 26extern bool scsi_opcode_sa_name(int, int, const char **, const char **);
28extern const char *scsi_sense_key_string(unsigned char); 27extern const char *scsi_sense_key_string(unsigned char);
29extern const char *scsi_extd_sense_format(unsigned char, unsigned char, 28extern const char *scsi_extd_sense_format(unsigned char, unsigned char,
30 const char **); 29 const char **);
30extern const char *scsi_mlreturn_string(int);
31extern const char *scsi_hostbyte_string(int);
32extern const char *scsi_driverbyte_string(int);
33#else
34static inline bool
35scsi_opcode_sa_name(int cmd, int sa,
36 const char **cdb_name, const char **sa_name)
37{
38 *cdb_name = NULL;
39 switch (cmd) {
40 case VARIABLE_LENGTH_CMD:
41 case MAINTENANCE_IN:
42 case MAINTENANCE_OUT:
43 case PERSISTENT_RESERVE_IN:
44 case PERSISTENT_RESERVE_OUT:
45 case SERVICE_ACTION_IN_12:
46 case SERVICE_ACTION_OUT_12:
47 case SERVICE_ACTION_BIDIRECTIONAL:
48 case SERVICE_ACTION_IN_16:
49 case SERVICE_ACTION_OUT_16:
50 case EXTENDED_COPY:
51 case RECEIVE_COPY_RESULTS:
52 *sa_name = NULL;
53 return true;
54 default:
55 return false;
56 }
57}
58
59static inline const char *
60scsi_sense_key_string(unsigned char key)
61{
62 return NULL;
63}
64
65static inline const char *
66scsi_extd_sense_format(unsigned char asc, unsigned char ascq, const char **fmt)
67{
68 *fmt = NULL;
69 return NULL;
70}
71
72static inline const char *
73scsi_mlreturn_string(int result)
74{
75 return NULL;
76}
77
78static inline const char *
79scsi_hostbyte_string(int result)
80{
81 return NULL;
82}
83
84static inline const char *
85scsi_driverbyte_string(int result)
86{
87 return NULL;
88}
89
90#endif
31 91
32#endif /* _SCSI_SCSI_DBG_H */ 92#endif /* _SCSI_SCSI_DBG_H */