summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/seagate.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-10-09 00:00:47 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-10-09 00:00:47 +0000
commitd6434e1042f3b0a6dfe1b1f615af369486f9b1fa (patch)
treee2be02f33984c48ec019c654051d27964e42c441 /drivers/scsi/seagate.c
parent609d1e803baf519487233b765eb487f9ec227a18 (diff)
Merge with 2.3.19.
Diffstat (limited to 'drivers/scsi/seagate.c')
-rw-r--r--drivers/scsi/seagate.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/drivers/scsi/seagate.c b/drivers/scsi/seagate.c
index ebfd9dda9..f2575a211 100644
--- a/drivers/scsi/seagate.c
+++ b/drivers/scsi/seagate.c
@@ -83,7 +83,7 @@
#include <asm/io.h>
#include <asm/system.h>
-#include <asm/spinlock.h>
+#include <linux/spinlock.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/string.h>
@@ -1216,6 +1216,9 @@ static int internal_command (unsigned char target, unsigned char lun,
/* SJT: Start. Slow Write. */
#ifdef SEAGATE_USE_ASM
+
+int __dummy_1,__dummy_2;
+
/*
* We loop as long as we are in a data out phase, there is data to send,
* and BSY is still active.
@@ -1246,9 +1249,9 @@ static int internal_command (unsigned char target, unsigned char lun,
"movb %%al, (%%edi)\n\t"
"loop 1b\n\t"
"2:\n"
-/* output */ : "=S" (data), "=c" (len)
-/* input */ : "0" (data), "1" (len), "b" (phys_to_virt(st0x_cr_sr)), "D" (phys_to_virt(st0x_dr))
-/* clobbered */ : "eax", "ebx", "edi");
+/* output */ : "=S" (data), "=c" (len) ,"=b" (__dummy_1) ,"=D" (__dummy_2)
+/* input */ : "0" (data), "1" (len), "2" (phys_to_virt(st0x_cr_sr)), "3" (phys_to_virt(st0x_dr))
+/* clobbered */ : "eax");
#else /* SEAGATE_USE_ASM */
while (len)
{
@@ -1374,6 +1377,11 @@ static int internal_command (unsigned char target, unsigned char lun,
/* SJT: Start. */
#ifdef SEAGATE_USE_ASM
+
+int __dummy_3,__dummy_4;
+
+/* Dummy clobbering variables for the new gcc-2.95 */
+
/*
* We loop as long as we are in a data in phase, there is room to read,
* and BSY is still active
@@ -1405,9 +1413,9 @@ static int internal_command (unsigned char target, unsigned char lun,
"stosb\n\t"
"loop 1b\n\t"
"2:\n"
-/* output */ : "=D" (data), "=c" (len)
-/* input */ : "0" (data), "1" (len), "S" (phys_to_virt(st0x_cr_sr)), "b" (phys_to_virt(st0x_dr))
-/* clobbered */ : "eax","ebx", "esi");
+/* output */ : "=D" (data), "=c" (len) ,"=S" (__dummy_3) ,"=b" (__dummy_4)
+/* input */ : "0" (data), "1" (len), "2" (phys_to_virt(st0x_cr_sr)), "3" (phys_to_virt(st0x_dr))
+/* clobbered */ : "eax" );
#else /* SEAGATE_USE_ASM */
while (len)
{