[SCSI] scsi_scan.c: fix compile warnings
authorakpm@osdl.org <akpm@osdl.org>
Sat, 15 Apr 2006 07:30:24 +0000 (00:30 -0700)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Sat, 15 Apr 2006 14:04:40 +0000 (09:04 -0500)
drivers/scsi/scsi_scan.c: In function `scsi_probe_and_add_lun':
drivers/scsi/scsi_scan.c:926: warning: unused variable `vend'
drivers/scsi/scsi_scan.c:926: warning: unused variable `mod'
drivers/scsi/scsi_scan.c: At top level:
drivers/scsi/scsi_scan.c:829: warning: `scsi_inq_str' defined but not used

Fix those, tighten up the (somewhat poorly-designed) logging macro and fix
some coding-style warts.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/scsi_logging.h
drivers/scsi/scsi_scan.c

index e1722ba945863490e657193798e21d4d8ed167fa..a3e2af6a846c732ac0298a26cc58a4ed29a5aa49 100644 (file)
@@ -45,10 +45,12 @@ extern unsigned int scsi_logging_level;
         ((scsi_logging_level >> (SHIFT)) & ((1 << (BITS)) - 1))
 
 #define SCSI_CHECK_LOGGING(SHIFT, BITS, LEVEL, CMD)            \
-{                                                              \
+do {                                                           \
         if (unlikely((SCSI_LOG_LEVEL(SHIFT, BITS)) > (LEVEL))) \
-               (CMD);                                          \
-}
+               do {                                            \
+                       CMD;                                    \
+               } while (0);                                    \
+} while (0)
 #else
 #define SCSI_CHECK_LOGGING(SHIFT, BITS, LEVEL, CMD)
 #endif /* CONFIG_SCSI_LOGGING */
index 5c7e51f9efed6501d5e0bf52a2bd41e5576f26ea..f85d9100f554ee7a232e177074a5c6ccf38a1046 100644 (file)
@@ -816,6 +816,7 @@ static inline void scsi_destroy_sdev(struct scsi_device *sdev)
        put_device(&sdev->sdev_gendev);
 }
 
+#ifdef CONFIG_SCSI_LOGGING
 /** 
  * scsi_inq_str - print INQUIRY data from min to max index,
  * strip trailing whitespace
@@ -824,12 +825,13 @@ static inline void scsi_destroy_sdev(struct scsi_device *sdev)
  * @first: Offset of string into inq
  * @end:   Index after last character in inq
  */
-static unsigned char* scsi_inq_str(unsigned char* buf, unsigned char *inq,
+static unsigned char *scsi_inq_str(unsigned char *buf, unsigned char *inq,
                                   unsigned first, unsigned end)
 {
        unsigned term = 0, idx;
-       for (idx = 0; idx+first < end && idx+first < inq[4]+5; ++idx) {
-               if (inq[idx+first] > 0x20) {
+
+       for (idx = 0; idx + first < end && idx + first < inq[4] + 5; idx++) {
+               if (inq[idx+first] > ' ') {
                        buf[idx] = inq[idx+first];
                        term = idx+1;
                } else {
@@ -839,6 +841,7 @@ static unsigned char* scsi_inq_str(unsigned char* buf, unsigned char *inq,
        buf[term] = 0;
        return buf;
 }
+#endif
 
 /**
  * scsi_probe_and_add_lun - probe a LUN, if a LUN is found add it
@@ -923,12 +926,16 @@ static int scsi_probe_and_add_lun(struct scsi_target *starget,
                                   " peripheral qualifier of 3, device not"
                                   " added\n"))
                if (lun == 0) {
-                       unsigned char vend[9], mod[17];
-                       SCSI_LOG_SCAN_BUS(1, sdev_printk(KERN_INFO, sdev,
+                       SCSI_LOG_SCAN_BUS(1, {
+                               unsigned char vend[9];
+                               unsigned char mod[17];
+
+                               sdev_printk(KERN_INFO, sdev,
                                        "scsi scan: consider passing scsi_mod."
                                        "dev_flags=%s:%s:0x240 or 0x800240\n",
                                        scsi_inq_str(vend, result, 8, 16),
-                                       scsi_inq_str(mod, result, 16, 32)));
+                                       scsi_inq_str(mod, result, 16, 32));
+                       });
                }
                
                res = SCSI_SCAN_TARGET_PRESENT;