diff options
author | brking@us.ibm.com <brking@us.ibm.com> | 2005-11-01 18:01:34 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-11-06 14:04:41 -0500 |
commit | d3c74871bdcb9cb09dca22994dfee8500515f28f (patch) | |
tree | 431d8605fd41842e77c5e314df9f29ca8881f036 /drivers | |
parent | 12baa4202d74d799f4f8a4bd0455b485e4f8e876 (diff) |
[SCSI] ipr: Runtime debugging options
Make some compile time debugging options runtime module options.
Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/ipr.c | 3 | ||||
-rw-r--r-- | drivers/scsi/ipr.h | 30 |
2 files changed, 6 insertions, 27 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index 72b588d65562..1d440f2763ca 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c | |||
@@ -92,6 +92,7 @@ static int ipr_testmode = 0; | |||
92 | static unsigned int ipr_fastfail = 0; | 92 | static unsigned int ipr_fastfail = 0; |
93 | static unsigned int ipr_transop_timeout = IPR_OPERATIONAL_TIMEOUT; | 93 | static unsigned int ipr_transop_timeout = IPR_OPERATIONAL_TIMEOUT; |
94 | static unsigned int ipr_enable_cache = 1; | 94 | static unsigned int ipr_enable_cache = 1; |
95 | static unsigned int ipr_debug = 0; | ||
95 | static DEFINE_SPINLOCK(ipr_driver_lock); | 96 | static DEFINE_SPINLOCK(ipr_driver_lock); |
96 | 97 | ||
97 | /* This table describes the differences between DMA controller chips */ | 98 | /* This table describes the differences between DMA controller chips */ |
@@ -153,6 +154,8 @@ module_param_named(transop_timeout, ipr_transop_timeout, int, 0); | |||
153 | MODULE_PARM_DESC(transop_timeout, "Time in seconds to wait for adapter to come operational (default: 300)"); | 154 | MODULE_PARM_DESC(transop_timeout, "Time in seconds to wait for adapter to come operational (default: 300)"); |
154 | module_param_named(enable_cache, ipr_enable_cache, int, 0); | 155 | module_param_named(enable_cache, ipr_enable_cache, int, 0); |
155 | MODULE_PARM_DESC(enable_cache, "Enable adapter's non-volatile write cache (default: 1)"); | 156 | MODULE_PARM_DESC(enable_cache, "Enable adapter's non-volatile write cache (default: 1)"); |
157 | module_param_named(debug, ipr_debug, int, 0); | ||
158 | MODULE_PARM_DESC(debug, "Enable device driver debugging logging. Set to 1 to enable. (default: 0)"); | ||
156 | MODULE_LICENSE("GPL"); | 159 | MODULE_LICENSE("GPL"); |
157 | MODULE_VERSION(IPR_DRIVER_VERSION); | 160 | MODULE_VERSION(IPR_DRIVER_VERSION); |
158 | 161 | ||
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h index 1a29eb865b0b..414aa07e20f9 100644 --- a/drivers/scsi/ipr.h +++ b/drivers/scsi/ipr.h | |||
@@ -40,21 +40,6 @@ | |||
40 | #define IPR_DRIVER_DATE "(May 2, 2005)" | 40 | #define IPR_DRIVER_DATE "(May 2, 2005)" |
41 | 41 | ||
42 | /* | 42 | /* |
43 | * IPR_DBG_TRACE: Setting this to 1 will turn on some general function tracing | ||
44 | * resulting in a bunch of extra debugging printks to the console | ||
45 | * | ||
46 | * IPR_DEBUG: Setting this to 1 will turn on some error path tracing. | ||
47 | * Enables the ipr_trace macro. | ||
48 | */ | ||
49 | #ifdef IPR_DEBUG_ALL | ||
50 | #define IPR_DEBUG 1 | ||
51 | #define IPR_DBG_TRACE 1 | ||
52 | #else | ||
53 | #define IPR_DEBUG 0 | ||
54 | #define IPR_DBG_TRACE 0 | ||
55 | #endif | ||
56 | |||
57 | /* | ||
58 | * IPR_MAX_CMD_PER_LUN: This defines the maximum number of outstanding | 43 | * IPR_MAX_CMD_PER_LUN: This defines the maximum number of outstanding |
59 | * ops per device for devices not running tagged command queuing. | 44 | * ops per device for devices not running tagged command queuing. |
60 | * This can be adjusted at runtime through sysfs device attributes. | 45 | * This can be adjusted at runtime through sysfs device attributes. |
@@ -1090,11 +1075,7 @@ struct ipr_ucode_image_header { | |||
1090 | /* | 1075 | /* |
1091 | * Macros | 1076 | * Macros |
1092 | */ | 1077 | */ |
1093 | #if IPR_DEBUG | 1078 | #define IPR_DBG_CMD(CMD) if (ipr_debug) { CMD; } |
1094 | #define IPR_DBG_CMD(CMD) do { CMD; } while (0) | ||
1095 | #else | ||
1096 | #define IPR_DBG_CMD(CMD) | ||
1097 | #endif | ||
1098 | 1079 | ||
1099 | #ifdef CONFIG_SCSI_IPR_TRACE | 1080 | #ifdef CONFIG_SCSI_IPR_TRACE |
1100 | #define ipr_create_trace_file(kobj, attr) sysfs_create_bin_file(kobj, attr) | 1081 | #define ipr_create_trace_file(kobj, attr) sysfs_create_bin_file(kobj, attr) |
@@ -1156,13 +1137,8 @@ struct ipr_ucode_image_header { | |||
1156 | #define ipr_trace ipr_dbg("%s: %s: Line: %d\n",\ | 1137 | #define ipr_trace ipr_dbg("%s: %s: Line: %d\n",\ |
1157 | __FILE__, __FUNCTION__, __LINE__) | 1138 | __FILE__, __FUNCTION__, __LINE__) |
1158 | 1139 | ||
1159 | #if IPR_DBG_TRACE | 1140 | #define ENTER IPR_DBG_CMD(printk(KERN_INFO IPR_NAME": Entering %s\n", __FUNCTION__)) |
1160 | #define ENTER printk(KERN_INFO IPR_NAME": Entering %s\n", __FUNCTION__) | 1141 | #define LEAVE IPR_DBG_CMD(printk(KERN_INFO IPR_NAME": Leaving %s\n", __FUNCTION__)) |
1161 | #define LEAVE printk(KERN_INFO IPR_NAME": Leaving %s\n", __FUNCTION__) | ||
1162 | #else | ||
1163 | #define ENTER | ||
1164 | #define LEAVE | ||
1165 | #endif | ||
1166 | 1142 | ||
1167 | #define ipr_err_separator \ | 1143 | #define ipr_err_separator \ |
1168 | ipr_err("----------------------------------------------------------\n") | 1144 | ipr_err("----------------------------------------------------------\n") |