aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@steeleye.com>2005-10-02 12:45:08 -0400
committerJames Bottomley <jejb@mulgrave.(none)>2005-10-28 15:23:02 -0400
commit9ccfc756a70d454dfa82f48897e2883560c01a0e (patch)
tree9a6d3b10b1ec0e5fe7a63252a21598a03e93ad4e
parent9a41a62b74388827998253d62c58707e63cc5874 (diff)
[SCSI] move the mid-layer printk's over to shost/starget/sdev_printk
This should eliminate (at least in the mid layer) to make numeric assumptions about any of the enumeration variables. As a side effect, it will also make all the messages consistent and line us up nicely for the error logging strategy (if it ever shows itself again). Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-rw-r--r--drivers/scsi/constants.c5
-rw-r--r--drivers/scsi/hosts.c10
-rw-r--r--drivers/scsi/osst.c6
-rw-r--r--drivers/scsi/scsi.c21
-rw-r--r--drivers/scsi/scsi_error.c25
-rw-r--r--drivers/scsi/scsi_ioctl.c10
-rw-r--r--drivers/scsi/scsi_lib.c46
-rw-r--r--drivers/scsi/scsi_scan.c7
-rw-r--r--drivers/scsi/scsi_transport_fc.c2
-rw-r--r--drivers/scsi/scsi_transport_spi.c24
-rw-r--r--drivers/scsi/sd.c10
-rw-r--r--drivers/scsi/sg.c14
-rw-r--r--drivers/scsi/sr.c15
-rw-r--r--drivers/scsi/st.c10
-rw-r--r--include/scsi/scsi_device.h6
-rw-r--r--include/scsi/scsi_host.h4
16 files changed, 96 insertions, 119 deletions
diff --git a/drivers/scsi/constants.c b/drivers/scsi/constants.c
index f6be2c1c3942..09bc81557b6e 100644
--- a/drivers/scsi/constants.c
+++ b/drivers/scsi/constants.c
@@ -1389,10 +1389,7 @@ EXPORT_SYMBOL(scsi_print_msg);
1389void scsi_print_command(struct scsi_cmnd *cmd) 1389void scsi_print_command(struct scsi_cmnd *cmd)
1390{ 1390{
1391 /* Assume appended output (i.e. not at start of line) */ 1391 /* Assume appended output (i.e. not at start of line) */
1392 printk("scsi%d : destination target %d, lun %d\n", 1392 sdev_printk("", cmd->device, "\n");
1393 cmd->device->host->host_no,
1394 cmd->device->id,
1395 cmd->device->lun);
1396 printk(KERN_INFO " command: "); 1393 printk(KERN_INFO " command: ");
1397 scsi_print_cdb(cmd->cmnd, cmd->cmd_len, 0); 1394 scsi_print_cdb(cmd->cmnd, cmd->cmd_len, 0);
1398} 1395}
diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
index f24d84538fd5..0d48c9ceebd3 100644
--- a/drivers/scsi/hosts.c
+++ b/drivers/scsi/hosts.c
@@ -139,11 +139,11 @@ int scsi_host_set_state(struct Scsi_Host *shost, enum scsi_host_state state)
139 139
140 illegal: 140 illegal:
141 SCSI_LOG_ERROR_RECOVERY(1, 141 SCSI_LOG_ERROR_RECOVERY(1,
142 dev_printk(KERN_ERR, &shost->shost_gendev, 142 shost_printk(KERN_ERR, shost,
143 "Illegal host state transition" 143 "Illegal host state transition"
144 "%s->%s\n", 144 "%s->%s\n",
145 scsi_host_state_name(oldstate), 145 scsi_host_state_name(oldstate),
146 scsi_host_state_name(state))); 146 scsi_host_state_name(state)));
147 return -EINVAL; 147 return -EINVAL;
148} 148}
149EXPORT_SYMBOL(scsi_host_set_state); 149EXPORT_SYMBOL(scsi_host_set_state);
diff --git a/drivers/scsi/osst.c b/drivers/scsi/osst.c
index af1133104b3f..c1131c9cae64 100644
--- a/drivers/scsi/osst.c
+++ b/drivers/scsi/osst.c
@@ -5819,9 +5819,9 @@ static int osst_probe(struct device *dev)
5819 } 5819 }
5820 drive->number = devfs_register_tape(SDp->devfs_name); 5820 drive->number = devfs_register_tape(SDp->devfs_name);
5821 5821
5822 printk(KERN_INFO 5822 dev_printk(KERN_INFO, &SDp->sdev_gendev,
5823 "osst :I: Attached OnStream %.5s tape at scsi%d, channel %d, id %d, lun %d as %s\n", 5823 "osst :I: Attached OnStream %.5s tape as %s\n",
5824 SDp->model, SDp->host->host_no, SDp->channel, SDp->id, SDp->lun, tape_name(tpnt)); 5824 SDp->model, tape_name(tpnt));
5825 5825
5826 return 0; 5826 return 0;
5827 5827
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
index a5711d545d71..071d109b4b2a 100644
--- a/drivers/scsi/scsi.c
+++ b/drivers/scsi/scsi.c
@@ -410,9 +410,7 @@ void scsi_log_send(struct scsi_cmnd *cmd)
410 SCSI_LOG_MLQUEUE_BITS); 410 SCSI_LOG_MLQUEUE_BITS);
411 if (level > 1) { 411 if (level > 1) {
412 sdev = cmd->device; 412 sdev = cmd->device;
413 printk(KERN_INFO "scsi <%d:%d:%d:%d> send ", 413 sdev_printk(KERN_INFO, sdev, "send ");
414 sdev->host->host_no, sdev->channel, sdev->id,
415 sdev->lun);
416 if (level > 2) 414 if (level > 2)
417 printk("0x%p ", cmd); 415 printk("0x%p ", cmd);
418 /* 416 /*
@@ -456,9 +454,7 @@ void scsi_log_completion(struct scsi_cmnd *cmd, int disposition)
456 if (((level > 0) && (cmd->result || disposition != SUCCESS)) || 454 if (((level > 0) && (cmd->result || disposition != SUCCESS)) ||
457 (level > 1)) { 455 (level > 1)) {
458 sdev = cmd->device; 456 sdev = cmd->device;
459 printk(KERN_INFO "scsi <%d:%d:%d:%d> done ", 457 sdev_printk(KERN_INFO, sdev, "done ");
460 sdev->host->host_no, sdev->channel, sdev->id,
461 sdev->lun);
462 if (level > 2) 458 if (level > 2)
463 printk("0x%p ", cmd); 459 printk("0x%p ", cmd);
464 /* 460 /*
@@ -810,9 +806,9 @@ static void scsi_softirq(struct softirq_action *h)
810 disposition = scsi_decide_disposition(cmd); 806 disposition = scsi_decide_disposition(cmd);
811 if (disposition != SUCCESS && 807 if (disposition != SUCCESS &&
812 time_before(cmd->jiffies_at_alloc + wait_for, jiffies)) { 808 time_before(cmd->jiffies_at_alloc + wait_for, jiffies)) {
813 dev_printk(KERN_ERR, &cmd->device->sdev_gendev, 809 sdev_printk(KERN_ERR, cmd->device,
814 "timing out command, waited %lus\n", 810 "timing out command, waited %lus\n",
815 wait_for/HZ); 811 wait_for/HZ);
816 disposition = SUCCESS; 812 disposition = SUCCESS;
817 } 813 }
818 814
@@ -970,10 +966,9 @@ void scsi_adjust_queue_depth(struct scsi_device *sdev, int tagged, int tags)
970 sdev->simple_tags = 1; 966 sdev->simple_tags = 1;
971 break; 967 break;
972 default: 968 default:
973 printk(KERN_WARNING "(scsi%d:%d:%d:%d) " 969 sdev_printk(KERN_WARNING, sdev,
974 "scsi_adjust_queue_depth, bad queue type, " 970 "scsi_adjust_queue_depth, bad queue type, "
975 "disabled\n", sdev->host->host_no, 971 "disabled\n");
976 sdev->channel, sdev->id, sdev->lun);
977 case 0: 972 case 0:
978 sdev->ordered_tags = sdev->simple_tags = 0; 973 sdev->ordered_tags = sdev->simple_tags = 0;
979 sdev->queue_depth = tags; 974 sdev->queue_depth = tags;
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index 52b348c36d56..dd6a9f61bdf1 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -241,11 +241,10 @@ static inline void scsi_eh_prt_fail_stats(struct Scsi_Host *shost,
241 241
242 if (cmd_cancel || cmd_failed) { 242 if (cmd_cancel || cmd_failed) {
243 SCSI_LOG_ERROR_RECOVERY(3, 243 SCSI_LOG_ERROR_RECOVERY(3,
244 printk("%s: %d:%d:%d:%d cmds failed: %d," 244 sdev_printk(KERN_INFO, sdev,
245 " cancel: %d\n", 245 "%s: cmds failed: %d, cancel: %d\n",
246 __FUNCTION__, shost->host_no, 246 __FUNCTION__, cmd_failed,
247 sdev->channel, sdev->id, sdev->lun, 247 cmd_cancel));
248 cmd_failed, cmd_cancel));
249 cmd_cancel = 0; 248 cmd_cancel = 0;
250 cmd_failed = 0; 249 cmd_failed = 0;
251 ++devices_failed; 250 ++devices_failed;
@@ -1174,13 +1173,9 @@ static void scsi_eh_offline_sdevs(struct list_head *work_q,
1174 struct scsi_cmnd *scmd, *next; 1173 struct scsi_cmnd *scmd, *next;
1175 1174
1176 list_for_each_entry_safe(scmd, next, work_q, eh_entry) { 1175 list_for_each_entry_safe(scmd, next, work_q, eh_entry) {
1177 printk(KERN_INFO "scsi: Device offlined - not" 1176 sdev_printk(KERN_INFO, scmd->device,
1178 " ready after error recovery: host" 1177 "scsi: Device offlined - not"
1179 " %d channel %d id %d lun %d\n", 1178 " ready after error recovery\n");
1180 scmd->device->host->host_no,
1181 scmd->device->channel,
1182 scmd->device->id,
1183 scmd->device->lun);
1184 scsi_device_set_state(scmd->device, SDEV_OFFLINE); 1179 scsi_device_set_state(scmd->device, SDEV_OFFLINE);
1185 if (scmd->eh_eflags & SCSI_EH_CANCEL_CMD) { 1180 if (scmd->eh_eflags & SCSI_EH_CANCEL_CMD) {
1186 /* 1181 /*
@@ -1342,10 +1337,8 @@ int scsi_decide_disposition(struct scsi_cmnd *scmd)
1342 return SUCCESS; 1337 return SUCCESS;
1343 1338
1344 case RESERVATION_CONFLICT: 1339 case RESERVATION_CONFLICT:
1345 printk(KERN_INFO "scsi: reservation conflict: host" 1340 sdev_printk(KERN_INFO, scmd->device,
1346 " %d channel %d id %d lun %d\n", 1341 "reservation conflict\n");
1347 scmd->device->host->host_no, scmd->device->channel,
1348 scmd->device->id, scmd->device->lun);
1349 return SUCCESS; /* causes immediate i/o error */ 1342 return SUCCESS; /* causes immediate i/o error */
1350 default: 1343 default:
1351 return FAILED; 1344 return FAILED;
diff --git a/drivers/scsi/scsi_ioctl.c b/drivers/scsi/scsi_ioctl.c
index 6a3f6aae8a97..26f5bc6d9c82 100644
--- a/drivers/scsi/scsi_ioctl.c
+++ b/drivers/scsi/scsi_ioctl.c
@@ -122,13 +122,9 @@ static int ioctl_internal_command(struct scsi_device *sdev, char *cmd,
122 break; 122 break;
123 } 123 }
124 default: /* Fall through for non-removable media */ 124 default: /* Fall through for non-removable media */
125 printk(KERN_INFO "ioctl_internal_command: <%d %d %d " 125 sdev_printk(KERN_INFO, sdev,
126 "%d> return code = %x\n", 126 "ioctl_internal_command return code = %x\n",
127 sdev->host->host_no, 127 result);
128 sdev->channel,
129 sdev->id,
130 sdev->lun,
131 result);
132 scsi_print_sense_hdr(" ", &sshdr); 128 scsi_print_sense_hdr(" ", &sshdr);
133 break; 129 break;
134 } 130 }
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 3ff538809786..19ac888001e6 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -951,16 +951,16 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes,
951 return; 951 return;
952 } 952 }
953 if (!(req->flags & REQ_QUIET)) 953 if (!(req->flags & REQ_QUIET))
954 dev_printk(KERN_INFO, 954 sdev_printk(KERN_INFO,
955 &cmd->device->sdev_gendev, 955 cmd->device,
956 "Device not ready.\n"); 956 "Device not ready.\n");
957 scsi_end_request(cmd, 0, this_count, 1); 957 scsi_end_request(cmd, 0, this_count, 1);
958 return; 958 return;
959 case VOLUME_OVERFLOW: 959 case VOLUME_OVERFLOW:
960 if (!(req->flags & REQ_QUIET)) { 960 if (!(req->flags & REQ_QUIET)) {
961 dev_printk(KERN_INFO, 961 sdev_printk(KERN_INFO,
962 &cmd->device->sdev_gendev, 962 cmd->device,
963 "Volume overflow, CDB: "); 963 "Volume overflow, CDB: ");
964 __scsi_print_command(cmd->data_cmnd); 964 __scsi_print_command(cmd->data_cmnd);
965 scsi_print_sense("", cmd); 965 scsi_print_sense("", cmd);
966 } 966 }
@@ -981,8 +981,9 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes,
981 } 981 }
982 if (result) { 982 if (result) {
983 if (!(req->flags & REQ_QUIET)) { 983 if (!(req->flags & REQ_QUIET)) {
984 dev_printk(KERN_INFO, &cmd->device->sdev_gendev, 984 sdev_printk(KERN_INFO, cmd->device,
985 "SCSI error: return code = 0x%x\n", result); 985 "SCSI error: return code = 0x%x\n",
986 result);
986 987
987 if (driver_byte(result) & DRIVER_SENSE) 988 if (driver_byte(result) & DRIVER_SENSE)
988 scsi_print_sense("", cmd); 989 scsi_print_sense("", cmd);
@@ -1141,8 +1142,8 @@ static int scsi_prep_fn(struct request_queue *q, struct request *req)
1141 * online before trying any recovery commands 1142 * online before trying any recovery commands
1142 */ 1143 */
1143 if (unlikely(!scsi_device_online(sdev))) { 1144 if (unlikely(!scsi_device_online(sdev))) {
1144 printk(KERN_ERR "scsi%d (%d:%d): rejecting I/O to offline device\n", 1145 sdev_printk(KERN_ERR, sdev,
1145 sdev->host->host_no, sdev->id, sdev->lun); 1146 "rejecting I/O to offline device\n");
1146 goto kill; 1147 goto kill;
1147 } 1148 }
1148 if (unlikely(sdev->sdev_state != SDEV_RUNNING)) { 1149 if (unlikely(sdev->sdev_state != SDEV_RUNNING)) {
@@ -1151,8 +1152,8 @@ static int scsi_prep_fn(struct request_queue *q, struct request *req)
1151 if (sdev->sdev_state == SDEV_DEL) { 1152 if (sdev->sdev_state == SDEV_DEL) {
1152 /* Device is fully deleted, no commands 1153 /* Device is fully deleted, no commands
1153 * at all allowed down */ 1154 * at all allowed down */
1154 printk(KERN_ERR "scsi%d (%d:%d): rejecting I/O to dead device\n", 1155 sdev_printk(KERN_ERR, sdev,
1155 sdev->host->host_no, sdev->id, sdev->lun); 1156 "rejecting I/O to dead device\n");
1156 goto kill; 1157 goto kill;
1157 } 1158 }
1158 /* OK, we only allow special commands (i.e. not 1159 /* OK, we only allow special commands (i.e. not
@@ -1187,8 +1188,8 @@ static int scsi_prep_fn(struct request_queue *q, struct request *req)
1187 specials_only == SDEV_BLOCK) 1188 specials_only == SDEV_BLOCK)
1188 goto defer; 1189 goto defer;
1189 1190
1190 printk(KERN_ERR "scsi%d (%d:%d): rejecting I/O to device being removed\n", 1191 sdev_printk(KERN_ERR, sdev,
1191 sdev->host->host_no, sdev->id, sdev->lun); 1192 "rejecting I/O to device being removed\n");
1192 goto kill; 1193 goto kill;
1193 } 1194 }
1194 1195
@@ -1315,9 +1316,8 @@ static inline int scsi_dev_queue_ready(struct request_queue *q,
1315 */ 1316 */
1316 if (--sdev->device_blocked == 0) { 1317 if (--sdev->device_blocked == 0) {
1317 SCSI_LOG_MLQUEUE(3, 1318 SCSI_LOG_MLQUEUE(3,
1318 printk("scsi%d (%d:%d) unblocking device at" 1319 sdev_printk(KERN_INFO, sdev,
1319 " zero depth\n", sdev->host->host_no, 1320 "unblocking device at zero depth\n"));
1320 sdev->id, sdev->lun));
1321 } else { 1321 } else {
1322 blk_plug_device(q); 1322 blk_plug_device(q);
1323 return 0; 1323 return 0;
@@ -1436,8 +1436,8 @@ static void scsi_request_fn(struct request_queue *q)
1436 break; 1436 break;
1437 1437
1438 if (unlikely(!scsi_device_online(sdev))) { 1438 if (unlikely(!scsi_device_online(sdev))) {
1439 printk(KERN_ERR "scsi%d (%d:%d): rejecting I/O to offline device\n", 1439 sdev_printk(KERN_ERR, sdev,
1440 sdev->host->host_no, sdev->id, sdev->lun); 1440 "rejecting I/O to offline device\n");
1441 scsi_kill_request(req, q); 1441 scsi_kill_request(req, q);
1442 continue; 1442 continue;
1443 } 1443 }
@@ -1893,10 +1893,10 @@ scsi_device_set_state(struct scsi_device *sdev, enum scsi_device_state state)
1893 1893
1894 illegal: 1894 illegal:
1895 SCSI_LOG_ERROR_RECOVERY(1, 1895 SCSI_LOG_ERROR_RECOVERY(1,
1896 dev_printk(KERN_ERR, &sdev->sdev_gendev, 1896 sdev_printk(KERN_ERR, sdev,
1897 "Illegal state transition %s->%s\n", 1897 "Illegal state transition %s->%s\n",
1898 scsi_device_state_name(oldstate), 1898 scsi_device_state_name(oldstate),
1899 scsi_device_state_name(state)) 1899 scsi_device_state_name(state))
1900 ); 1900 );
1901 return -EINVAL; 1901 return -EINVAL;
1902} 1902}
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
index 327c5d7e5bd2..ce8456c3b718 100644
--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -462,10 +462,9 @@ static int scsi_probe_lun(struct scsi_device *sdev, char *inq_result,
462 pass = 1; 462 pass = 1;
463 463
464 next_pass: 464 next_pass:
465 SCSI_LOG_SCAN_BUS(3, printk(KERN_INFO "scsi scan: INQUIRY pass %d " 465 SCSI_LOG_SCAN_BUS(3, sdev_printk(KERN_INFO, sdev,
466 "to host %d channel %d id %d lun %d, length %d\n", 466 "scsi scan: INQUIRY pass %d length %d\n",
467 pass, sdev->host->host_no, sdev->channel, 467 pass, try_inquiry_len));
468 sdev->id, sdev->lun, try_inquiry_len));
469 468
470 /* Each pass gets up to three chances to ignore Unit Attention */ 469 /* Each pass gets up to three chances to ignore Unit Attention */
471 for (count = 0; count < 3; ++count) { 470 for (count = 0; count < 3; ++count) {
diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c
index 771e97ef136e..473a82d5e3e2 100644
--- a/drivers/scsi/scsi_transport_fc.c
+++ b/drivers/scsi/scsi_transport_fc.c
@@ -32,8 +32,6 @@
32#include <scsi/scsi_transport_fc.h> 32#include <scsi/scsi_transport_fc.h>
33#include "scsi_priv.h" 33#include "scsi_priv.h"
34 34
35#define FC_PRINTK(x, l, f, a...) printk(l "scsi(%d:%d:%d:%d): " f, (x)->host->host_no, (x)->channel, (x)->id, (x)->lun , ##a)
36
37/* 35/*
38 * Redefine so that we can have same named attributes in the 36 * Redefine so that we can have same named attributes in the
39 * sdev/starget/host objects. 37 * sdev/starget/host objects.
diff --git a/drivers/scsi/scsi_transport_spi.c b/drivers/scsi/scsi_transport_spi.c
index ef577c8c2182..718a2bc4ed5e 100644
--- a/drivers/scsi/scsi_transport_spi.c
+++ b/drivers/scsi/scsi_transport_spi.c
@@ -33,8 +33,6 @@
33#include <scsi/scsi_transport.h> 33#include <scsi/scsi_transport.h>
34#include <scsi/scsi_transport_spi.h> 34#include <scsi/scsi_transport_spi.h>
35 35
36#define SPI_PRINTK(x, l, f, a...) dev_printk(l, &(x)->dev, f , ##a)
37
38#define SPI_NUM_ATTRS 14 /* increase this if you add attributes */ 36#define SPI_NUM_ATTRS 14 /* increase this if you add attributes */
39#define SPI_OTHER_ATTRS 1 /* Increase this if you add "always 37#define SPI_OTHER_ATTRS 1 /* Increase this if you add "always
40 * on" attributes */ 38 * on" attributes */
@@ -618,7 +616,7 @@ spi_dv_device_echo_buffer(struct scsi_device *sdev, u8 *buffer,
618 return SPI_COMPARE_SKIP_TEST; 616 return SPI_COMPARE_SKIP_TEST;
619 617
620 618
621 SPI_PRINTK(sdev->sdev_target, KERN_ERR, "Write Buffer failure %x\n", result); 619 sdev_printk(KERN_ERR, sdev, "Write Buffer failure %x\n", result);
622 return SPI_COMPARE_FAILURE; 620 return SPI_COMPARE_FAILURE;
623 } 621 }
624 622
@@ -702,10 +700,10 @@ spi_dv_retrain(struct scsi_device *sdev, u8 *buffer, u8 *ptr,
702 * IU, then QAS (if we can control them), then finally 700 * IU, then QAS (if we can control them), then finally
703 * fall down the periods */ 701 * fall down the periods */
704 if (i->f->set_iu && spi_iu(starget)) { 702 if (i->f->set_iu && spi_iu(starget)) {
705 SPI_PRINTK(starget, KERN_ERR, "Domain Validation Disabing Information Units\n"); 703 starget_printk(KERN_ERR, starget, "Domain Validation Disabing Information Units\n");
706 DV_SET(iu, 0); 704 DV_SET(iu, 0);
707 } else if (i->f->set_qas && spi_qas(starget)) { 705 } else if (i->f->set_qas && spi_qas(starget)) {
708 SPI_PRINTK(starget, KERN_ERR, "Domain Validation Disabing Quick Arbitration and Selection\n"); 706 starget_printk(KERN_ERR, starget, "Domain Validation Disabing Quick Arbitration and Selection\n");
709 DV_SET(qas, 0); 707 DV_SET(qas, 0);
710 } else { 708 } else {
711 newperiod = spi_period(starget); 709 newperiod = spi_period(starget);
@@ -717,11 +715,11 @@ spi_dv_retrain(struct scsi_device *sdev, u8 *buffer, u8 *ptr,
717 715
718 if (unlikely(period > 0xff || period == prevperiod)) { 716 if (unlikely(period > 0xff || period == prevperiod)) {
719 /* Total failure; set to async and return */ 717 /* Total failure; set to async and return */
720 SPI_PRINTK(starget, KERN_ERR, "Domain Validation Failure, dropping back to Asynchronous\n"); 718 starget_printk(KERN_ERR, starget, "Domain Validation Failure, dropping back to Asynchronous\n");
721 DV_SET(offset, 0); 719 DV_SET(offset, 0);
722 return SPI_COMPARE_FAILURE; 720 return SPI_COMPARE_FAILURE;
723 } 721 }
724 SPI_PRINTK(starget, KERN_ERR, "Domain Validation detected failure, dropping back\n"); 722 starget_printk(KERN_ERR, starget, "Domain Validation detected failure, dropping back\n");
725 DV_SET(period, period); 723 DV_SET(period, period);
726 prevperiod = period; 724 prevperiod = period;
727 } 725 }
@@ -788,7 +786,7 @@ spi_dv_device_internal(struct scsi_device *sdev, u8 *buffer)
788 786
789 if (spi_dv_device_compare_inquiry(sdev, buffer, buffer, DV_LOOPS) 787 if (spi_dv_device_compare_inquiry(sdev, buffer, buffer, DV_LOOPS)
790 != SPI_COMPARE_SUCCESS) { 788 != SPI_COMPARE_SUCCESS) {
791 SPI_PRINTK(starget, KERN_ERR, "Domain Validation Initial Inquiry Failed\n"); 789 starget_printk(KERN_ERR, starget, "Domain Validation Initial Inquiry Failed\n");
792 /* FIXME: should probably offline the device here? */ 790 /* FIXME: should probably offline the device here? */
793 return; 791 return;
794 } 792 }
@@ -802,7 +800,7 @@ spi_dv_device_internal(struct scsi_device *sdev, u8 *buffer)
802 buffer + len, 800 buffer + len,
803 DV_LOOPS) 801 DV_LOOPS)
804 != SPI_COMPARE_SUCCESS) { 802 != SPI_COMPARE_SUCCESS) {
805 SPI_PRINTK(starget, KERN_ERR, "Wide Transfers Fail\n"); 803 starget_printk(KERN_ERR, starget, "Wide Transfers Fail\n");
806 i->f->set_width(starget, 0); 804 i->f->set_width(starget, 0);
807 } 805 }
808 } 806 }
@@ -844,14 +842,14 @@ spi_dv_device_internal(struct scsi_device *sdev, u8 *buffer)
844 } 842 }
845 843
846 if (len == 0) { 844 if (len == 0) {
847 SPI_PRINTK(starget, KERN_INFO, "Domain Validation skipping write tests\n"); 845 starget_printk(KERN_INFO, starget, "Domain Validation skipping write tests\n");
848 spi_dv_retrain(sdev, buffer, buffer + len, 846 spi_dv_retrain(sdev, buffer, buffer + len,
849 spi_dv_device_compare_inquiry); 847 spi_dv_device_compare_inquiry);
850 return; 848 return;
851 } 849 }
852 850
853 if (len > SPI_MAX_ECHO_BUFFER_SIZE) { 851 if (len > SPI_MAX_ECHO_BUFFER_SIZE) {
854 SPI_PRINTK(starget, KERN_WARNING, "Echo buffer size %d is too big, trimming to %d\n", len, SPI_MAX_ECHO_BUFFER_SIZE); 852 starget_printk(KERN_WARNING, starget, "Echo buffer size %d is too big, trimming to %d\n", len, SPI_MAX_ECHO_BUFFER_SIZE);
855 len = SPI_MAX_ECHO_BUFFER_SIZE; 853 len = SPI_MAX_ECHO_BUFFER_SIZE;
856 } 854 }
857 855
@@ -902,11 +900,11 @@ spi_dv_device(struct scsi_device *sdev)
902 spi_dv_pending(starget) = 1; 900 spi_dv_pending(starget) = 1;
903 down(&spi_dv_sem(starget)); 901 down(&spi_dv_sem(starget));
904 902
905 SPI_PRINTK(starget, KERN_INFO, "Beginning Domain Validation\n"); 903 starget_printk(KERN_INFO, starget, "Beginning Domain Validation\n");
906 904
907 spi_dv_device_internal(sdev, buffer); 905 spi_dv_device_internal(sdev, buffer);
908 906
909 SPI_PRINTK(starget, KERN_INFO, "Ending Domain Validation\n"); 907 starget_printk(KERN_INFO, starget, "Ending Domain Validation\n");
910 908
911 up(&spi_dv_sem(starget)); 909 up(&spi_dv_sem(starget));
912 spi_dv_pending(starget) = 0; 910 spi_dv_pending(starget) = 0;
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 98da5c8057bf..9de8e186cb69 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -1534,8 +1534,8 @@ static int sd_probe(struct device *dev)
1534 if (sdp->type != TYPE_DISK && sdp->type != TYPE_MOD && sdp->type != TYPE_RBC) 1534 if (sdp->type != TYPE_DISK && sdp->type != TYPE_MOD && sdp->type != TYPE_RBC)
1535 goto out; 1535 goto out;
1536 1536
1537 SCSI_LOG_HLQUEUE(3, printk("sd_attach: scsi device: <%d,%d,%d,%d>\n", 1537 SCSI_LOG_HLQUEUE(3, sdev_printk(KERN_INFO, sdp,
1538 sdp->host->host_no, sdp->channel, sdp->id, sdp->lun)); 1538 "sd_attach\n"));
1539 1539
1540 error = -ENOMEM; 1540 error = -ENOMEM;
1541 sdkp = kmalloc(sizeof(*sdkp), GFP_KERNEL); 1541 sdkp = kmalloc(sizeof(*sdkp), GFP_KERNEL);
@@ -1607,10 +1607,8 @@ static int sd_probe(struct device *dev)
1607 dev_set_drvdata(dev, sdkp); 1607 dev_set_drvdata(dev, sdkp);
1608 add_disk(gd); 1608 add_disk(gd);
1609 1609
1610 printk(KERN_NOTICE "Attached scsi %sdisk %s at scsi%d, channel %d, " 1610 sdev_printk(KERN_NOTICE, sdp, "Attached scsi %sdisk %s\n",
1611 "id %d, lun %d\n", sdp->removable ? "removable " : "", 1611 sdp->removable ? "removable " : "", gd->disk_name);
1612 gd->disk_name, sdp->host->host_no, sdp->channel,
1613 sdp->id, sdp->lun);
1614 1612
1615 return 0; 1613 return 0;
1616 1614
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index fd56b7ec88b6..49b9269d487a 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -1497,10 +1497,9 @@ static int sg_alloc(struct gendisk *disk, struct scsi_device *scsidp)
1497 1497
1498 overflow: 1498 overflow:
1499 write_unlock_irqrestore(&sg_dev_arr_lock, iflags); 1499 write_unlock_irqrestore(&sg_dev_arr_lock, iflags);
1500 printk(KERN_WARNING 1500 sdev_printk(KERN_WARNING, scsidp,
1501 "Unable to attach sg device <%d, %d, %d, %d> type=%d, minor " 1501 "Unable to attach sg device type=%d, minor "
1502 "number exceeds %d\n", scsidp->host->host_no, scsidp->channel, 1502 "number exceeds %d\n", scsidp->type, SG_MAX_DEVS - 1);
1503 scsidp->id, scsidp->lun, scsidp->type, SG_MAX_DEVS - 1);
1504 error = -ENODEV; 1503 error = -ENODEV;
1505 goto out; 1504 goto out;
1506} 1505}
@@ -1566,11 +1565,8 @@ sg_add(struct class_device *cl_dev)
1566 } else 1565 } else
1567 printk(KERN_WARNING "sg_add: sg_sys INvalid\n"); 1566 printk(KERN_WARNING "sg_add: sg_sys INvalid\n");
1568 1567
1569 printk(KERN_NOTICE 1568 sdev_printk(KERN_NOTICE, scsidp,
1570 "Attached scsi generic sg%d at scsi%d, channel" 1569 "Attached scsi generic sg%d type %d\n", k,scsidp->type);
1571 " %d, id %d, lun %d, type %d\n", k,
1572 scsidp->host->host_no, scsidp->channel, scsidp->id,
1573 scsidp->lun, scsidp->type);
1574 1570
1575 return 0; 1571 return 0;
1576 1572
diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
index 561901b1cf11..9e267c6d3a43 100644
--- a/drivers/scsi/sr.c
+++ b/drivers/scsi/sr.c
@@ -360,7 +360,7 @@ static int sr_init_command(struct scsi_cmnd * SCpnt)
360 } 360 }
361 361
362 if (s_size != 512 && s_size != 1024 && s_size != 2048) { 362 if (s_size != 512 && s_size != 1024 && s_size != 2048) {
363 printk("sr: bad sector size %d\n", s_size); 363 sdev_printk(KERN_ERR, SCpnt->device, "bad sector size %d\n", s_size);
364 return 0; 364 return 0;
365 } 365 }
366 366
@@ -385,8 +385,9 @@ static int sr_init_command(struct scsi_cmnd * SCpnt)
385 size += sg[i].length; 385 size += sg[i].length;
386 386
387 if (size != SCpnt->request_bufflen && SCpnt->use_sg) { 387 if (size != SCpnt->request_bufflen && SCpnt->use_sg) {
388 printk(KERN_ERR "sr: mismatch count %d, bytes %d\n", 388 sdev_printk(KERN_ERR, SCpnt->device,
389 size, SCpnt->request_bufflen); 389 "mismatch count %d, bytes %d\n",
390 size, SCpnt->request_bufflen);
390 if (SCpnt->request_bufflen > size) 391 if (SCpnt->request_bufflen > size)
391 SCpnt->request_bufflen = SCpnt->bufflen = size; 392 SCpnt->request_bufflen = SCpnt->bufflen = size;
392 } 393 }
@@ -397,7 +398,7 @@ static int sr_init_command(struct scsi_cmnd * SCpnt)
397 */ 398 */
398 if (((unsigned int)SCpnt->request->sector % (s_size >> 9)) || 399 if (((unsigned int)SCpnt->request->sector % (s_size >> 9)) ||
399 (SCpnt->request_bufflen % s_size)) { 400 (SCpnt->request_bufflen % s_size)) {
400 printk("sr: unaligned transfer\n"); 401 sdev_printk(KERN_NOTICE, SCpnt->device, "unaligned transfer\n");
401 return 0; 402 return 0;
402 } 403 }
403 404
@@ -622,10 +623,8 @@ static int sr_probe(struct device *dev)
622 disk->flags |= GENHD_FL_REMOVABLE; 623 disk->flags |= GENHD_FL_REMOVABLE;
623 add_disk(disk); 624 add_disk(disk);
624 625
625 printk(KERN_DEBUG 626 sdev_printk(KERN_DEBUG, sdev,
626 "Attached scsi CD-ROM %s at scsi%d, channel %d, id %d, lun %d\n", 627 "Attached scsi CD-ROM %s\n", cd->cdi.name);
627 cd->cdi.name, sdev->host->host_no, sdev->channel,
628 sdev->id, sdev->lun);
629 return 0; 628 return 0;
630 629
631fail_put: 630fail_put:
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
index 927d700f0073..dc5ffc16a252 100644
--- a/drivers/scsi/st.c
+++ b/drivers/scsi/st.c
@@ -3887,9 +3887,8 @@ static int st_probe(struct device *dev)
3887 if (SDp->type != TYPE_TAPE) 3887 if (SDp->type != TYPE_TAPE)
3888 return -ENODEV; 3888 return -ENODEV;
3889 if ((stp = st_incompatible(SDp))) { 3889 if ((stp = st_incompatible(SDp))) {
3890 printk(KERN_INFO 3890 sdev_printk(KERN_INFO, SDp,
3891 "st: Found incompatible tape at scsi%d, channel %d, id %d, lun %d\n", 3891 "Found incompatible tape\n");
3892 SDp->host->host_no, SDp->channel, SDp->id, SDp->lun);
3893 printk(KERN_INFO "st: The suggested driver is %s.\n", stp); 3892 printk(KERN_INFO "st: The suggested driver is %s.\n", stp);
3894 return -ENODEV; 3893 return -ENODEV;
3895 } 3894 }
@@ -4077,9 +4076,8 @@ static int st_probe(struct device *dev)
4077 } 4076 }
4078 disk->number = devfs_register_tape(SDp->devfs_name); 4077 disk->number = devfs_register_tape(SDp->devfs_name);
4079 4078
4080 printk(KERN_WARNING 4079 sdev_printk(KERN_WARNING, SDp,
4081 "Attached scsi tape %s at scsi%d, channel %d, id %d, lun %d\n", 4080 "Attached scsi tape %s", tape_name(tpnt));
4082 tape_name(tpnt), SDp->host->host_no, SDp->channel, SDp->id, SDp->lun);
4083 printk(KERN_WARNING "%s: try direct i/o: %s (alignment %d B), max page reachable by HBA %lu\n", 4081 printk(KERN_WARNING "%s: try direct i/o: %s (alignment %d B), max page reachable by HBA %lu\n",
4084 tape_name(tpnt), tpnt->try_dio ? "yes" : "no", 4082 tape_name(tpnt), tpnt->try_dio ? "yes" : "no",
4085 queue_dma_alignment(SDp->request_queue) + 1, tpnt->max_pfn); 4083 queue_dma_alignment(SDp->request_queue) + 1, tpnt->max_pfn);
diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h
index 7ece05666feb..7f621ab2865d 100644
--- a/include/scsi/scsi_device.h
+++ b/include/scsi/scsi_device.h
@@ -148,6 +148,9 @@ struct scsi_device {
148#define transport_class_to_sdev(class_dev) \ 148#define transport_class_to_sdev(class_dev) \
149 to_scsi_device(class_dev->dev) 149 to_scsi_device(class_dev->dev)
150 150
151#define sdev_printk(prefix, sdev, fmt, a...) \
152 dev_printk(prefix, &(sdev)->sdev_gendev, fmt, ##a)
153
151/* 154/*
152 * scsi_target: representation of a scsi target, for now, this is only 155 * scsi_target: representation of a scsi target, for now, this is only
153 * used for single_lun devices. If no one has active IO to the target, 156 * used for single_lun devices. If no one has active IO to the target,
@@ -177,6 +180,9 @@ static inline struct scsi_target *scsi_target(struct scsi_device *sdev)
177#define transport_class_to_starget(class_dev) \ 180#define transport_class_to_starget(class_dev) \
178 to_scsi_target(class_dev->dev) 181 to_scsi_target(class_dev->dev)
179 182
183#define starget_printk(prefix, starget, fmt, a...) \
184 dev_printk(prefix, &(starget)->dev, fmt, ##a)
185
180extern struct scsi_device *__scsi_add_device(struct Scsi_Host *, 186extern struct scsi_device *__scsi_add_device(struct Scsi_Host *,
181 uint, uint, uint, void *hostdata); 187 uint, uint, uint, void *hostdata);
182extern int scsi_add_device(struct Scsi_Host *host, uint channel, 188extern int scsi_add_device(struct Scsi_Host *host, uint channel,
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h
index 69313ba7505b..ea7ad7235397 100644
--- a/include/scsi/scsi_host.h
+++ b/include/scsi/scsi_host.h
@@ -609,6 +609,10 @@ struct Scsi_Host {
609#define class_to_shost(d) \ 609#define class_to_shost(d) \
610 container_of(d, struct Scsi_Host, shost_classdev) 610 container_of(d, struct Scsi_Host, shost_classdev)
611 611
612#define shost_printk(prefix, shost, fmt, a...) \
613 dev_printk(prefix, &(shost)->shost_gendev, fmt, ##a)
614
615
612int scsi_is_host_device(const struct device *); 616int scsi_is_host_device(const struct device *);
613 617
614static inline struct Scsi_Host *dev_to_shost(struct device *dev) 618static inline struct Scsi_Host *dev_to_shost(struct device *dev)