m68k: Atari SCSI driver compile fixes
authorRoman Zippel <zippel@linux-m68k.org>
Tue, 1 May 2007 20:32:37 +0000 (22:32 +0200)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sat, 5 May 2007 00:59:05 +0000 (17:59 -0700)
Atari SCSI driver compile fixes

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/scsi/atari_NCR5380.c
drivers/scsi/atari_scsi.c
drivers/scsi/atari_scsi.h

index 81e4f566b6c8f378f264bca5a5a2632c4e0eb595..c912733ac077c07e5d98d12d5f26fefe177e0053 100644 (file)
@@ -272,8 +272,9 @@ static struct scsi_host_template *the_template = NULL;
        (struct NCR5380_hostdata *)(in)->hostdata
 #define        HOSTDATA(in) ((struct NCR5380_hostdata *)(in)->hostdata)
 
-#define        NEXT(cmd)       ((cmd)->host_scribble)
-#define        NEXTADDR(cmd)   ((Scsi_Cmnd **)&((cmd)->host_scribble))
+#define        NEXT(cmd)               ((Scsi_Cmnd *)(cmd)->host_scribble)
+#define        SET_NEXT(cmd,next)      ((cmd)->host_scribble = (void *)(next))
+#define        NEXTADDR(cmd)           ((Scsi_Cmnd **)&(cmd)->host_scribble)
 
 #define        HOSTNO          instance->host_no
 #define        H_NO(cmd)       (cmd)->device->host->host_no
@@ -479,7 +480,7 @@ static void merge_contiguous_buffers(Scsi_Cmnd *cmd)
             virt_to_phys(page_address(cmd->SCp.buffer[1].page) +
                          cmd->SCp.buffer[1].offset) == endaddr;) {
                MER_PRINTK("VTOP(%p) == %08lx -> merging\n",
-                          cmd->SCp.buffer[1].address, endaddr);
+                          page_address(cmd->SCp.buffer[1].page), endaddr);
 #if (NDEBUG & NDEBUG_MERGING)
                ++cnt;
 #endif
@@ -1002,7 +1003,7 @@ static int NCR5380_queue_command(Scsi_Cmnd *cmd, void (*done)(Scsi_Cmnd *))
         * in a queue
         */
 
-       NEXT(cmd) = NULL;
+       SET_NEXT(cmd, NULL);
        cmd->scsi_done = done;
 
        cmd->result = 0;
@@ -1034,14 +1035,14 @@ static int NCR5380_queue_command(Scsi_Cmnd *cmd, void (*done)(Scsi_Cmnd *))
        }
        if (!(hostdata->issue_queue) || (cmd->cmnd[0] == REQUEST_SENSE)) {
                LIST(cmd, hostdata->issue_queue);
-               NEXT(cmd) = hostdata->issue_queue;
+               SET_NEXT(cmd, hostdata->issue_queue);
                hostdata->issue_queue = cmd;
        } else {
                for (tmp = (Scsi_Cmnd *)hostdata->issue_queue;
                     NEXT(tmp); tmp = NEXT(tmp))
                        ;
                LIST(cmd, tmp);
-               NEXT(tmp) = cmd;
+               SET_NEXT(tmp, cmd);
        }
        local_irq_restore(flags);
 
@@ -1149,12 +1150,12 @@ static void NCR5380_main(void *bl)
                                        local_irq_disable();
                                        if (prev) {
                                                REMOVE(prev, NEXT(prev), tmp, NEXT(tmp));
-                                               NEXT(prev) = NEXT(tmp);
+                                               SET_NEXT(prev, NEXT(tmp));
                                        } else {
                                                REMOVE(-1, hostdata->issue_queue, tmp, NEXT(tmp));
                                                hostdata->issue_queue = NEXT(tmp);
                                        }
-                                       NEXT(tmp) = NULL;
+                                       SET_NEXT(tmp, NULL);
                                        falcon_dont_release++;
 
                                        /* reenable interrupts after finding one */
@@ -1192,7 +1193,7 @@ static void NCR5380_main(void *bl)
                                        } else {
                                                local_irq_disable();
                                                LIST(tmp, hostdata->issue_queue);
-                                               NEXT(tmp) = hostdata->issue_queue;
+                                               SET_NEXT(tmp, hostdata->issue_queue);
                                                hostdata->issue_queue = tmp;
 #ifdef SUPPORT_TAGS
                                                cmd_free_tag(tmp);
@@ -2295,7 +2296,7 @@ static void NCR5380_information_transfer(struct Scsi_Host *instance)
 
                                                local_irq_save(flags);
                                                LIST(cmd,hostdata->issue_queue);
-                                               NEXT(cmd) = hostdata->issue_queue;
+                                               SET_NEXT(cmd, hostdata->issue_queue);
                                                hostdata->issue_queue = (Scsi_Cmnd *) cmd;
                                                local_irq_restore(flags);
                                                QU_PRINTK("scsi%d: REQUEST SENSE added to head of "
@@ -2357,7 +2358,7 @@ static void NCR5380_information_transfer(struct Scsi_Host *instance)
                                        local_irq_save(flags);
                                        cmd->device->disconnect = 1;
                                        LIST(cmd,hostdata->disconnected_queue);
-                                       NEXT(cmd) = hostdata->disconnected_queue;
+                                       SET_NEXT(cmd, hostdata->disconnected_queue);
                                        hostdata->connected = NULL;
                                        hostdata->disconnected_queue = cmd;
                                        local_irq_restore(flags);
@@ -2632,12 +2633,12 @@ static void NCR5380_reselect(struct Scsi_Host *instance)
                        falcon_dont_release++;
                        if (prev) {
                                REMOVE(prev, NEXT(prev), tmp, NEXT(tmp));
-                               NEXT(prev) = NEXT(tmp);
+                               SET_NEXT(prev, NEXT(tmp));
                        } else {
                                REMOVE(-1, hostdata->disconnected_queue, tmp, NEXT(tmp));
                                hostdata->disconnected_queue = NEXT(tmp);
                        }
-                       NEXT(tmp) = NULL;
+                       SET_NEXT(tmp, NULL);
                        break;
                }
        }
@@ -2769,7 +2770,7 @@ int NCR5380_abort(Scsi_Cmnd *cmd)
                if (cmd == tmp) {
                        REMOVE(5, *prev, tmp, NEXT(tmp));
                        (*prev) = NEXT(tmp);
-                       NEXT(tmp) = NULL;
+                       SET_NEXT(tmp, NULL);
                        tmp->result = DID_ABORT << 16;
                        local_irq_restore(flags);
                        ABRT_PRINTK("scsi%d: abort removed command from issue queue.\n",
@@ -2844,7 +2845,7 @@ int NCR5380_abort(Scsi_Cmnd *cmd)
                                if (cmd == tmp) {
                                        REMOVE(5, *prev, tmp, NEXT(tmp));
                                        *prev = NEXT(tmp);
-                                       NEXT(tmp) = NULL;
+                                       SET_NEXT(tmp, NULL);
                                        tmp->result = DID_ABORT << 16;
                                        /* We must unlock the tag/LUN immediately here, since the
                                         * target goes to BUS FREE and doesn't send us another
@@ -2965,7 +2966,7 @@ static int NCR5380_bus_reset(Scsi_Cmnd *cmd)
 
        for (i = 0; (cmd = disconnected_queue); ++i) {
                disconnected_queue = NEXT(cmd);
-               NEXT(cmd) = NULL;
+               SET_NEXT(cmd, NULL);
                cmd->result = (cmd->result & 0xffff) | (DID_RESET << 16);
                cmd->scsi_done(cmd);
        }
index f766d0d81c99c1d8f1f9c045b6b6e4668c628db7..6f8403b82ba1b9a861af804b6a655bbea00060ea 100644 (file)
@@ -69,9 +69,9 @@
 
 #define NDEBUG (0)
 
-#define NDEBUG_ABORT   0x800000
-#define NDEBUG_TAGS    0x1000000
-#define NDEBUG_MERGING 0x2000000
+#define NDEBUG_ABORT           0x00100000
+#define NDEBUG_TAGS            0x00200000
+#define NDEBUG_MERGING         0x00400000
 
 #define AUTOSENSE
 /* For the Atari version, use only polled IO or REAL_DMA */
index 75b549b2dfc1a45b9f457ed4ada93868b4cdd4bc..efadb8d567c255a443f030c940a2b322d7d2ced2 100644 (file)
@@ -113,144 +113,58 @@ int atari_scsi_release (struct Scsi_Host *);
  *
  */
 
-#if NDEBUG & NDEBUG_ARBITRATION
+#define dprint(flg, format...)                 \
+({                                             \
+       if (NDEBUG & (flg))                     \
+               printk(KERN_DEBUG format);      \
+})
+
 #define ARB_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define ARB_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_AUTOSENSE
+       dprint(NDEBUG_ARBITRATION, format , ## args)
 #define ASEN_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define ASEN_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_DMA
+       dprint(NDEBUG_AUTOSENSE, format , ## args)
 #define DMA_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define DMA_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_HANDSHAKE
+       dprint(NDEBUG_DMA, format , ## args)
 #define HSH_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define HSH_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_INFORMATION
+       dprint(NDEBUG_HANDSHAKE, format , ## args)
 #define INF_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define INF_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_INIT
+       dprint(NDEBUG_INFORMATION, format , ## args)
 #define INI_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define INI_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_INTR
+       dprint(NDEBUG_INIT, format , ## args)
 #define INT_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define INT_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_LINKED
+       dprint(NDEBUG_INTR, format , ## args)
 #define LNK_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define LNK_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_MAIN
+       dprint(NDEBUG_LINKED, format , ## args)
 #define MAIN_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define MAIN_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_NO_DATAOUT
+       dprint(NDEBUG_MAIN, format , ## args)
 #define NDAT_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define NDAT_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_NO_WRITE
+       dprint(NDEBUG_NO_DATAOUT, format , ## args)
 #define NWR_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define NWR_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_PIO
+       dprint(NDEBUG_NO_WRITE, format , ## args)
 #define PIO_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define PIO_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_PSEUDO_DMA
+       dprint(NDEBUG_PIO, format , ## args)
 #define PDMA_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define PDMA_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_QUEUES
+       dprint(NDEBUG_PSEUDO_DMA, format , ## args)
 #define QU_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define QU_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_RESELECTION
+       dprint(NDEBUG_QUEUES, format , ## args)
 #define RSL_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define RSL_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_SELECTION
+       dprint(NDEBUG_RESELECTION, format , ## args)
 #define SEL_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define SEL_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_USLEEP
+       dprint(NDEBUG_SELECTION, format , ## args)
 #define USL_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define USL_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_LAST_BYTE_SENT
+       dprint(NDEBUG_USLEEP, format , ## args)
 #define LBS_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define LBS_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_RESTART_SELECT
+       dprint(NDEBUG_LAST_BYTE_SENT, format , ## args)
 #define RSS_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define RSS_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_EXTENDED
+       dprint(NDEBUG_RESTART_SELECT, format , ## args)
 #define EXT_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define EXT_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_ABORT
+       dprint(NDEBUG_EXTENDED, format , ## args)
 #define ABRT_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define ABRT_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_TAGS
+       dprint(NDEBUG_ABORT, format , ## args)
 #define TAG_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define TAG_PRINTK(format, args...)
-#endif
-#if NDEBUG & NDEBUG_MERGING
+       dprint(NDEBUG_TAGS, format , ## args)
 #define MER_PRINTK(format, args...) \
-       printk(KERN_DEBUG format , ## args)
-#else
-#define MER_PRINTK(format, args...)
-#endif
+       dprint(NDEBUG_MERGING, format , ## args)
 
 /* conditional macros for NCR5380_print_{,phase,status} */