Subject: Re: L68K: [2.1.33] doesn't compile...
To: linux-m68k@phil.uni-sb.de
Date: Tue, 15 Apr 1997 15:29:20 +0200 (MET DST)
From: Torsten Scherer <itschere@TechFak.Uni-Bielefeld.DE>
In-Reply-To: <d3ohbghhg9.fsf@cern.ch> from "Jes Sorensen" at Apr 15, 97 09:29:42 am
Sender: owner-linux-m68k@phil.uni-sb.de
Reply-To: linux-m68k@phil.uni-sb.de

Jes Sorensen writes:

> Please the patch appended below.

 So far so good, but additionally queue_task_irq() as needed by lots
of serial code seems to be gone. I think this was just a special case
when you were otherwise sure interrupts were already off. Hmmm,
someone in Linuxworld must have had the opinion that such a
performance gain is not worth being supported any longer. Suits those
200MHz+ SMP guys...

 Below is another set of patches to get it compiled (with less
warnings). They're ugly and don't really fix what seems to be new,
like rs_read_proc() taking an additional parameter "eof". Maybe it
would be better not to change this to let the "warning:" remind other
people to fix it?

ciao,
TeSche

diff -ur lll/arch/m68k/kernel/m68k_ksyms.c linux-2.1.33-m68k-tesche/arch/m68k/kernel/m68k_ksyms.c
--- lll/arch/m68k/kernel/m68k_ksyms.c	Tue Apr 15 14:26:45 1997
+++ linux-2.1.33-m68k-tesche/arch/m68k/kernel/m68k_ksyms.c	Tue Apr 15 14:48:11 1997
@@ -12,6 +12,7 @@
 #include <asm/pgtable.h>
 #include <asm/irq.h>
 #include <asm/semaphore.h>
+#include <linux/in6.h>
 #include <asm/checksum.h>
 
 asmlinkage long long __ashrdi3 (long long, int);
diff -ur lll/drivers/char/atari_MFPser.c linux-2.1.33-m68k-tesche/drivers/char/atari_MFPser.c
--- lll/drivers/char/atari_MFPser.c	Tue Apr 15 14:26:53 1997
+++ linux-2.1.33-m68k-tesche/drivers/char/atari_MFPser.c	Tue Apr 15 15:07:54 1997
@@ -1,5 +1,3 @@
-
-
 /*
  * drivers/char/atari_MFPser.c: Atari MFP serial ports implementation
  *
diff -ur lll/drivers/char/m68kserial.c linux-2.1.33-m68k-tesche/drivers/char/m68kserial.c
--- lll/drivers/char/m68kserial.c	Tue Apr 15 14:26:55 1997
+++ linux-2.1.33-m68k-tesche/drivers/char/m68kserial.c	Tue Apr 15 15:08:10 1997
@@ -151,7 +151,7 @@
 
 #ifdef CONFIG_PROC_FS
 static int rs_read_proc (char *buffer, char **start, off_t offset, int size,
-			 void *data)
+			 int *eof, void *data)
 {
     int len, i;
     off_t begin = 0;
diff -ur lll/drivers/net/ppp.c linux-2.1.33-m68k-tesche/drivers/net/ppp.c
--- lll/drivers/net/ppp.c	Tue Apr 15 14:27:25 1997
+++ linux-2.1.33-m68k-tesche/drivers/net/ppp.c	Tue Apr 15 14:42:58 1997
@@ -117,8 +117,10 @@
 #define PPP_LQR 0xc025	/* Link Quality Reporting Protocol */
 #endif
 
+#ifdef CONFIG_MODULES
 static int ppp_register_compressor (struct compressor *cp);
 static void ppp_unregister_compressor (struct compressor *cp);
+#endif
 
 /*
  * Local functions
diff -ur lll/drivers/sound/dmasound.c linux-2.1.33-m68k-tesche/drivers/sound/dmasound.c
--- lll/drivers/sound/dmasound.c	Tue Apr 15 14:27:50 1997
+++ linux-2.1.33-m68k-tesche/drivers/sound/dmasound.c	Tue Apr 15 14:45:27 1997
@@ -669,7 +669,7 @@
 
 static int sound_open(struct inode *inode, struct file *file);
 static int sound_fsync(struct inode *inode, struct file *filp);
-static void sound_release(struct inode *inode, struct file *file);
+static int sound_release(struct inode *inode, struct file *file);
 static long long sound_lseek(struct inode *inode, struct file *file,
			     long long offset, int orig);
 static long sound_read(struct inode *inode, struct file *file, char *buf,
@@ -3086,7 +3086,7 @@
 }
 
 
-static void sound_release(struct inode *inode, struct file *file)
+static int sound_release(struct inode *inode, struct file *file)
 {
     int dev = MINOR(inode->i_rdev);
 
@@ -3104,12 +3104,12 @@
	    sound_silence();
	    break;
	default:
-	    unknown_minor_dev("sound_release", dev);
-	    return;
+	    return(unknown_minor_dev("sound_release", dev));
     }
 #ifdef MODULE
     MOD_DEC_USE_COUNT;
 #endif
+    return 0;
 }
 
 
diff -ur lll/include/asm/serial.h linux-2.1.33-m68k-tesche/include/asm/serial.h
--- lll/include/asm/serial.h	Tue Apr 15 14:28:21 1997
+++ linux-2.1.33-m68k-tesche/include/asm/serial.h	Tue Apr 15 15:02:54 1997
@@ -286,7 +286,7 @@
 static __inline__ void rs_sched_event(struct async_struct *info, int event)
 {
	info->event |= 1 << event;
-	queue_task_irq(&info->tqueue, &tq_serial);
+	queue_task(&info->tqueue, &tq_serial);
	mark_bh(SERIAL_BH);
 }
 
@@ -305,7 +305,7 @@
	*tty->flip.flag_buf_ptr++ = err;
	*tty->flip.char_buf_ptr++ = ch;
	info->icount.rx++;
-	queue_task_irq(&tty->flip.tqueue, &tq_timer);
+	queue_task(&tty->flip.tqueue, &tq_timer);
 }
 
 static __inline__ int rs_get_tx_char( struct async_struct *info )
@@ -356,7 +356,7 @@
 #ifdef SERIAL_DEBUG_OPEN
			printk("scheduling hangup...");
 #endif
-			queue_task_irq(&info->tqueue_hangup,
+			queue_task(&info->tqueue_hangup,
				       &tq_scheduler);
		}
	}
diff -ur lll/include/asm-m68k/serial.h linux-2.1.33-m68k-tesche/include/asm-m68k/serial.h
--- lll/include/asm-m68k/serial.h	Tue Apr 15 14:28:07 1997
+++ linux-2.1.33-m68k-tesche/include/asm-m68k/serial.h	Tue Apr 15 15:02:54 1997
@@ -286,7 +286,7 @@
 static __inline__ void rs_sched_event(struct async_struct *info, int event)
 {
	info->event |= 1 << event;
-	queue_task_irq(&info->tqueue, &tq_serial);
+	queue_task(&info->tqueue, &tq_serial);
	mark_bh(SERIAL_BH);
 }
 
@@ -305,7 +305,7 @@
	*tty->flip.flag_buf_ptr++ = err;
	*tty->flip.char_buf_ptr++ = ch;
	info->icount.rx++;
-	queue_task_irq(&tty->flip.tqueue, &tq_timer);
+	queue_task(&tty->flip.tqueue, &tq_timer);
 }
 
 static __inline__ int rs_get_tx_char( struct async_struct *info )
@@ -356,7 +356,7 @@
 #ifdef SERIAL_DEBUG_OPEN
			printk("scheduling hangup...");
 #endif
-			queue_task_irq(&info->tqueue_hangup,
+			queue_task(&info->tqueue_hangup,
				       &tq_scheduler);
		}
	}
