Saves 3.4k from my vmlinux.

Thanks to Denis Vlasenko <vda@port.imtp.ilyichevsk.odessa.ua> for performing
the analysis.


---

 25-akpm/fs/seq_file.c            |   33 +++++++++++++++++++++++----------
 25-akpm/include/linux/seq_file.h |   23 ++---------------------
 2 files changed, 25 insertions(+), 31 deletions(-)

diff -puN include/linux/seq_file.h~uninline-seqfns include/linux/seq_file.h
--- 25/include/linux/seq_file.h~uninline-seqfns	2004-04-11 15:53:07.915107824 -0700
+++ 25-akpm/include/linux/seq_file.h	2004-04-11 15:53:36.599747096 -0700
@@ -35,27 +35,8 @@ ssize_t seq_read(struct file *, char __u
 loff_t seq_lseek(struct file *, loff_t, int);
 int seq_release(struct inode *, struct file *);
 int seq_escape(struct seq_file *, const char *, const char *);
-
-static inline int seq_putc(struct seq_file *m, char c)
-{
-	if (m->count < m->size) {
-		m->buf[m->count++] = c;
-		return 0;
-	}
-	return -1;
-}
-
-static inline int seq_puts(struct seq_file *m, const char *s)
-{
-	int len = strlen(s);
-	if (m->count + len < m->size) {
-		memcpy(m->buf + m->count, s, len);
-		m->count += len;
-		return 0;
-	}
-	m->count = m->size;
-	return -1;
-}
+int seq_putc(struct seq_file *m, char c);
+int seq_puts(struct seq_file *m, const char *s);
 
 int seq_printf(struct seq_file *, const char *, ...)
 	__attribute__ ((format (printf,2,3)));
diff -puN fs/seq_file.c~uninline-seqfns fs/seq_file.c
--- 25/fs/seq_file.c~uninline-seqfns	2004-04-11 15:53:07.931105392 -0700
+++ 25-akpm/fs/seq_file.c	2004-04-11 15:56:24.427233440 -0700
@@ -37,7 +37,6 @@ int seq_open(struct file *file, struct s
 	file->private_data = p;
 	return 0;
 }
-
 EXPORT_SYMBOL(seq_open);
 
 /**
@@ -146,7 +145,6 @@ Efault:
 	err = -EFAULT;
 	goto Done;
 }
-
 EXPORT_SYMBOL(seq_read);
 
 static int traverse(struct seq_file *m, loff_t offset)
@@ -232,7 +230,6 @@ loff_t seq_lseek(struct file *file, loff
 	up(&m->sem);
 	return retval;
 }
-
 EXPORT_SYMBOL(seq_lseek);
 
 /**
@@ -250,7 +247,6 @@ int seq_release(struct inode *inode, str
 	kfree(m);
 	return 0;
 }
-
 EXPORT_SYMBOL(seq_release);
 
 /**
@@ -287,7 +283,6 @@ int seq_escape(struct seq_file *m, const
 	m->count = p - m->buf;
         return 0;
 }
-
 EXPORT_SYMBOL(seq_escape);
 
 int seq_printf(struct seq_file *m, const char *f, ...)
@@ -307,7 +302,6 @@ int seq_printf(struct seq_file *m, const
 	m->count = m->size;
 	return -1;
 }
-
 EXPORT_SYMBOL(seq_printf);
 
 int seq_path(struct seq_file *m,
@@ -340,7 +334,6 @@ int seq_path(struct seq_file *m,
 	m->count = m->size;
 	return -1;
 }
-
 EXPORT_SYMBOL(seq_path);
 
 static void *single_start(struct seq_file *p, loff_t *pos)
@@ -377,7 +370,6 @@ int single_open(struct file *file, int (
 	}
 	return res;
 }
-
 EXPORT_SYMBOL(single_open);
 
 int single_release(struct inode *inode, struct file *file)
@@ -387,7 +379,6 @@ int single_release(struct inode *inode, 
 	kfree(op);
 	return res;
 }
-
 EXPORT_SYMBOL(single_release);
 
 int seq_release_private(struct inode *inode, struct file *file)
@@ -398,5 +389,27 @@ int seq_release_private(struct inode *in
 	seq->private = NULL;
 	return seq_release(inode, file);
 }
-
 EXPORT_SYMBOL(seq_release_private);
+
+int seq_putc(struct seq_file *m, char c)
+{
+	if (m->count < m->size) {
+		m->buf[m->count++] = c;
+		return 0;
+	}
+	return -1;
+}
+EXPORT_SYMBOL(seq_putc);
+
+int seq_puts(struct seq_file *m, const char *s)
+{
+	int len = strlen(s);
+	if (m->count + len < m->size) {
+		memcpy(m->buf + m->count, s, len);
+		m->count += len;
+		return 0;
+	}
+	m->count = m->size;
+	return -1;
+}
+EXPORT_SYMBOL(seq_puts);

_