linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-m68k@vger.kernel.org, linux-kernel@vger.kernel.org,
	"James E.J. Bottomley" <James.Bottomley@SteelEye.com>,
	Roman Zippel <zippel@linux-m68k.org>
Subject: [patch 03/33] m68k: Atari SCSI driver compile fixes
Date: Tue, 01 May 2007 22:32:37 +0200	[thread overview]
Message-ID: <20070501203329.565844275@mail.of.borg> (raw)
In-Reply-To: 20070501203234.252205858@mail.of.borg

[-- Attachment #1: atari-scsi-compile-fixes.diff --]
[-- Type: text/plain, Size: 10740 bytes --]

From: Roman Zippel <zippel@linux-m68k.org>

Atari SCSI driver compile fixes

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/scsi/atari_NCR5380.c |   33 +++++----
 drivers/scsi/atari_scsi.c    |    6 -
 drivers/scsi/atari_scsi.h    |  144 ++++++++-----------------------------------
 3 files changed, 49 insertions(+), 134 deletions(-)

--- linux-m68k-2.6.21.orig/drivers/scsi/atari_NCR5380.c
+++ linux-m68k-2.6.21/drivers/scsi/atari_NCR5380.c
@@ -272,8 +272,9 @@ static struct scsi_host_template *the_te
 	(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(Scs
 	     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_Cm
 	 * 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_Cm
 	}
 	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
 
 						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
 					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
 			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 *
 
 	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);
 	}
--- linux-m68k-2.6.21.orig/drivers/scsi/atari_scsi.c
+++ linux-m68k-2.6.21/drivers/scsi/atari_scsi.c
@@ -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 */
--- linux-m68k-2.6.21.orig/drivers/scsi/atari_scsi.h
+++ linux-m68k-2.6.21/drivers/scsi/atari_scsi.h
@@ -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} */
 

--
Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


  parent reply	other threads:[~2007-05-01 20:43 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-01 20:32 [patch 00/33] m68k patches for 2.6.22 Geert Uytterhoeven
2007-05-01 20:32 ` [patch 01/33] m68k: Atari SCSI revival Geert Uytterhoeven
2007-05-01 20:46   ` Christoph Hellwig
2007-05-01 20:32 ` [patch 02/33] m68k: Reformat the Atari SCSI driver Geert Uytterhoeven
2007-05-01 20:32 ` Geert Uytterhoeven [this message]
2007-05-01 20:32 ` [patch 04/33] m68k: Atari keyboard and mouse support Geert Uytterhoeven
2007-05-01 20:57   ` Christoph Hellwig
2007-05-01 21:09     ` Dmitry Torokhov
2007-05-03 10:34       ` Michael Schmitz
2007-05-03 10:47     ` Michael Schmitz
2007-05-03 10:50       ` Christoph Hellwig
2007-05-03 10:54         ` Michael Schmitz
2007-05-01 20:32 ` [patch 05/33] m68k: Atari fb revival Geert Uytterhoeven
2007-05-01 21:50   ` Antonino A. Daplas
2007-05-02 20:01     ` James Simmons
2007-05-03 10:33       ` Michael Schmitz
2007-05-01 20:32 ` [patch 06/33] m68k: CROSS_COMPILE = m68k-linux-gnu- Geert Uytterhoeven
2007-05-01 22:56   ` Ville Syrjälä
2007-05-06 11:26     ` Geert Uytterhoeven
2007-05-06 12:55       ` Ville Syrjälä
2007-05-01 20:32 ` [patch 07/33] m68k: Mac89x0 Ethernet netif updates Geert Uytterhoeven
2007-05-01 20:57   ` Jeff Garzik
2007-05-01 20:32 ` [patch 08/33] lockdep: Add missing disable/enable irq variant Geert Uytterhoeven
2007-05-01 20:32 ` [patch 09/33] m68k: reformat various m68k files Geert Uytterhoeven
2007-05-01 20:32 ` [patch 10/33] hilkbd: Kill compiler warning and fix comment dyslexia Geert Uytterhoeven
2007-05-01 20:32 ` [patch 11/33] m68k: early parameter support Geert Uytterhoeven
2007-05-01 20:32 ` [patch 12/33] m68k: make Atari IDE lock reentrant Geert Uytterhoeven
2007-05-01 20:32 ` [patch 13/33] m68k: Correct number of interrupts for Sun3 Geert Uytterhoeven
2007-05-01 20:32 ` [patch 14/33] m68k: Atari SCSI workqueue updates Geert Uytterhoeven
2007-05-01 20:32 ` [patch 15/33] m68k: pmu_queue_request() declaration conflict Geert Uytterhoeven
2007-05-01 20:32 ` [patch 16/33] m68k: Amiga A2065 and Ariadne TX statistics Geert Uytterhoeven
2007-05-01 20:32 ` [patch 17/33] m68k: remove unused adb.h Geert Uytterhoeven
2007-05-01 20:32 ` [patch 18/33] m68k: Mac interrupt priorities Geert Uytterhoeven
2007-05-01 20:32 ` [patch 19/33] NuBus header update Geert Uytterhoeven
2007-05-02 19:47   ` James Simmons
2007-05-03  2:14     ` Brad Boyer
2007-05-01 20:32 ` [patch 20/33] m68k: Mac DP8390 update Geert Uytterhoeven
2007-05-01 20:32 ` [patch 21/33] m68k: reverse Mac IRQ damage Geert Uytterhoeven
2007-05-01 20:32 ` [patch 22/33] m68k: Mac IRQ prep Geert Uytterhoeven
2007-05-01 20:32 ` [patch 23/33] m68k: Mac nubus IRQ fixes (plan E) Geert Uytterhoeven
2007-05-01 20:32 ` [patch 24/33] m68k: Mac IRQ cleanup Geert Uytterhoeven
2007-05-01 20:32 ` [patch 25/33] m68k: Mac II ADB fixes Geert Uytterhoeven
2007-05-01 20:33 ` [patch 26/33] CUDA " Geert Uytterhoeven
2007-05-01 20:33 ` [patch 27/33] m68k: macmace fixes Geert Uytterhoeven
2007-05-01 20:33 ` [patch 28/33] SONIC: small fix and cleanup Geert Uytterhoeven
2007-05-01 20:33 ` [patch 29/33] SONIC interrupt handling Geert Uytterhoeven
2007-05-01 21:12   ` Christoph Hellwig
2007-05-02  2:55     ` [patch 29/33] SONIC interrupt handling, v4 Finn Thain
2007-05-01 20:33 ` [patch 30/33] Amiga Zorro bus: kill resource_size_t warnings Geert Uytterhoeven
2007-05-01 20:33 ` [patch 31/33] m68k: kill skb_copy_from_linear_data compiler warnings Geert Uytterhoeven
2007-05-01 20:33 ` [patch 32/33] m68k: export csum_partial_copy_from_user Geert Uytterhoeven
2007-05-01 20:33 ` [patch 33/33] Convert non-highmem kmap_atomic() to static inline function Geert Uytterhoeven
2007-05-01 20:49 ` [patch 00/33] m68k patches for 2.6.22 Christoph Hellwig
2007-05-03  1:27   ` Roman Zippel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070501203329.565844275@mail.of.borg \
    --to=geert@linux-m68k.org \
    --cc=James.Bottomley@SteelEye.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=zippel@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).