]> git.hungrycats.org Git - linux/commitdiff
o kernel/ksyms.c: move remaining EXPORT_SYMBOLs, remove this file from the tree
authorArnaldo Carvalho de Melo <acme@conectiva.com.br>
Tue, 7 Oct 2003 20:54:04 +0000 (17:54 -0300)
committerLinus Torvalds <torvalds@home.osdl.org>
Tue, 7 Oct 2003 20:54:04 +0000 (17:54 -0300)
184 files changed:
Documentation/DocBook/kernel-api.tmpl
Documentation/kernel-doc-nano-HOWTO.txt
arch/alpha/kernel/init_task.c
arch/alpha/kernel/irq.c
arch/alpha/kernel/process.c
arch/alpha/kernel/smp.c
arch/alpha/kernel/time.c
arch/alpha/kernel/traps.c
arch/alpha/lib/checksum.c
arch/arm/kernel/init_task.c
arch/arm/kernel/irq.c
arch/arm/kernel/process.c
arch/arm/kernel/time.c
arch/arm/kernel/traps.c
arch/arm26/kernel/init_task.c
arch/arm26/kernel/irq.c
arch/arm26/kernel/process.c
arch/arm26/kernel/time.c
arch/arm26/kernel/traps.c
arch/cris/arch-v10/lib/old_checksum.c
arch/cris/kernel/irq.c
arch/cris/kernel/process.c
arch/cris/kernel/time.c
arch/cris/kernel/traps.c
arch/h8300/kernel/init_task.c
arch/h8300/kernel/process.c
arch/h8300/kernel/time.c
arch/h8300/lib/checksum.c
arch/h8300/platform/h8300h/ints.c
arch/h8300/platform/h8s/ints.c
arch/i386/kernel/i386_ksyms.c
arch/i386/kernel/init_task.c
arch/i386/kernel/irq.c
arch/i386/kernel/process.c
arch/i386/kernel/reboot.c
arch/i386/kernel/time.c
arch/i386/kernel/traps.c
arch/i386/mach-visws/reboot.c
arch/i386/mach-voyager/voyager_basic.c
arch/i386/mm/init.c
arch/ia64/kernel/init_task.c
arch/ia64/kernel/irq.c
arch/ia64/kernel/process.c
arch/ia64/kernel/time.c
arch/m68k/kernel/ints.c
arch/m68k/kernel/process.c
arch/m68k/kernel/time.c
arch/m68k/kernel/traps.c
arch/m68knommu/kernel/init_task.c
arch/m68knommu/kernel/process.c
arch/m68knommu/kernel/time.c
arch/m68knommu/lib/checksum.c
arch/m68knommu/platform/5307/ints.c
arch/m68knommu/platform/68328/ints.c
arch/m68knommu/platform/68360/ints.c
arch/mips/baget/irq.c
arch/mips/baget/time.c
arch/mips/dec/time.c
arch/mips/galileo-boards/ev96100/time.c
arch/mips/kernel/init_task.c
arch/mips/kernel/irq.c
arch/mips/kernel/reset.c
arch/mips/kernel/smp.c
arch/mips/kernel/time.c
arch/mips/kernel/traps.c
arch/mips/mm-32/init.c
arch/mips/mm-64/init.c
arch/parisc/kernel/cache.c
arch/parisc/kernel/init_task.c
arch/parisc/kernel/irq.c
arch/parisc/kernel/parisc_ksyms.c
arch/parisc/kernel/process.c
arch/parisc/kernel/smp.c
arch/parisc/kernel/time.c
arch/parisc/kernel/traps.c
arch/parisc/lib/checksum.c
arch/ppc/kernel/irq.c
arch/ppc/kernel/process.c
arch/ppc/kernel/setup.c
arch/ppc/kernel/smp.c
arch/ppc/kernel/time.c
arch/ppc/mm/init.c
arch/ppc/syslib/ppc8xx_pic.c
arch/ppc64/kernel/init_task.c
arch/ppc64/kernel/irq.c
arch/ppc64/kernel/process.c
arch/ppc64/kernel/setup.c
arch/ppc64/kernel/smp.c
arch/ppc64/kernel/time.c
arch/s390/kernel/init_task.c
arch/s390/kernel/setup.c
arch/s390/kernel/smp.c
arch/s390/kernel/time.c
arch/s390/kernel/traps.c
arch/sh/kernel/init_task.c
arch/sh/kernel/irq.c
arch/sh/kernel/process.c
arch/sh/kernel/time.c
arch/sh/kernel/traps.c
arch/sparc/kernel/init_task.c
arch/sparc/kernel/irq.c
arch/sparc/kernel/process.c
arch/sparc/kernel/sparc_ksyms.c
arch/sparc/kernel/time.c
arch/sparc/mm/init.c
arch/sparc64/kernel/init_task.c
arch/sparc64/kernel/irq.c
arch/sparc64/kernel/power.c
arch/sparc64/kernel/process.c
arch/sparc64/kernel/sparc64_ksyms.c
arch/sparc64/kernel/time.c
arch/sparc64/kernel/traps.c
arch/um/kernel/checksum.c
arch/um/kernel/init_task.c
arch/um/kernel/irq.c
arch/um/kernel/mem.c
arch/um/kernel/process_kern.c
arch/um/kernel/reboot.c
arch/um/kernel/smp.c
arch/um/kernel/sysrq.c
arch/um/kernel/time.c
arch/um/kernel/time_kern.c
arch/v850/kernel/anna.c
arch/v850/kernel/as85ep1.c
arch/v850/kernel/bug.c
arch/v850/kernel/fpga85e2c.c
arch/v850/kernel/init_task.c
arch/v850/kernel/irq.c
arch/v850/kernel/rte_cb.c
arch/v850/kernel/sim.c
arch/v850/kernel/sim85e2.c
arch/v850/kernel/time.c
arch/v850/lib/checksum.c
arch/x86_64/kernel/init_task.c
arch/x86_64/kernel/irq.c
arch/x86_64/kernel/process.c
arch/x86_64/kernel/reboot.c
arch/x86_64/kernel/time.c
arch/x86_64/kernel/traps.c
arch/x86_64/lib/csum-partial.c
drivers/block/genhd.c
drivers/block/ll_rw_blk.c
drivers/char/random.c
drivers/char/tty_io.c
drivers/char/tty_ioctl.c
drivers/ide/ide.c
drivers/net/sk98lin/skdim.c
fs/dcache.c
fs/nfsd/vfs.c
include/linux/root_dev.h
init/do_mounts.c
init/main.c
init/version.c
kernel/Makefile
kernel/capability.c
kernel/exit.c
kernel/fork.c
kernel/ksyms.c [deleted file]
kernel/panic.c
kernel/pid.c
kernel/printk.c
kernel/ptrace.c
kernel/resource.c
kernel/sched.c
kernel/softirq.c
kernel/sys.c
kernel/time.c
kernel/timer.c
lib/ctype.c
lib/dump_stack.c
lib/percpu_counter.c
lib/string.c
lib/vsprintf.c
mm/filemap.c
mm/highmem.c
mm/memory.c
mm/mmap.c
mm/page_alloc.c
mm/readahead.c
mm/slab.c
mm/swap.c
mm/truncate.c
mm/vmalloc.c
mm/vmscan.c

index a8ea707a3a463c31ccd73ef4a7e54ce436426ecc..5f11984a04f391f1e6e34540472e6b4088b3a02a 100644 (file)
@@ -315,8 +315,4 @@ X!Idrivers/video/console/fonts.c
 -->
      </sect1>
   </chapter>
-<!-- Needs ksyms to list additional exported symbols, but no specific doc.
-     docproc do not care about sgml commants.
-!Dkernel/ksyms.c
--->
 </book>
index fb42e8662b5801953c6ad111f74cd9a0793ce1c6..c406ce67edd0c80e5ea4f9a580c056c8cb1a9730 100644 (file)
@@ -139,8 +139,7 @@ collected from files listed in Documentation/DocBook/Makefile.
 _not_ exported using EXPORT_SYMBOL.
 
 !D<filename> is used to name additional files to search for functions
-exported using EXPORT_SYMBOL. For example many symbols are only exported
-in kernel/ksyms.c, therefore kernel-api.sgml include this file with !D.
+exported using EXPORT_SYMBOL.
 
 !F<filename> <function [functions...]> is replaced by the
 documentation, in <filename>, for the functions listed.
index 570582b28d440140ee4b05d6206c7ea05c31c951..60722f0355f9defcb3760158173b851d470c5a9b 100644 (file)
@@ -1,4 +1,5 @@
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/init_task.h>
@@ -13,6 +14,9 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 struct task_struct init_task = INIT_TASK(init_task);
 
+EXPORT_SYMBOL(init_mm);
+EXPORT_SYMBOL(init_task);
+
 union thread_union init_thread_union
        __attribute__((section(".data.init_thread")))
        = { INIT_THREAD_INFO(init_task) };
index 64235468334ead33e295ca7894093f57ba6f4d05..f165203fc459ea4a2de238fd4a1c9aa27fc7ef7f 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <linux/config.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/errno.h>
 #include <linux/kernel_stat.h>
 #include <linux/signal.h>
@@ -472,6 +473,8 @@ request_irq(unsigned int irq, irqreturn_t (*handler)(int, void *, struct pt_regs
        return retval;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 void
 free_irq(unsigned int irq, void *dev_id)
 {
@@ -518,6 +521,8 @@ free_irq(unsigned int irq, void *dev_id)
        }
 }
 
+EXPORT_SYMBOL(free_irq);
+
 int
 show_interrupts(struct seq_file *p, void *v)
 {
@@ -752,6 +757,8 @@ probe_irq_on(void)
        return val;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 /*
  * Return a mask of triggered interrupts (this
  * can handle only legacy ISA interrupts).
@@ -823,6 +830,8 @@ probe_irq_off(unsigned long val)
        return irq_found;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 #ifdef CONFIG_SMP
 void synchronize_irq(unsigned int irq)
 {
index 975e9312f8b95fb7da7acb44f698e2e085358f6a..e427bae12ffee5e6ae0afba3d7bf3bcfd9bbbfe9 100644 (file)
@@ -10,6 +10,7 @@
 
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
@@ -164,18 +165,24 @@ machine_restart(char *restart_cmd)
        common_shutdown(LINUX_REBOOT_CMD_RESTART, restart_cmd);
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void
 machine_halt(void)
 {
        common_shutdown(LINUX_REBOOT_CMD_HALT, NULL);
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void
 machine_power_off(void)
 {
        common_shutdown(LINUX_REBOOT_CMD_POWER_OFF, NULL);
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 /* Used by sysrq-p, among others.  I don't believe r9-r15 are ever
    saved in the context it's used.  */
 
index 8fd6f3c03e3a78070cbcd47e5902507baea0987c..dafc4ca4e3246afd0313edc68ce72599df88d9a4 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/errno.h>
 #include <linux/kernel.h>
 #include <linux/kernel_stat.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
 #include <linux/threads.h>
@@ -73,6 +74,8 @@ static int smp_secondary_alive __initdata = 0;
 unsigned long cpu_present_mask;
 cpumask_t cpu_online_map;
 
+EXPORT_SYMBOL(cpu_online_map);
+
 /* cpus reported in the hwrpb */
 static unsigned long hwrpb_cpu_present_mask __initdata = 0;
 
index 4b8d93a8209b8f19a35e349d18b8eac6a30f5b21..40df69a4d57a604db4be15a54c18c913aa89c5ad 100644 (file)
@@ -27,6 +27,7 @@
  */
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/param.h>
@@ -52,6 +53,8 @@
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 extern unsigned long wall_jiffies;     /* kernel/timer.c */
 
 static int set_rtc_mmss(unsigned long);
@@ -457,6 +460,8 @@ do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int
 do_settimeofday(struct timespec *tv)
 {
@@ -501,6 +506,8 @@ do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 
 /*
  * In order to set the CMOS clock precisely, set_rtc_mmss has to be
index 412cd3672573e88319772458e3edb1a1c0fb34ea..0596b1158315c7bbe8203148c998d03cb865097a 100644 (file)
@@ -177,6 +177,8 @@ void dump_stack(void)
        show_stack(NULL, NULL);
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void
 die_if_kernel(char * str, struct pt_regs *regs, long err, unsigned long *r9_15)
 {
index 9f2daa0301fe81e70ad2f87cd431cc2c1ca99a6b..89044e6385fe900cb7c1e89ebcf27cd60a1defd9 100644 (file)
@@ -9,6 +9,7 @@
  *     Rick Gorton     <rick.gorton@alpha-processor.com>
  */
  
+#include <linux/module.h>
 #include <linux/string.h>
 
 #include <asm/byteorder.h>
@@ -173,6 +174,8 @@ unsigned int csum_partial(const unsigned char * buff, int len, unsigned int sum)
        return result;
 }
 
+EXPORT_SYMBOL(csum_partial);
+
 /*
  * this routine is used for miscellaneous IP-like checksums, mainly
  * in icmp.c
index a8371b453b534d41f8371f4fb26267e6d875fad7..d7c3f2667a8338fd6e06e6f0a198907a408be009 100644 (file)
@@ -2,6 +2,7 @@
  *  linux/arch/arm/kernel/init_task.c
  */
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/fs.h>
 #include <linux/sched.h>
 #include <linux/init.h>
@@ -16,6 +17,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial thread structure.
  *
@@ -36,3 +39,5 @@ union thread_union init_thread_union
  * All other task structs will be allocated on slabs in fork.c
  */
 struct task_struct init_task = INIT_TASK(init_task);
+
+EXPORT_SYMBOL(init_task);
index 6900c243e7487dd64285ad577b751263a0e2af31..dc68c93d43f4f539b21f558effba0df7b74b5bac 100644 (file)
@@ -19,6 +19,7 @@
  */
 #include <linux/config.h>
 #include <linux/kernel_stat.h>
+#include <linux/module.h>
 #include <linux/signal.h>
 #include <linux/ioport.h>
 #include <linux/interrupt.h>
@@ -653,6 +654,8 @@ int request_irq(unsigned int irq, irqreturn_t (*handler)(int, void *, struct pt_
        return retval;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 /**
  *     free_irq - free an interrupt
  *     @irq: Interrupt line to free
@@ -696,6 +699,8 @@ void free_irq(unsigned int irq, void *dev_id)
        }
 }
 
+EXPORT_SYMBOL(free_irq);
+
 static DECLARE_MUTEX(probe_sem);
 
 /* Start the interrupt probing.  Unlike other architectures,
@@ -750,6 +755,8 @@ unsigned long probe_irq_on(void)
        return irqs;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 unsigned int probe_irq_mask(unsigned long irqs)
 {
        unsigned int mask = 0, i;
@@ -801,6 +808,8 @@ out:
        return irq_found;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 void __init init_irq_proc(void)
 {
 }
index 51eba65be0db7f9475d1606244b90a581badd03f..5084effd60055ce3e620ea172e85e6d865972801 100644 (file)
@@ -45,11 +45,15 @@ void disable_hlt(void)
        hlt_counter++;
 }
 
+EXPORT_SYMBOL(disable_hlt);
+
 void enable_hlt(void)
 {
        hlt_counter--;
 }
 
+EXPORT_SYMBOL(enable_hlt);
+
 static int __init nohlt_setup(char *__unused)
 {
        hlt_counter = 1;
@@ -119,12 +123,16 @@ void machine_halt(void)
 {
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off(void)
 {
        if (pm_power_off)
                pm_power_off();
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 void machine_restart(char * __unused)
 {
        /*
@@ -153,6 +161,8 @@ void machine_restart(char * __unused)
        while (1);
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void show_regs(struct pt_regs * regs)
 {
        unsigned long flags;
index d9edb669a99885bf8cc133e9c7d662d2548c2147..abaaa11f7e8338037d1a90ec17aff4c9da74a455 100644 (file)
@@ -35,6 +35,8 @@
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 extern unsigned long wall_jiffies;
 
 /* this needs a better home */
@@ -222,6 +224,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        time_t wtm_sec, sec = tv->tv_sec;
@@ -255,6 +259,8 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 static struct irqaction timer_irq = {
        .name   = "timer",
        .flags  = SA_INTERRUPT,
index 168a86db4891636d68d22058c3c41a871e64bd30..2693e11db32a6ae50147c0721e70b5a395cf10e9 100644 (file)
@@ -178,6 +178,8 @@ void dump_stack(void)
 #endif
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void show_stack(struct task_struct *tsk, unsigned long *sp)
 {
        unsigned long fp;
index c8d062071974b842ec3b205e4c46bd4dca904910..d40e768bdbc9a37731d1bcabaf8629668034634c 100644 (file)
@@ -5,6 +5,7 @@
  *
  */
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/fs.h>
 #include <linux/sched.h>
 #include <linux/init.h>
@@ -19,6 +20,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial thread structure.
  *
@@ -39,3 +42,5 @@ union thread_union init_thread_union
  * All other task structs will be allocated on slabs in fork.c
  */
 struct task_struct init_task = INIT_TASK(init_task);
+
+EXPORT_SYMBOL(init_task);
index 28220356efd136eb4ee1c9ce35676b7348c86e5e..3322d98e677b45e618687bc0a800ff3a89942a2e 100644 (file)
@@ -19,6 +19,7 @@
  *  Naturally it's not a 1:1 relation, but there are similarities.
  */
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/ptrace.h>
 #include <linux/kernel_stat.h>
 #include <linux/signal.h>
@@ -560,6 +561,8 @@ int request_irq(unsigned int irq, irqreturn_t (*handler)(int, void *, struct pt_
        return retval;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 /**
  *     free_irq - free an interrupt
  *     @irq: Interrupt line to free
@@ -603,6 +606,8 @@ out:
        spin_unlock_irqrestore(&irq_controller_lock, flags);
 }
 
+EXPORT_SYMBOL(free_irq);
+
 /* Start the interrupt probing.  Unlike other architectures,
  * we don't return a mask of interrupts from probe_irq_on,
  * but return the number of interrupts enabled for the probe.
@@ -653,6 +658,8 @@ unsigned long probe_irq_on(void)
        return irqs;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 /*
  * Possible return values:
  *  >= 0 - interrupt number
@@ -687,6 +694,8 @@ out:
        return irq_found;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 void __init init_irq_proc(void)
 {
 }
index bf8e0367be8876441d59042b669dc33a4807e4dc..d55c789e6da76048907819a24116e8b7443c9766 100644 (file)
@@ -12,6 +12,7 @@
 #include <stdarg.h>
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
@@ -42,11 +43,15 @@ void disable_hlt(void)
        hlt_counter++;
 }
 
+EXPORT_SYMBOL(disable_hlt);
+
 void enable_hlt(void)
 {
        hlt_counter--;
 }
 
+EXPORT_SYMBOL(enable_hlt);
+
 static int __init nohlt_setup(char *__unused)
 {
        hlt_counter = 1;
@@ -115,6 +120,8 @@ void machine_halt(void)
        leds_event(led_halted);
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off(void)
 {
        leds_event(led_halted);
@@ -122,6 +129,8 @@ void machine_power_off(void)
                pm_power_off();
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 void machine_restart(char * __unused)
 {
        /*
@@ -152,6 +161,8 @@ void machine_restart(char * __unused)
        while (1);
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void show_regs(struct pt_regs * regs)
 {
        unsigned long flags;
index 6da692023ded1844881536cd13a08e9172d0b2eb..1a7a8c85503bdfde2faaaaaedfa9266940081cf6 100644 (file)
@@ -36,6 +36,8 @@
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 extern unsigned long wall_jiffies;
 
 /* this needs a better home */
@@ -148,6 +150,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC)
@@ -178,6 +182,8 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 {
         do_timer(regs);
index d0e1bc6cf4742776b42102ae3320c68c175a4ff5..d2ffd9016c0741bb5f9d47b0c22de075b9056552 100644 (file)
@@ -134,6 +134,8 @@ static void dump_instr(struct pt_regs *regs)
        dump_mem("Stack: ", sp, 8192+(unsigned long)tsk->thread_info);
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void dump_stack(void)
 {
 #ifdef CONFIG_DEBUG_ERRORS
index 42f2a2133caa8c0e20e83337428851a594cdcf43..901a68d0b71bb3bf53a034dba6be5ed73de8f867 100644 (file)
@@ -19,6 +19,7 @@
  */
 
 #include <net/checksum.h>
+#include <net/module.h>
 
 #undef PROFILE_CHECKSUM
 
@@ -80,3 +81,5 @@ unsigned int csum_partial(const unsigned char * buff, int len, unsigned int sum)
   BITOFF;
   return(sum);
 }
+
+EXPORT_SYMBOL(csum_partial);
index 934f8715b5afc8a3c42b7a5b2091a6aac560bcc4..d61fa25474637ca57c62a8d58cee6f487c02c711 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/ptrace.h>
 
 #include <linux/kernel_stat.h>
@@ -70,12 +71,16 @@ probe_irq_on()
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 int
 probe_irq_off(unsigned long x)
 {
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 /*
  * Initial irq handlers.
  */
@@ -253,6 +258,8 @@ int request_irq(unsigned int irq,
                kfree(action);
        return retval;
 }
+
+EXPORT_SYMBOL(request_irq);
                
 void free_irq(unsigned int irq, void *dev_id)
 {
@@ -282,6 +289,8 @@ void free_irq(unsigned int irq, void *dev_id)
        printk("Trying to free free IRQ%d\n",irq);
 }
 
+EXPORT_SYMBOL(free_irq);
+
 void weird_irq(void)
 {
        local_irq_disable();
index 23a5d13c18eaf4fc8dbfb93afb8f22ff6ce21915..3db645340bf60e8eb97744d13be0513bb3bfa2d8 100644 (file)
@@ -96,6 +96,7 @@
 #include <asm/atomic.h>
 #include <asm/pgtable.h>
 #include <asm/uaccess.h>
+#include <linux/module.h>
 #include <linux/spinlock.h>
 #include <linux/fs_struct.h>
 #include <linux/init_task.h>
@@ -119,6 +120,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial thread structure.
  *
@@ -137,7 +140,7 @@ union thread_union init_thread_union
  */
 struct task_struct init_task = INIT_TASK(init_task);
 
-
+EXPORT_SYMBOL(init_task);
 
 /*
  * The hlt_counter, disable_hlt and enable_hlt is just here as a hook if
@@ -155,10 +158,14 @@ void disable_hlt(void)
        hlt_counter++;
 }
 
+EXPORT_SYMBOL(disable_hlt);
+
 void enable_hlt(void)
 {
        hlt_counter--;
 }
+
+EXPORT_SYMBOL(enable_hlt);
  
 /*
  * The following aren't currently used.
@@ -193,6 +200,8 @@ void machine_restart(void)
        hard_reset_now();
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 /*
  * Similar to machine_power_off, but don't shut off power.  Add code
  * here to freeze the system for e.g. post-mortem debug purpose when
@@ -203,12 +212,16 @@ void machine_halt(void)
 {
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 /* If or when software power-off is implemented, add code here.  */
 
 void machine_power_off(void)
 {
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 /*
  * When a process does an "exec", machine state like FPU and debug
  * registers need to be reset.  This is a hook function for that.
index caee8e4fd39b058d5de4d261bda7911c73439e7b..d6499c35802ce9e35fa7b3fed8a50a8987f89358 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <asm/rtc.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/param.h>
 #include <linux/jiffies.h>
 #include <linux/bcd.h>
@@ -31,6 +32,8 @@
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 int have_rtc;  /* used to remember if we have an RTC or not */;
 
 #define TICK_SIZE tick
@@ -72,6 +75,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        unsigned long flags;
@@ -106,6 +111,8 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 
 /*
  * BUG: This routine does not handle hour overflow properly; it just
index 5273241e072da6bb89b012ed3222f68c999aa0a8..2a757b825c44bbffc9844f56e28945729a581392 100644 (file)
@@ -142,6 +142,8 @@ void dump_stack(void)
        show_stack(NULL, NULL);
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void __init 
 trap_init(void)
 {
index 6f0a8c72e5c35e91edf6bd3da37224d1ba9663fd..6a8e7475b4c2ab6038f0e85a4c7e1bc1d02990d5 100644 (file)
@@ -2,6 +2,7 @@
  *  linux/arch/h8300/kernel/init_task.c
  */
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/init_task.h>
@@ -16,6 +17,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial task structure.
  *
@@ -24,6 +27,7 @@ struct mm_struct init_mm = INIT_MM(init_mm);
 __asm__(".align 4");
 struct task_struct init_task = INIT_TASK(init_task);
 
+EXPORT_SYMBOL(init_task);
 
 /*
  * Initial thread structure.
index 1624e40911fd3494dfc11894bb9fb60afdb1daf6..bd6ccd542399a0759654a4922948d7784266aab1 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
@@ -89,6 +90,8 @@ void machine_restart(char * __unused)
        __asm__("jmp @@0"); 
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_halt(void)
 {
        local_irq_disable();
@@ -96,6 +99,8 @@ void machine_halt(void)
        for (;;);
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off(void)
 {
        local_irq_disable();
@@ -103,6 +108,8 @@ void machine_power_off(void)
        for (;;);
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 void show_regs(struct pt_regs * regs)
 {
        printk("\n");
index 002f00c7ecf67e54478a17460f17a5b4bab8cc94..3637f91fa7a6a86b7902623f7c6d4bccf7a16f36 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <linux/config.h> /* CONFIG_HEARTBEAT */
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/param.h>
@@ -33,6 +34,8 @@
 
 u64 jiffies_64;
 
+EXPORT_SYMBOL(jiffies_64);
+
 static inline void do_profile (unsigned long pc)
 {
        if (prof_buffer && current->pid) {
@@ -110,6 +113,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC)
@@ -136,3 +141,5 @@ int do_settimeofday(struct timespec *tv)
        write_sequnlock_irq(&xtime_lock);
        return 0;
 }
+
+EXPORT_SYMBOL(do_settimeofday);
index 6ea20ed7d38465e47f7603e81b12295a1dc72bac..ffab85ba7272b7002827f3c8c1dd470ce2929449 100644 (file)
@@ -32,6 +32,7 @@
    of the assembly has to go. */
 
 #include <net/checksum.h>
+#include <net/module.h>
 
 static inline unsigned short from32to16(unsigned long x)
 {
@@ -123,6 +124,8 @@ unsigned int csum_partial(const unsigned char * buff, int len, unsigned int sum)
        return result;
 }
 
+EXPORT_SYMBOL(csum_partial);
+
 /*
  * this routine is used for miscellaneous IP-like checksums, mainly
  * in icmp.c
index da4a39f2b2025a65b99e9cff1bdb1b875e86500f..e62375f7a5ccd25f562088fd84e87e46ce086aa0 100644 (file)
@@ -13,6 +13,7 @@
  * Copyright 1999 D. Jeff Dionne <jeff@rt-control.com>
  */
 
+#include <linux/module.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
@@ -155,6 +156,8 @@ int request_irq(unsigned int irq,
        return 0;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 void free_irq(unsigned int irq, void *dev_id)
 {
        if (irq >= NR_IRQS) {
@@ -171,6 +174,8 @@ void free_irq(unsigned int irq, void *dev_id)
        }
 }
 
+EXPORT_SYMBOL(free_irq);
+
 /*
  * Do we need these probe functions on the m68k?
  */
@@ -179,11 +184,15 @@ unsigned long probe_irq_on (void)
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 int probe_irq_off (unsigned long irqs)
 {
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 void enable_irq(unsigned int irq)
 {
        if (irq >= EXT_IRQ0 && irq <= EXT_IRQ5) {
index dd07edcbf0fcadde61b7221588f774075909882d..727f965d28a1873cbdc1c18e40eb79aa8d7f1e6f 100644 (file)
@@ -13,6 +13,7 @@
  * Copyright 1999 D. Jeff Dionne <jeff@rt-control.com>
  */
 
+#include <linux/module.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
@@ -201,6 +202,8 @@ int request_irq(unsigned int irq,
        return 0;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 void free_irq(unsigned int irq, void *dev_id)
 {
        if (irq >= NR_IRQS)
@@ -228,16 +231,22 @@ void free_irq(unsigned int irq, void *dev_id)
        }
 }
 
+EXPORT_SYMBOL(free_irq);
+
 unsigned long probe_irq_on (void)
 {
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 int probe_irq_off (unsigned long irqs)
 {
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 void enable_irq(unsigned int irq)
 {
        if (irq >= EXT_IRQ0 && irq <= EXT_IRQ15)
index 4b770c5dfe8bb5856756660078f995245b3d0ff1..09e87744c79ef10248bab435106e349277dc13fe 100644 (file)
@@ -211,3 +211,5 @@ EXPORT_SYMBOL(eddnr);
 #if defined(CONFIG_X86_SPEEDSTEP_SMI) || defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE)
 EXPORT_SYMBOL(ist_info);
 #endif
+
+EXPORT_SYMBOL(csum_partial);
index a2a7181dac620c76b0fb95bbb5f3d66075cd08e2..7467ba601211e767e9ec1820a56c5d5931347108 100644 (file)
@@ -1,4 +1,5 @@
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/init_task.h>
@@ -14,6 +15,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial thread structure.
  *
@@ -32,6 +35,8 @@ union thread_union init_thread_union
  */
 struct task_struct init_task = INIT_TASK(init_task);
 
+EXPORT_SYMBOL(init_task);
+
 /*
  * per-CPU TSS segments. Threads are completely 'soft' on Linux,
  * no more per-task TSS's. The TSS size is kept cacheline-aligned
index 244bb0e4771e0a06aeaa62cba4bb4d3dc7c7954f..e5ba16a6f9613fc827f910d8d0e11cb7a87e34ca 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/signal.h>
 #include <linux/sched.h>
 #include <linux/ioport.h>
@@ -579,6 +580,8 @@ int request_irq(unsigned int irq,
        return retval;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 /**
  *     free_irq - free an interrupt
  *     @irq: Interrupt line to free
@@ -633,6 +636,8 @@ void free_irq(unsigned int irq, void *dev_id)
        }
 }
 
+EXPORT_SYMBOL(free_irq);
+
 /*
  * IRQ autodetection code..
  *
@@ -726,6 +731,8 @@ unsigned long probe_irq_on(void)
        return val;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 /*
  * Return a mask of triggered interrupts (this
  * can handle only legacy ISA interrupts).
@@ -824,6 +831,8 @@ int probe_irq_off(unsigned long val)
        return irq_found;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 /* this was setup_x86_irq but it seems pretty generic */
 int setup_irq(unsigned int irq, struct irqaction * new)
 {
index 9675594018250e63934da4bc4964187fd57e7756..b706916eccc61a7c852bef72facf9a216c9f34f1 100644 (file)
@@ -76,11 +76,15 @@ void disable_hlt(void)
        hlt_counter++;
 }
 
+EXPORT_SYMBOL(disable_hlt);
+
 void enable_hlt(void)
 {
        hlt_counter--;
 }
 
+EXPORT_SYMBOL(enable_hlt);
+
 /*
  * We use this if we don't have any better
  * idle routine..
index fb28a5a000ff663597cffe3a091b4921eb82f0a8..a87a866024d1b41665cff9fd4636bf039efa873c 100644 (file)
@@ -3,6 +3,7 @@
  */
 
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/delay.h>
 #include <linux/init.h>
 #include <linux/interrupt.h>
@@ -276,13 +277,19 @@ void machine_restart(char * __unused)
        machine_real_restart(jump_to_bios, sizeof(jump_to_bios));
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_halt(void)
 {
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off(void)
 {
        if (pm_power_off)
                pm_power_off();
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
index 4e62eda8100e61d8dbf47bcfcab63e754bdb6707..a1a583b6bc04356efa170ba0a8260c13de9942dc 100644 (file)
@@ -73,6 +73,8 @@ int pit_latch_buggy;              /* extern */
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 unsigned long cpu_khz; /* Detected as we calibrate the TSC */
 
 extern unsigned long wall_jiffies;
@@ -115,6 +117,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        time_t wtm_sec, sec = tv->tv_sec;
@@ -148,6 +152,8 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 static int set_rtc_mmss(unsigned long nowtime)
 {
        int retval;
index 70b78cdef1fe869cc31c09aedc11dc876d30dc67..db4e89ef4cbc226aed7e68d9629300cc4061dd49 100644 (file)
@@ -158,6 +158,8 @@ void dump_stack(void)
        show_trace(current, &stack);
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void show_registers(struct pt_regs *regs)
 {
        int i;
index 1bc7b71ccbdf8b55719b1b658668bf1f9d4fc52d..8fc9fdc75c119f2931c860165b4c480add1a5598 100644 (file)
@@ -1,4 +1,4 @@
-
+#include <linux/module.h>
 #include <linux/smp.h>
 #include <linux/delay.h>
 #include <linux/platform.h>
@@ -24,6 +24,8 @@ void machine_restart(char * __unused)
        outb(PIIX4_RESET_VAL, PIIX4_RESET_PORT);
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_power_off(void)
 {
        unsigned short pm_status;
@@ -43,6 +45,10 @@ void machine_power_off(void)
        outl(PIIX_SPECIAL_STOP, 0xCFC);
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 void machine_halt(void)
 {
 }
+
+EXPORT_SYMBOL(machine_halt);
index 1a3c9f3ab4550b5141acdfc9d2ccf20a0d69ebf7..528bc8f8d566b7264fe4f21168a9068c12171bf2 100644 (file)
@@ -13,6 +13,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/types.h>
 #include <linux/sched.h>
 #include <linux/ptrace.h>
@@ -279,6 +280,8 @@ machine_restart(char *cmd)
        }
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void
 mca_nmi_hook(void)
 {
@@ -314,8 +317,12 @@ machine_halt(void)
        machine_power_off();
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off(void)
 {
        if (pm_power_off)
                pm_power_off();
 }
+
+EXPORT_SYMBOL(machine_power_off);
index b7ab9f6668d8c8222dd70bd7b53047ed2a19bf87..0202ccab598ddbcb5143d503a56766ac574b5281 100644 (file)
@@ -7,6 +7,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/signal.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
@@ -190,6 +191,9 @@ static inline int page_is_ram(unsigned long pagenr)
 pte_t *kmap_pte;
 pgprot_t kmap_prot;
 
+EXPORT_SYMBOL(kmap_prot);
+EXPORT_SYMBOL(kmap_pte);
+
 #define kmap_get_fixmap_pte(vaddr)                                     \
        pte_offset_kernel(pmd_offset(pgd_offset_k(vaddr), (vaddr)), (vaddr))
 
index 241a84cacba678697dc5d11142e919a1dca106eb..46cf054d344e87cdd18435fb46f2a44e9f319aa1 100644 (file)
@@ -8,6 +8,7 @@
 
 #include <linux/init.h>
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init_task.h>
 
@@ -20,6 +21,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial task structure.
  *
@@ -38,3 +41,5 @@ union {
        .task =         INIT_TASK(init_task_mem.s.task),
        .thread_info =  INIT_THREAD_INFO(init_task_mem.s.task)
 }};
+
+EXPORT_SYMBOL(init_task);
index a4d20341920d36ef4270f55d42c20dd21a7c6c08..7e2680cbaadf04d096b5304706bc0677e890d3a6 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/signal.h>
 #include <linux/sched.h>
 #include <linux/ioport.h>
@@ -596,6 +597,8 @@ int request_irq(unsigned int irq,
        return retval;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 /**
  *     free_irq - free an interrupt
  *     @irq: Interrupt line to free
@@ -650,6 +653,8 @@ void free_irq(unsigned int irq, void *dev_id)
        }
 }
 
+EXPORT_SYMBOL(free_irq);
+
 /*
  * IRQ autodetection code..
  *
@@ -743,6 +748,8 @@ unsigned long probe_irq_on(void)
        return val;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 /**
  *     probe_irq_mask - scan a bitmap of interrupt lines
  *     @val:   mask of interrupts to consider
@@ -831,6 +838,8 @@ int probe_irq_off(unsigned long val)
        return irq_found;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 int setup_irq(unsigned int irq, struct irqaction * new)
 {
        int shared = 0;
index a43075467efad3517ca78b54371f511cdfa01e46..5e0d57e5c546310fc451adf4c163f037038a0eba 100644 (file)
@@ -82,6 +82,8 @@ dump_stack (void)
        show_stack(NULL, NULL);
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void
 show_regs (struct pt_regs *regs)
 {
index c8ccbbdc0ece081e4f7df8896a0ad159183f5e47..d572f1a2073ab9ce00e60c5c7c061ba88edc77a2 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <linux/init.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/profile.h>
 #include <linux/sched.h>
 #include <linux/time.h>
@@ -31,6 +32,8 @@ extern unsigned long wall_jiffies;
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 #define TIME_KEEPER_ID 0       /* smp_processor_id() of time-keeper */
 
 #ifdef CONFIG_IA64_DEBUG_IRQ
@@ -125,6 +128,8 @@ do_settimeofday (struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 void
 do_gettimeofday (struct timeval *tv)
 {
@@ -185,6 +190,8 @@ do_gettimeofday (struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 /*
  * The profiling function is SMP safe. (nothing can mess
  * around with "current", and the profiling counters are
index 9c41b72cb12408ed0589e32b0bb64d1d56c588a6..7f42d001228ab2b8519e6b9a847b4a481dbbfd97 100644 (file)
@@ -26,6 +26,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/types.h>
 #include <linux/sched.h>
 #include <linux/kernel_stat.h>
@@ -127,11 +128,15 @@ int request_irq(unsigned int irq,
        return mach_request_irq(irq, handler, flags, devname, dev_id);
 }
 
+EXPORT_SYMBOL(request_irq);
+
 void free_irq(unsigned int irq, void *dev_id)
 {
        mach_free_irq(irq, dev_id);
 }
 
+EXPORT_SYMBOL(free_irq);
+
 int sys_request_irq(unsigned int irq, 
                     irqreturn_t (*handler)(int, void *, struct pt_regs *), 
                     unsigned long flags, const char *devname, void *dev_id)
@@ -195,6 +200,8 @@ unsigned long probe_irq_on (void)
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 int probe_irq_off (unsigned long irqs)
 {
 #ifdef CONFIG_Q40
@@ -204,6 +211,8 @@ int probe_irq_off (unsigned long irqs)
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 static void dummy_enable_irq(unsigned int irq)
 {
        printk("calling uninitialized enable_irq()\n");
index 0fdc63c71dd7024165d97a5af0d41e97d892252c..8d72a5c5b0c78b6e31f5d6f8f8f42d751f704df0 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
@@ -45,6 +46,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 union thread_union init_thread_union
 __attribute__((section(".data.init_task"), aligned(THREAD_SIZE)))
        = { INIT_THREAD_INFO(init_task) };
@@ -52,6 +55,7 @@ __attribute__((section(".data.init_task"), aligned(THREAD_SIZE)))
 /* initial task structure */
 struct task_struct init_task = INIT_TASK(init_task);
 
+EXPORT_SYMBOL(init_task);
 
 asmlinkage void ret_from_fork(void);
 
@@ -111,6 +115,8 @@ void machine_restart(char * __unused)
        for (;;);
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_halt(void)
 {
        if (mach_halt)
@@ -118,6 +124,8 @@ void machine_halt(void)
        for (;;);
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off(void)
 {
        if (mach_power_off)
@@ -125,6 +133,8 @@ void machine_power_off(void)
        for (;;);
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 void show_regs(struct pt_regs * regs)
 {
        printk("\n");
index 8934a229abeff150e7dd1716b218c802f917f3a2..e6e42d41e288e3951caedd7b2bd2723cae9e433f 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <linux/config.h> /* CONFIG_HEARTBEAT */
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/param.h>
@@ -28,6 +29,8 @@
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 static inline int set_rtc_mmss(unsigned long nowtime)
 {
   if (mach_set_clock_mmss)
@@ -139,6 +142,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        time_t wtm_sec, sec = tv->tv_sec;
@@ -172,6 +177,8 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 /*
  * Scheduler clock - returns current time in ns units.
  */
index 90cfd26c8ad398517f24ccaa90350542dd2cbb6d..6d8a2a960044ddb71f435d9d6d0b8edb87e6ac5e 100644 (file)
@@ -953,6 +953,8 @@ void dump_stack(void)
        show_trace(&stack);
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void bad_super_trap (struct frame *fp)
 {
        console_verbose();
index c7438903f41d4459031f95bafc04668e36e15dd2..51ee0a032b9c36dc682f2a876a3a42837766c513 100644 (file)
@@ -2,6 +2,7 @@
  *  linux/arch/m68knommu/kernel/init_task.c
  */
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/init_task.h>
@@ -16,6 +17,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial task structure.
  *
@@ -24,6 +27,7 @@ struct mm_struct init_mm = INIT_MM(init_mm);
 __asm__(".align 4");
 struct task_struct init_task = INIT_TASK(init_task);
 
+EXPORT_SYMBOL(init_task);
 
 /*
  * Initial thread structure.
index def29a9728a2bd379484a3ef4f24a20872126ca8..c8b87371641afa134adc5a3e115bccf619c22cdb 100644 (file)
@@ -14,6 +14,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
@@ -72,6 +73,8 @@ void machine_restart(char * __unused)
        for (;;);
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_halt(void)
 {
        if (mach_halt)
@@ -79,6 +82,8 @@ void machine_halt(void)
        for (;;);
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off(void)
 {
        if (mach_power_off)
@@ -86,6 +91,8 @@ void machine_power_off(void)
        for (;;);
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 void show_regs(struct pt_regs * regs)
 {
        printk("\n");
index 1d1183d5e70a7e3224584dcdaee9b2ca3533910e..01074a94a4d8bfbcf0bfcc40e36eb19da23028d2 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/param.h>
@@ -28,6 +29,8 @@
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 extern unsigned long wall_jiffies;
 
 
@@ -164,6 +167,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        time_t wtm_sec, sec = tv->tv_sec;
@@ -196,3 +201,5 @@ int do_settimeofday(struct timespec *tv)
        write_sequnlock_irq(&xtime_lock);
        return 0;
 }
+
+EXPORT_SYMBOL(do_settimeofday);
index 45fec20db2b247d92b4fd39cabc8a346c2a7cf76..eed62d7e87f5bb17bc87761582cf0665517d5ad3 100644 (file)
@@ -32,6 +32,7 @@
    of the assembly has to go. */
 
 #include <net/checksum.h>
+#include <net/module.h>
 
 static inline unsigned short from32to16(unsigned long x)
 {
@@ -123,6 +124,8 @@ unsigned int csum_partial(const unsigned char * buff, int len, unsigned int sum)
        return result;
 }
 
+EXPORT_SYMBOL(csum_partial);
+
 /*
  * this routine is used for miscellaneous IP-like checksums, mainly
  * in icmp.c
index f3cbebab4313989f089bc345f89beaadce311d47..1ccb7070fb8bac299758353d45566c1815e9052f 100644 (file)
@@ -15,6 +15,7 @@
  * for more details.
  */
 
+#include <linux/module.h>
 #include <linux/types.h>
 #include <linux/init.h>
 #include <linux/sched.h>
@@ -136,6 +137,8 @@ int request_irq(
        return 0;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 void free_irq(unsigned int irq, void *dev_id)
 {
        if (irq >= NR_IRQS) {
@@ -162,6 +165,8 @@ void free_irq(unsigned int irq, void *dev_id)
        irq_list[irq].devname = NULL;
 }
 
+EXPORT_SYMBOL(free_irq);
+
 
 int sys_request_irq(unsigned int irq, 
                     irqreturn_t (*handler)(int, void *, struct pt_regs *), 
@@ -222,11 +227,15 @@ unsigned long probe_irq_on (void)
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 int probe_irq_off (unsigned long irqs)
 {
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 asmlinkage void process_int(unsigned long vec, struct pt_regs *fp)
 {
        if (vec >= VEC_INT1 && vec <= VEC_INT7) {
index 290fdd07b7b0ffab70b1e18516e22eb06ee16f0a..15c72cadd3ef43e640890f9ad8108ba9bed090cd 100644 (file)
@@ -9,6 +9,7 @@
  * Copyright 1999 D. Jeff Dionne <jeff@rt-control.com>
  */
 
+#include <linux/module.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
@@ -172,6 +173,8 @@ int request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *)
        return 0;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 void free_irq(unsigned int irq, void *dev_id)
 {
        if (irq >= NR_IRQS) {
@@ -191,6 +194,8 @@ void free_irq(unsigned int irq, void *dev_id)
        IMR |= 1<<irq;
 }
 
+EXPORT_SYMBOL(free_irq);
+
 int show_interrupts(struct seq_file *p, void *v)
 {
        int i;
index 667833629fce1ec9b64a36b6c9ac5f79c16ed29f..bbcf966f4eefe43a14d0f9920ccc285cfd8747ea 100644 (file)
@@ -11,6 +11,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
@@ -216,6 +217,8 @@ int request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *)
        return 0;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 void free_irq(unsigned int irq, void *dev_id)
 {
        if (irq >= INTERNAL_IRQS) {
@@ -234,6 +237,8 @@ void free_irq(unsigned int irq, void *dev_id)
        *(volatile unsigned long *)0xfffff304 |= 1<<irq;
 }
 
+EXPORT_SYMBOL(free_irq);
+
 #if 0
 /*
  * Enable/disable a particular machine specific interrupt source.
index 124459426a206d8b8463cc5ee7bfd042cdb3c2d5..fe158acf892166f075d381e5f110d64cf59c2588 100644 (file)
@@ -8,6 +8,7 @@
 #include <linux/errno.h>
 #include <linux/init.h>
 #include <linux/kernel_stat.h>
+#include <linux/module.h>
 #include <linux/signal.h>
 #include <linux/sched.h>
 #include <linux/types.h>
@@ -337,6 +338,8 @@ int request_irq(unsigned int irq,
        return retval;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 void free_irq(unsigned int irq, void *dev_id)
 {
        struct irqaction * action, **p;
@@ -361,18 +364,24 @@ void free_irq(unsigned int irq, void *dev_id)
        printk("Trying to free free IRQ%d\n",irq);
 }
 
+EXPORT_SYMBOL(free_irq);
+
 unsigned long probe_irq_on (void)
 {
        /* TODO */
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 int probe_irq_off (unsigned long irqs)
 {
        /* TODO */
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 
 static void write_err_interrupt(int irq, void *dev_id, struct pt_regs * regs)
 {
index b1e67e29b5130b244aa35fe0185d7467e037d1dd..205bde31215e5b1686759a301e056b39547ffd51 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <linux/errno.h>
 #include <linux/init.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/param.h>
@@ -87,6 +88,8 @@ void do_gettimeofday(struct timeval *tv)
        } while (read_seqretry(&xtime_lock, seq));
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 void do_settimeofday(struct timeval *tv)
 {
        write_seqlock_irq(&xtime_lock);
@@ -98,3 +101,5 @@ void do_settimeofday(struct timeval *tv)
        time_esterror = NTP_PHASE_LIMIT;
        write_sequnlock_irq(&xtime_lock);
 }
+
+EXPORT_SYMBOL(do_settimeofday);
index 657226b08653a45f6eff6bdd4038a60733650ed8..cafc8eaa05fa50818d6ea13e9444a52a4bb73abc 100644 (file)
@@ -9,6 +9,7 @@
  *
  */
 #include <linux/bcd.h>
+#include <linux/module.h>
 #include <linux/types.h>
 #include <linux/errno.h>
 #include <linux/init.h>
@@ -238,6 +239,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 void do_settimeofday(struct timeval *tv)
 {
        write_seqlock_irq(&xtime_lock);
@@ -264,6 +267,8 @@ void do_settimeofday(struct timeval *tv)
        write_sequnlock_irq(&xtime_lock);
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 /*
  * In order to set the CMOS clock precisely, set_rtc_mmss has to be
  * called 500 ms after the second nowtime has started, because when
index 2ed5b2755a887e57262b6295c2f285ba68e5a146..c3cc08527397c9e1583372b6506cc1b07e51b21e 100644 (file)
@@ -34,6 +34,7 @@
  */
 #include <linux/init.h>
 #include <linux/kernel_stat.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/spinlock.h>
 
@@ -222,6 +223,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 void do_settimeofday(struct timeval *tv)
 {
        write_seqlock_irq(&xtime_lock);
@@ -248,6 +251,8 @@ void do_settimeofday(struct timeval *tv)
        write_sequnlock_irq(&xtime_lock);
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 /*
  * There are a lot of conceptually broken versions of the MIPS timer interrupt
  * handler floating around.  This one is rather different, but the algorithm
index a3540eaa199daa6aecb4367069545d57d8928232..cfc910d482a04cc6275f88743a9aad8242f2adf0 100644 (file)
@@ -1,4 +1,5 @@
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init_task.h>
 #include <linux/fs.h>
@@ -12,6 +13,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial thread structure.
  *
@@ -32,3 +35,5 @@ union thread_union init_thread_union
  * All other task structs will be allocated on slabs in fork.c
  */
 struct task_struct init_task = INIT_TASK(init_task);
+
+EXPORT_SYMBOL(init_task);
index bb093eb35d9570b5be017ddaec7231e1169a84c2..85c40b9548b3c1f44670f1db04a9ea6b1e8f1fbd 100644 (file)
@@ -494,6 +494,8 @@ int request_irq(unsigned int irq,
        return retval;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 /**
  *     free_irq - free an interrupt
  *     @irq: Interrupt line to free
@@ -548,6 +550,8 @@ void free_irq(unsigned int irq, void *dev_id)
        }
 }
 
+EXPORT_SYMBOL(free_irq);
+
 /*
  * IRQ autodetection code..
  *
@@ -641,6 +645,8 @@ unsigned long probe_irq_on(void)
        return val;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 /*
  * Return a mask of triggered interrupts (this
  * can handle only legacy ISA interrupts).
@@ -739,6 +745,8 @@ int probe_irq_off(unsigned long val)
        return irq_found;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 /* this was setup_x86_irq but it seems pretty generic */
 int setup_irq(unsigned int irq, struct irqaction * new)
 {
index 5c0db64db0ca1679f63a5fd04a349033b4c55831..7e0a9821931ad30d27c813db7d58a5f7778a7bab 100644 (file)
@@ -7,6 +7,7 @@
  * Copyright (C) 2001 MIPS Technologies, Inc.
  */
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/types.h>
 #include <linux/reboot.h>
 #include <asm/reboot.h>
@@ -25,12 +26,18 @@ void machine_restart(char *command)
        _machine_restart(command);
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_halt(void)
 {
        _machine_halt();
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off(void)
 {
        _machine_power_off();
 }
+
+EXPORT_SYMBOL(machine_power_off);
index 67f7eddd30fb91ad74a5f7951743b45fb8bf647d..5ecfcb8fd2734ffdec5778fc4e89791b605da389 100644 (file)
@@ -48,6 +48,8 @@ cpumask_t cpu_online_map;             /* Bitmask of currently online CPUs */
 int __cpu_number_map[NR_CPUS];
 int __cpu_logical_map[NR_CPUS];
 
+EXPORT_SYMBOL(cpu_online_map);
+
 /* These are defined by the board-specific code. */
 
 /*
index 2626c8b878c19c0940c8523803ca73cd7580715a..c508fd4f7a546e5114386b60dfa57897ddca0aa4 100644 (file)
@@ -39,6 +39,8 @@
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 /*
  * forward reference
  */
@@ -99,6 +101,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        time_t wtm_sec, sec = tv->tv_sec;
@@ -132,6 +136,7 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
 
 /*
  * Gettimeoffset routines.  These routines returns the time duration
index 85bfd44d732b41ede1b825441e953f964e533f37..f45a7fc853073407fcbe67e4dc02c0b9fe7c7a3a 100644 (file)
@@ -141,6 +141,8 @@ void dump_stack(void)
        show_trace(current, &stack);
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void show_code(unsigned int *pc)
 {
        long i;
index f1a52ffbb137234dfc5f9b3be213787d6027dc25..021f3e9a75bd58daffa7094f6c40be582634db03 100644 (file)
@@ -10,6 +10,7 @@
  */
 #include <linux/config.h>
 #include <linux/init.h>
+#include <linux/module.h>
 #include <linux/signal.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
@@ -81,6 +82,9 @@ unsigned long setup_zero_pages(void)
 pte_t *kmap_pte;
 pgprot_t kmap_prot;
 
+EXPORT_SYMBOL(kmap_prot);
+EXPORT_SYMBOL(kmap_pte);
+
 #define kmap_get_fixmap_pte(vaddr)                                     \
        pte_offset_kernel(pmd_offset(pgd_offset_k(vaddr), (vaddr)), (vaddr))
 
index 40f616a4dfb0f22f26d6479d4c7c3278ea83dd57..1375a82cf14cc1832290c3e373b102944df650b2 100644 (file)
@@ -10,6 +10,7 @@
  */
 #include <linux/config.h>
 #include <linux/init.h>
+#include <linux/module.h>
 #include <linux/signal.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
@@ -81,6 +82,9 @@ unsigned long setup_zero_pages(void)
 pte_t *kmap_pte;
 pgprot_t kmap_prot;
 
+EXPORT_SYMBOL(kmap_prot);
+EXPORT_SYMBOL(kmap_pte);
+
 #define kmap_get_fixmap_pte(vaddr)                                     \
        pte_offset_kernel(pmd_offset(pgd_offset_k(vaddr), (vaddr)), (vaddr))
 
index 63110ae4d200dcd6edc8eb25640d721b22a0d6bb..9979780ecbb61a209a542b604c5da957925d1a83 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/seq_file.h>
 
 #include <asm/pdc.h>
@@ -29,6 +30,7 @@
 int split_tlb;
 int dcache_stride;
 int icache_stride;
+EXPORT_SYMBOL(dcache_stride);
 
 struct pdc_cache_info cache_info;
 #ifndef CONFIG_PA20
@@ -49,6 +51,7 @@ flush_cache_all_local(void)
        flush_instruction_cache_local();
        flush_data_cache_local();
 }
+EXPORT_SYMBOL(flush_cache_all_local);
 
 /* flushes EVERYTHING (tlb & cache) */
 
@@ -58,6 +61,7 @@ flush_all_caches(void)
        flush_cache_all();
        flush_tlb_all();
 }
+EXPORT_SYMBOL(flush_all_caches);
 
 void
 update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t pte)
@@ -289,3 +293,4 @@ void __flush_dcache_page(struct page *page)
        }
 }
 
+EXPORT_SYMBOL(__flush_dcache_page);
index 76a650c4a16a758c42d55f70d03045b19a61d852..da0e9b9f50223b62be7d5ffe0b88ae43029ac2ca 100644 (file)
@@ -1,4 +1,5 @@
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/init_task.h>
@@ -13,6 +14,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial task structure.
  *
@@ -36,5 +39,7 @@ unsigned long pg0[PT_INITIAL * PTRS_PER_PTE] __attribute__ ((aligned(4096))) = {
  *
  * All other task structs will be allocated on slabs in fork.c
  */
+EXPORT_SYMBOL(init_task);
+
 __asm__(".data");
 struct task_struct init_task = INIT_TASK(init_task);
index 4b5ce6a17bfab1b20b3ad718f3eb4acea77f6aef..f9c981f9adc990033fd3a3cd0f45789c1f615e35 100644 (file)
@@ -25,6 +25,7 @@
 #include <linux/eisa.h>
 #include <linux/errno.h>
 #include <linux/init.h>
+#include <linux/module.h>
 #include <linux/signal.h>
 #include <linux/types.h>
 #include <linux/ioport.h>
@@ -652,6 +653,8 @@ int request_irq(unsigned int irq,
        return 0;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 void free_irq(unsigned int irq, void *dev_id)
 {
        struct irqaction *action, **p;
@@ -694,6 +697,8 @@ void free_irq(unsigned int irq, void *dev_id)
        printk(KERN_ERR "Trying to free free IRQ%d\n",irq);
 }
 
+EXPORT_SYMBOL(free_irq);
+
 
 #ifdef CONFIG_SMP
 void synchronize_irq(unsigned int irqnum)
@@ -787,6 +792,8 @@ unsigned long probe_irq_on(void)
        return val;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 /*
  * Return the one interrupt that triggered (this can
  * handle any interrupt source).
@@ -846,6 +853,8 @@ int probe_irq_off(unsigned long val)
        return irq_found;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 unsigned int probe_irq_mask(unsigned long irqs)
 {
        return 0;
index 4cd0cb06618e8db5aa16ea290ba5b87a7498bad4..db2895f232565c816f49449b6e04fc5ce56fef27 100644 (file)
@@ -69,7 +69,6 @@ EXPORT_SYMBOL(flush_kernel_dcache_range_asm);
 EXPORT_SYMBOL(flush_kernel_dcache_page);
 EXPORT_SYMBOL(flush_data_cache_local);
 EXPORT_SYMBOL(flush_kernel_icache_range_asm);
-EXPORT_SYMBOL(__flush_dcache_page);
 EXPORT_SYMBOL(flush_all_caches);
 EXPORT_SYMBOL(dcache_stride);
 EXPORT_SYMBOL(flush_cache_all_local);
index 99c62d846a481cb2e53d109463c0c14db4eb9109..2dc03e1c752a3b820cd705991c4038e98157d4ef 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/errno.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/personality.h>
 #include <linux/ptrace.h>
 #include <linux/sched.h>
@@ -39,11 +40,15 @@ void disable_hlt(void)
        hlt_counter++;
 }
 
+EXPORT_SYMBOL(disable_hlt);
+
 void enable_hlt(void)
 {
        hlt_counter--;
 }
 
+EXPORT_SYMBOL(enable_hlt);
+
 void default_idle(void)
 {
        barrier();
@@ -119,6 +124,8 @@ void machine_restart(char *cmd)
 
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_halt(void)
 {
        /*
@@ -127,6 +134,8 @@ void machine_halt(void)
        */
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 
 /*
  * This routine is called from sys_reboot to actually turn off the
@@ -152,6 +161,8 @@ void machine_power_off(void)
               KERN_EMERG "Please power this system off now.");
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 
 /*
  * Create a kernel thread
index a4d604ff4d40c016a09880a4186a17a93dddba2f..7837596d9d2692c3a6c6f343e08cb8a6b6080a8c 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/slab.h>
 
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/interrupt.h>
@@ -65,12 +66,16 @@ static volatile int cpu_now_booting = 0;      /* track which CPU is booting */
 cpumask_t cpu_online_map = CPU_MASK_NONE;   /* Bitmap of online CPUs */
 #define IS_LOGGED_IN(cpunum) (cpu_isset(cpunum, cpu_online_map))
 
+EXPORT_SYMBOL(cpu_online_map);
+
 int smp_num_cpus = 1;
 int smp_threads_ready = 0;
 unsigned long cache_decay_ticks;
 static int max_cpus = -1;                           /* Command line */
 cpumask_t cpu_present_mask;
 
+EXPORT_SYMBOL(cpu_present_mask);
+
 struct smp_call_struct {
        void (*func) (void *info);
        void *info;
index b6da001f8681b2833187eb599f2faf76bacf4536..58a9077c4dcbac5266541797ccac850b5d0f1463 100644 (file)
@@ -12,6 +12,7 @@
  */
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/param.h>
@@ -34,6 +35,8 @@
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 /* xtime and wall_jiffies keep wall-clock time */
 extern unsigned long wall_jiffies;
 
@@ -193,6 +196,8 @@ do_gettimeofday (struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int
 do_settimeofday (struct timespec *tv)
 {
@@ -228,6 +233,8 @@ do_settimeofday (struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 /*
  * XXX: We can do better than this.
  * Returns nanoseconds
index e1e102e2eb8385e19b7df5aae98a3497a09c9a62..4cdf46e49626449c5d0bcae5b9e1cbf4a88df4f6 100644 (file)
@@ -129,6 +129,7 @@ void dump_stack(void)
        show_trace(current, &stack);
 }
 
+EXPORT_SYMBOL(dump_stack);
 
 #ifndef __LP64__
 static int kstack_depth_to_print = 64 * 4;
index 368a095c5e74f0534b7365780a1a1a7e005ca931..abd29ac69f46b473f7aba1be299924c74abc7d37 100644 (file)
@@ -96,6 +96,8 @@ unsigned int csum_partial(const unsigned char *buff, int len, unsigned int sum)
        return result;
 }
 
+EXPORT_SYMBOL(csum_partial);
+
 /*
  * copy while checksumming, otherwise like csum_partial
  */
index ec77733cb8b20b5ead38819ea3e86644b6aaa736..e7bf1e5825b2da2b8a87a0132d011e315819a58e 100644 (file)
@@ -27,6 +27,7 @@
  */
 
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/threads.h>
 #include <linux/kernel_stat.h>
 #include <linux/signal.h>
@@ -214,6 +215,8 @@ void free_irq(unsigned int irq, void* dev_id)
        return;
 }
 
+EXPORT_SYMBOL(free_irq);
+
 int request_irq(unsigned int irq,
        irqreturn_t (*handler)(int, void *, struct pt_regs *),
        unsigned long irqflags, const char * devname, void *dev_id)
@@ -252,6 +255,8 @@ int request_irq(unsigned int irq,
        return 0;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 /*
  * Generic enable/disable code: this just calls
  * down into the PIC-specific version for the actual
@@ -530,11 +535,15 @@ unsigned long probe_irq_on (void)
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 int probe_irq_off (unsigned long irqs)
 {
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 unsigned int probe_irq_mask(unsigned long irqs)
 {
        return 0;
index d3c858e359d6fd89535dd64c1d68abc6c0022e32..ba96af588c4bc094b085e3a950a10c257c40beb3 100644 (file)
@@ -498,6 +498,8 @@ void dump_stack(void)
        show_stack(current, NULL);
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void show_stack(struct task_struct *tsk, unsigned long *stack)
 {
        unsigned long sp, stack_top, prev_sp, ret;
index 7b399de14a8522530c5693f96207dbe0c46810a9..0eb3575a496bdd485eacebba836f6ed5db2138a2 100644 (file)
@@ -119,16 +119,22 @@ void machine_restart(char *cmd)
        ppc_md.restart(cmd);
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_power_off(void)
 {
        ppc_md.power_off();
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 void machine_halt(void)
 {
        ppc_md.halt();
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void (*pm_power_off)(void) = machine_power_off;
 
 #ifdef CONFIG_TAU
index a1e7e665a3919bc0378147da4c68122b2d945c4a..9d8e34c4702b1541a8901a931d13d12bcb8cdc49 100644 (file)
@@ -10,6 +10,7 @@
 
 #include <linux/config.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
@@ -52,6 +53,8 @@ cpumask_t cpu_possible_map;
 int smp_hw_index[NR_CPUS];
 struct thread_info *secondary_ti;
 
+EXPORT_SYMBOL(cpu_online_map);
+
 /* SMP operations for this machine */
 static struct smp_ops_t *smp_ops;
 
index 22e6d29d9cb7d9f83cb4b098878831568a1b4dfa..26ac94c72b5821908f02b5de2cc7197826c5d480 100644 (file)
@@ -69,6 +69,8 @@
 /* XXX false sharing with below? */
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 unsigned long disarm_decr[NR_CPUS];
 
 extern struct timezone sys_tz;
@@ -239,6 +241,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        time_t wtm_sec, new_sec = tv->tv_sec;
@@ -293,6 +297,8 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 /* This function is only called on the boot processor */
 void __init time_init(void)
 {
index 39cf6bf4cf5a80142718d924f8f413706423c8d1..e65213ea0b6ec84219556494a118a4821c627124 100644 (file)
@@ -19,6 +19,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/errno.h>
@@ -80,6 +81,9 @@ extern char __openfirmware_begin, __openfirmware_end;
 #ifdef CONFIG_HIGHMEM
 pte_t *kmap_pte;
 pgprot_t kmap_prot;
+
+EXPORT_SYMBOL(kmap_prot);
+EXPORT_SYMBOL(kmap_pte);
 #endif
 
 void MMU_init(void);
index 4fb1a2bb47b911aa27a744afd09af330ca7aea7e..8481a415af06d25e609a28e29d66a3a5a0125c54 100644 (file)
@@ -1,4 +1,5 @@
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/stddef.h>
 #include <linux/init.h>
 #include <linux/sched.h>
@@ -196,3 +197,5 @@ int request_irq(unsigned int irq,
        }
 #endif
 }
+
+EXPORT_SYMBOL(request_irq);
index 546636ee5a8768d2a1701b0b83daa13b05d53a93..38cb7aeb1223374fe94cde969b5e992c3a100003 100644 (file)
@@ -1,4 +1,5 @@
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/init_task.h>
@@ -11,6 +12,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial thread structure.
  *
@@ -28,3 +31,5 @@ union thread_union init_thread_union
  * All other task structs will be allocated on slabs in fork.c
  */
 struct task_struct init_task = INIT_TASK(init_task);
+
+EXPORT_SYMBOL(init_task);
index d1b1af298f80a4744a07e9f157280ae631426453..869c27539f8117f0d48b31d1444bb51b3dcb7603 100644 (file)
@@ -24,6 +24,7 @@
  */
 
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/threads.h>
 #include <linux/kernel_stat.h>
 #include <linux/signal.h>
@@ -216,11 +217,15 @@ int request_irq(unsigned int irq,
        return 0;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 void free_irq(unsigned int irq, void *dev_id)
 {
        request_irq(irq, NULL, 0, NULL, dev_id);
 }
 
+EXPORT_SYMBOL(free_irq);
+
 /*
  * Generic enable/disable code: this just calls
  * down into the PIC-specific version for the actual
@@ -603,11 +608,15 @@ unsigned long probe_irq_on (void)
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 int probe_irq_off (unsigned long irqs)
 {
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 unsigned int probe_irq_mask(unsigned long irqs)
 {
        return 0;
index 4477ea92dceb874a3bf1f99ad0762a2c8ee775c6..0b16f7615ad52c854e1bb7e1be8125d4e79bcdf2 100644 (file)
@@ -17,6 +17,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
@@ -431,6 +432,8 @@ void dump_stack(void)
        show_stack(current, (unsigned long *)_get_SP());
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void show_trace_task(struct task_struct *tsk)
 {
        show_stack(tsk, (unsigned long *)tsk->thread.ksp);
index bc6b7aeb6b1801573a339df6d96bdc5b0f1553e0..b0d0d54c8a46eb5ea97182b3c46fa198eeb45886 100644 (file)
@@ -228,17 +228,23 @@ void machine_restart(char *cmd)
 {
        ppc_md.restart(cmd);
 }
+
+EXPORT_SYMBOL(machine_restart);
   
 void machine_power_off(void)
 {
        ppc_md.power_off();
 }
+
+EXPORT_SYMBOL(machine_power_off);
   
 void machine_halt(void)
 {
        ppc_md.halt();
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 unsigned long ppc_proc_freq;
 unsigned long ppc_tb_freq;
 
index e7a99f4983e43626efdfdde8028bd672d68448b7..5c35dcae6f97ff35596bcc16ac49e2f6af282e2f 100644 (file)
@@ -17,6 +17,7 @@
 
 #include <linux/config.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
@@ -55,6 +56,8 @@ unsigned long cache_decay_ticks;
 /* initialised so it doesn't end up in bss */
 cpumask_t cpu_online_map = CPU_MASK_NONE;
 
+EXPORT_SYMBOL(cpu_online_map);
+
 static struct smp_ops_t *smp_ops;
 
 static volatile unsigned int cpu_callin_map[NR_CPUS];
index 2f5366cb9848d58f45353af1a38f537a25149923..3f652e5e6a3ee0fb125d46673cd654563db72cd1 100644 (file)
@@ -35,6 +35,7 @@
 
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/param.h>
@@ -67,6 +68,8 @@ void smp_local_timer_interrupt(struct pt_regs *);
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 /* keep track of when we need to update the rtc */
 time_t last_rtc_update;
 extern int piranha_simulator;
@@ -345,6 +348,8 @@ void do_gettimeofday(struct timeval *tv)
         tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        time_t wtm_sec, new_sec = tv->tv_sec;
@@ -411,6 +416,8 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 /*
  * This function is a copy of the architecture independent function
  * but which calls do_settimeofday rather than setting the xtime
index efab42c45fb8d2cbc50bb3ad0c2fc7cf9bafdd28..652c42325eca66dae03f2af2bbd634bf92ebc0b2 100644 (file)
@@ -7,6 +7,7 @@
  */
 
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init_task.h>
 
@@ -19,6 +20,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial thread structure.
  *
@@ -37,3 +40,4 @@ union thread_union init_thread_union
  */
 struct task_struct init_task = INIT_TASK(init_task);
 
+EXPORT_SYMBOL(init_task);
index 30ea8fbaf5816b28d871ba613df667867e86ea25..3798020fbbd56e50a471a06a472f4198d6fd39d3 100644 (file)
@@ -15,6 +15,7 @@
  */
 
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
@@ -289,16 +290,22 @@ void machine_restart(char *command)
        _machine_restart(command);
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_halt(void)
 {
        _machine_halt();
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off(void)
 {
        _machine_power_off();
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 /*
  * Setup function called from init/main.c just after the banner
  * was printed.
index daf01c8c90d1b29ab500b6aba637fafd6ef55fc8..14646c5a10b32b62438d77d4a3ec3cabcbe95657 100644 (file)
@@ -55,6 +55,8 @@ cpumask_t cpu_online_map;
 cpumask_t cpu_possible_map;
 unsigned long    cache_decay_ticks = 0;
 
+EXPORT_SYMBOL(cpu_online_map);
+
 /*
  * Reboot, halt and power_off routines for SMP.
  */
index 16b41456093ebff19c69a9860bcf0b390eb33678..98200f412f712d75c50150592045ced3830cf12c 100644 (file)
@@ -12,6 +12,7 @@
  */
 
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/param.h>
@@ -48,6 +49,8 @@
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 static ext_int_info_t ext_int_info_timer;
 static u64 init_timer_cc;
 static u64 jiffies_timer_cc;
@@ -109,6 +112,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        time_t wtm_sec, sec = tv->tv_sec;
@@ -140,6 +145,8 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 #ifndef CONFIG_ARCH_S390X
 
 static inline __u32
index 75439982f10329f09f348d5a3250c403fe3d2a99..6efb3cfa4d830139bf5b66c79d78fefec9da07c9 100644 (file)
@@ -147,6 +147,8 @@ void dump_stack(void)
        show_stack(0, 0);
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void show_registers(struct pt_regs *regs)
 {
        mm_segment_t old_fs;
index ea14ba9f0cb6fd7ddf474617254e00ca7a2e85aa..469a988d4d66f7c343a4adc0f2b6bf73027c620d 100644 (file)
@@ -1,4 +1,5 @@
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init_task.h>
 
@@ -11,6 +12,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial thread structure.
  *
@@ -28,3 +31,5 @@ union thread_union init_thread_union
  * All other task structs will be allocated on slabs in fork.c
  */
 struct task_struct init_task = INIT_TASK(init_task);
+
+EXPORT_SYMBOL(init_task);
index 4b4896fc379e949a79825bc653abc68b9aa2f4b3..c226e0913a380516064a787e7dd9d43054c6906e 100644 (file)
@@ -14,6 +14,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/ptrace.h>
 #include <linux/errno.h>
 #include <linux/kernel_stat.h>
@@ -354,6 +355,8 @@ int request_irq(unsigned int irq,
        return retval;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 void free_irq(unsigned int irq, void *dev_id)
 {
        irq_desc_t *desc;
@@ -391,6 +394,8 @@ void free_irq(unsigned int irq, void *dev_id)
        }
 }
 
+EXPORT_SYMBOL(free_irq);
+
 static DECLARE_MUTEX(probe_sem);
 
 /*
@@ -475,6 +480,8 @@ unsigned long probe_irq_on(void)
        return val;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 int probe_irq_off(unsigned long val)
 {
        int i, irq_found, nr_irqs;
@@ -506,6 +513,8 @@ int probe_irq_off(unsigned long val)
        return irq_found;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 int setup_irq(unsigned int irq, struct irqaction * new)
 {
        int shared = 0;
index 73e631ff2147bde25a3422f299bca84da9924f46..4873d8380c80ecbdb028af06d8875e5df57e31ac 100644 (file)
@@ -11,6 +11,7 @@
  * This file handles the architecture-dependent parts of process handling..
  */
 
+#include <linux/module.h>
 #include <linux/unistd.h>
 #include <linux/mm.h>
 #include <linux/elfcore.h>
@@ -33,11 +34,15 @@ void disable_hlt(void)
        hlt_counter++;
 }
 
+EXPORT_SYMBOL(disable_hlt);
+
 void enable_hlt(void)
 {
        hlt_counter--;
 }
 
+EXPORT_SYMBOL(enable_hlt);
+
 void default_idle(void)
 {
        /* endless idle loop with no priority at all */
@@ -71,16 +76,22 @@ void machine_restart(char * __unused)
                     "mov.l @%1, %0" : : "r" (0x10000000), "r" (0x80000001));
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_halt(void)
 {
        while (1)
                asm volatile("sleep" : : : "memory");
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off(void)
 {
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 void show_regs(struct pt_regs * regs)
 {
        printk("\n");
index 6898847a14335bbf5b2450a4f6eb7e20111080b0..8bf9a5ca6e666d96db1ca4cb17536dcc4554ae34 100644 (file)
@@ -13,6 +13,7 @@
 
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/param.h>
@@ -72,6 +73,8 @@ spinlock_t tmu0_lock = SPIN_LOCK_UNLOCKED;
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 /* XXX: Can we initialize this in a routine somewhere?  Dreamcast doesn't want
  * these routines anywhere... */
 #ifdef CONFIG_SH_RTC
@@ -177,6 +180,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        time_t wtm_sec, sec = tv->tv_sec;
@@ -211,6 +216,8 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 /* last time the RTC clock got updated */
 static long last_rtc_update;
 
index 59b2ca6295085c2c3549e69a06a1a1d0eca7ccc5..ddddb3333addc877a47f655feca9a45c5f8429a6 100644 (file)
@@ -647,3 +647,4 @@ void dump_stack(void)
        show_stack(NULL, NULL);
 }
 
+EXPORT_SYMBOL(dump_stack);
index 814ea28ad6bfd0a0d337e8c40e23a1f755da221b..8b451b235665fe09bfadfc5065b47626ec1b2593 100644 (file)
@@ -1,4 +1,5 @@
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init_task.h>
 
@@ -12,6 +13,9 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 struct task_struct init_task = INIT_TASK(init_task);
 
+EXPORT_SYMBOL(init_mm);
+EXPORT_SYMBOL(init_task);
+
 /* .text section in head.S is aligned at 8k boundary and this gets linked
  * right after that so that the init_thread_union is aligned properly as well.
  * If this is not aligned on a 8k boundry, then you should change code
index 6ef18cef15fd575c929e9b337e8b00f1b098bc6f..d53d1ec989a9a40c0310bff7db8dd7ed6edf5c76 100644 (file)
@@ -12,6 +12,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/ptrace.h>
 #include <linux/errno.h>
@@ -203,6 +204,8 @@ void free_irq(unsigned int irq, void *dev_id)
         restore_flags(flags);
 }
 
+EXPORT_SYMBOL(free_irq);
+
 #ifdef CONFIG_SMP
 
 /* Who has the global irq brlock */
@@ -621,6 +624,8 @@ int request_irq(unsigned int irq,
        return 0;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 /* We really don't need these at all on the Sparc.  We only have
  * stubs here because they are exported to modules.
  */
@@ -629,11 +634,15 @@ unsigned long probe_irq_on(void)
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 int probe_irq_off(unsigned long mask)
 {
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 /* djhr
  * This could probably be made indirect too and assigned in the CPU
  * bits of the code. That would be much nicer I think and would also
index e6decaa9daf91b30439d7c56da5f1f862707da0e..ad2ebf4fda5a119c5186633c574bfe3e880f9710 100644 (file)
@@ -13,6 +13,7 @@
 #include <stdarg.h>
 
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
@@ -157,6 +158,8 @@ void machine_halt(void)
        panic("Halt failed!");
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_restart(char * cmd)
 {
        char *p;
@@ -177,6 +180,8 @@ void machine_restart(char * cmd)
        panic("Reboot failed!");
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_power_off(void)
 {
 #ifdef CONFIG_SUN_AUXIO
@@ -186,6 +191,8 @@ void machine_power_off(void)
        machine_halt();
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 static spinlock_t sparc_backtrace_lock = SPIN_LOCK_UNLOCKED;
 
 void __show_backtrace(unsigned long fp)
index 58a369d725296b85ef0049adb912d752bcbcb2a3..72c5443bb2cac48a5bb0296203743f951ea2297b 100644 (file)
@@ -224,7 +224,6 @@ EXPORT_SYMBOL(svr4_setcontext);
 EXPORT_SYMBOL(svr4_getcontext);
 EXPORT_SYMBOL(_sigpause_common);
 
-/* Should really be in linux/kernel/ksyms.c */
 EXPORT_SYMBOL(dump_thread);
 
 /* prom symbols */
index dc252b470328a96ee99d60f8d221247ded178f2a..5549a6fd172bf5071b6c3f846872303b5c0031e5 100644 (file)
@@ -17,6 +17,7 @@
  */
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/param.h>
@@ -47,6 +48,8 @@ extern unsigned long wall_jiffies;
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 spinlock_t rtc_lock = SPIN_LOCK_UNLOCKED;
 enum sparc_clock_type sp_clock_typ;
 spinlock_t mostek_lock = SPIN_LOCK_UNLOCKED;
@@ -500,6 +503,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        int ret;
@@ -510,6 +515,8 @@ int do_settimeofday(struct timespec *tv)
        return ret;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 static int sbus_do_settimeofday(struct timespec *tv)
 {
        time_t wtm_sec, sec = tv->tv_sec;
index 191d05fc979c0f4f538a1eea5c9590f062e19907..320882925ca86e5ff24c1a8dc463424c73ceb792 100644 (file)
@@ -8,6 +8,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/signal.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
@@ -57,6 +58,9 @@ unsigned long highstart_pfn, highend_pfn;
 pte_t *kmap_pte;
 pgprot_t kmap_prot;
 
+EXPORT_SYMBOL(kmap_prot);
+EXPORT_SYMBOL(kmap_pte);
+
 /* These are set in {srmmu,sun4c}_paging_init() */
 unsigned long fix_kmap_begin;
 unsigned long fix_kmap_end;
index e0712ddcdcb6a5f9fac64e5023188e10709db0bb..41fa4bd408ffdd1e0c0d757707d67398c3d49878 100644 (file)
@@ -1,4 +1,5 @@
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init_task.h>
 
@@ -12,6 +13,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /* .text section in head.S is aligned at 2 page boundary and this gets linked
  * right after that so that the init_thread_union is aligned properly as well.
  * We really don't need this special alignment like the Intel does, but
@@ -33,5 +36,7 @@ char init_task_stack[THREAD_SIZE - INIT_THREAD_SIZE] = { 0 };
  *
  * All other task structs will be allocated on slabs in fork.c
  */
+EXPORT_SYMBOL(init_task);
+
 __asm__(".data");
 struct task_struct init_task = INIT_TASK(init_task);
index f1493471fc0bd5481daf392f55a321fe85d23931..81bce655dd8e50cb4ece254cb1b7269e2c932c2a 100644 (file)
@@ -7,6 +7,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/ptrace.h>
 #include <linux/errno.h>
@@ -486,6 +487,8 @@ free_and_enomem:
        return -ENOMEM;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 void free_irq(unsigned int irq, void *dev_id)
 {
        struct irqaction *action;
@@ -608,6 +611,8 @@ out:
        spin_unlock_irqrestore(&irq_action_lock, flags);
 }
 
+EXPORT_SYMBOL(free_irq);
+
 #ifdef CONFIG_SMP
 void synchronize_irq(unsigned int irq)
 {
@@ -959,11 +964,15 @@ unsigned long probe_irq_on(void)
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 int probe_irq_off(unsigned long mask)
 {
        return 0;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 #ifdef CONFIG_SMP
 static int retarget_one_irq(struct irqaction *p, int goal_cpu)
 {
index 93132adbec0824a99668a3c62202a2c60aa188d5..b7e865eb7154460697498c003a0e100ca2ef675c 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <linux/config.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/init.h>
 #include <linux/sched.h>
 #include <linux/signal.h>
@@ -61,6 +62,8 @@ void machine_power_off(void)
        machine_halt();
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 #ifdef CONFIG_PCI
 static int powerd(void *__unused)
 {
index 84ae8431c65329ad86d9afb4116e9ef45ad2a858..2119eefc2d83dfc5016df2a50c06aa2ce2e8a3e0 100644 (file)
@@ -14,6 +14,7 @@
 #include <stdarg.h>
 
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/kallsyms.h>
@@ -125,6 +126,8 @@ void machine_halt(void)
        panic("Halt failed!");
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_alt_power_off(void)
 {
        if (!serial_console && prom_palette)
@@ -153,6 +156,8 @@ void machine_restart(char * cmd)
        panic("Reboot failed!");
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 static void show_regwindow32(struct pt_regs *regs)
 {
        struct reg_window32 *rw;
index cb3ecbfdbd16348f5a192925046fec75e4c23e82..63ea286fec4eb88f44c4513368fdec14fe06b9cb 100644 (file)
@@ -250,7 +250,6 @@ EXPORT_SYMBOL(io_remap_page_range);
 EXPORT_SYMBOL(_sigpause_common);
 EXPORT_SYMBOL(verify_compat_iovec);
 
-/* Should really be in linux/kernel/ksyms.c */
 EXPORT_SYMBOL(dump_thread);
 EXPORT_SYMBOL(dump_fpu);
 EXPORT_SYMBOL(pte_alloc_one_kernel);
index 2039cf7157822e9532caecbc962aad7d5557ba57..4871140c13ed5ac4048ad60e248c5f0a01669e7d 100644 (file)
@@ -11,6 +11,7 @@
 
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/param.h>
@@ -55,6 +56,8 @@ extern unsigned long wall_jiffies;
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 static unsigned long mstk48t08_regs = 0UL;
 static unsigned long mstk48t59_regs = 0UL;
 
@@ -1126,6 +1129,8 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 /* Ok, my cute asm atomicity trick doesn't work anymore.
  * There are just too many variables that need to be protected
  * now (both members of xtime, wall_jiffies, et al.)
@@ -1157,6 +1162,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 static int set_rtc_mmss(unsigned long nowtime)
 {
        int real_seconds, real_minutes, chip_minutes;
index 44057dd8ddd43c4e27b3eee721c938f529d7593f..88dd0693f5e9512050319155ef5487c3879bb953 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/sched.h>  /* for jiffies */
 #include <linux/kernel.h>
 #include <linux/kallsyms.h>
@@ -1767,6 +1768,8 @@ void dump_stack(void)
        show_stack(current, ksp);
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void die_if_kernel(char *str, struct pt_regs *regs)
 {
        static int die_counter;
index 6e27cb03225813445f0ac3555d929e63644af80c..fa50a9b81ca204848db17b3344bd052aaafad08e 100644 (file)
@@ -1,5 +1,6 @@
 #include "asm/uaccess.h"
 #include "linux/errno.h"
+#include "linux/module.h"
 
 extern unsigned int arch_csum_partial(const char *buff, int len, int sum);
 
@@ -8,6 +9,8 @@ extern unsigned int csum_partial(char *buff, int len, int sum)
        return(arch_csum_partial(buff, len, sum));
 }
 
+EXPORT_SYMBOL(csum_partial);
+
 unsigned int csum_partial_copy_to(const char *src, char *dst, int len, 
                                  int sum, int *err_ptr)
 {
index ee7aedfabe9c5c1c669554ab4bbab1dde041cfe9..7d6bb961d89e0b2a2989546ccbd4bfd9fe94abda 100644 (file)
@@ -5,6 +5,7 @@
 
 #include "linux/config.h"
 #include "linux/mm.h"
+#include "linux/module.h"
 #include "linux/sched.h"
 #include "linux/init_task.h"
 #include "linux/version.h"
@@ -18,6 +19,8 @@ struct mm_struct init_mm = INIT_MM(init_mm);
 static struct files_struct init_files = INIT_FILES;
 static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial task structure.
  *
@@ -26,6 +29,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 
 struct task_struct init_task = INIT_TASK(init_task);
 
+EXPORT_SYMBOL(init_task);
+
 /*
  * Initial thread structure.
  *
index 05c8fba31ee548911676bdaa1330d2b9577bef45..f8f5dfe78db022cd4e89062452941be778d39848 100644 (file)
@@ -7,6 +7,7 @@
 
 #include "linux/config.h"
 #include "linux/kernel.h"
+#include "linux/module.h"
 #include "linux/smp.h"
 #include "linux/irq.h"
 #include "linux/kernel_stat.h"
@@ -429,6 +430,8 @@ int request_irq(unsigned int irq,
        return retval;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 int um_request_irq(unsigned int irq, int fd, int type,
                   void (*handler)(int, void *, struct pt_regs *),
                   unsigned long irqflags, const char * devname,
@@ -557,6 +560,8 @@ void free_irq(unsigned int irq, void *dev_id)
        }
 }
 
+EXPORT_SYMBOL(free_irq);
+
 /* These are initialized by sysctl_init, which is called from init/main.c */
 static struct proc_dir_entry * root_irq_dir;
 static struct proc_dir_entry * irq_dir [NR_IRQS];
@@ -751,11 +756,15 @@ unsigned long probe_irq_on(void)
        return(0);
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 int probe_irq_off(unsigned long val)
 {
        return(0);
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 static unsigned int startup_SIGIO_irq(unsigned int irq)
 {
        return(0);
index 9d3ae3fffdafc7463e9e9bc95afc7521f0428e7c..5bcef3e3e7ba1be4cf4e08058e3b57677df87117 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include "linux/config.h"
+#include "linux/module.h"
 #include "linux/types.h"
 #include "linux/mm.h"
 #include "linux/fs.h"
@@ -129,6 +130,9 @@ void set_kmem_end(unsigned long new)
 pte_t *kmap_pte;
 pgprot_t kmap_prot;
 
+EXPORT_SYMBOL(kmap_prot);
+EXPORT_SYMBOL(kmap_pte);
+
 #define kmap_get_fixmap_pte(vaddr)                                     \
        pte_offset_kernel(pmd_offset(pgd_offset_k(vaddr), (vaddr)), (vaddr))
 
index 18c53d71658ec75b33aaf8b448a5cfb4b2c49039..e17600a9b3876d05f3a0196b4b626931eb20ab4c 100644 (file)
@@ -278,11 +278,15 @@ void enable_hlt(void)
        panic("enable_hlt");
 }
 
+EXPORT_SYMBOL(enable_hlt);
+
 void disable_hlt(void)
 {
        panic("disable_hlt");
 }
 
+EXPORT_SYMBOL(disable_hlt);
+
 extern int signal_frame_size;
 
 void *um_kmalloc(int size)
index 61d7a4e6000f50e7b60f84b0bdd72ca36a2e98f1..3e4ab2963be5a2d5f01c5ddaf93862c8407062bb 100644 (file)
@@ -3,6 +3,7 @@
  * Licensed under the GPL
  */
 
+#include "linux/module.h"
 #include "linux/sched.h"
 #include "user_util.h"
 #include "kern_util.h"
@@ -46,6 +47,8 @@ void machine_restart(char * __unused)
        CHOOSE_MODE(reboot_tt(), reboot_skas());
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_power_off(void)
 {
        do_uml_exitcalls();
@@ -53,11 +56,15 @@ void machine_power_off(void)
        CHOOSE_MODE(halt_tt(), halt_skas());
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 void machine_halt(void)
 {
        machine_power_off();
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 /*
  * Overrides for Emacs so that we follow Linus's tabbing style.
  * Emacs will notice this stuff at the end of the file and automatically
index f4ca0885bf7f33a96ba1e5755de38d558425da3b..34f826c086983e63266239db040b127d6d15c768 100644 (file)
@@ -8,6 +8,7 @@
 #ifdef CONFIG_SMP
 
 #include "linux/sched.h"
+#include "linux/module.h"
 #include "linux/threads.h"
 #include "linux/interrupt.h"
 #include "linux/err.h"
@@ -24,6 +25,8 @@
 /* CPU online map, set by smp_boot_cpus */
 unsigned long cpu_online_map = cpumask_of_cpu(0);
 
+EXPORT_SYMBOL(cpu_online_map);
+
 /* Per CPU bogomips and other parameters
  * The only piece used here is the ipi pipe, which is set before SMP is
  * started and never changed.
index 4936445793b7abfa97d747a9198b7b7c821c6b39..078dc11132d3dd4e9173b786d4fcb895509ccb4e 100644 (file)
@@ -43,6 +43,8 @@ void dump_stack(void)
        show_trace(&stack);
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void show_trace_task(struct task_struct *tsk)
 {
        unsigned long esp = PT_REGS_SP(&tsk->thread.regs);
index 69c7b39082c41f02729c464144e30638240d44b9..737bd2e6ecf6ad9f60cf946a06fa7a7e921985ca 100644 (file)
@@ -9,6 +9,7 @@
 #include <sys/time.h>
 #include <signal.h>
 #include <errno.h>
+#include "linux/module.h"
 #include "user_util.h"
 #include "kern_util.h"
 #include "user.h"
@@ -94,6 +95,8 @@ void do_gettimeofday(struct timeval *tv)
        time_unlock(flags);
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        struct timeval now;
@@ -112,6 +115,8 @@ int do_settimeofday(struct timespec *tv)
        time_unlock(flags);
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 void idle_sleep(int secs)
 {
        struct timespec ts;
index 8ae06b0d7cce36aa37370b9d92a6676b556f3724..752fd03f2bcd666eb7f4fc7f22951187f4b9f454 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include "linux/kernel.h"
+#include "linux/module.h"
 #include "linux/unistd.h"
 #include "linux/stddef.h"
 #include "linux/spinlock.h"
@@ -22,6 +23,8 @@
 
 u64 jiffies_64;
 
+EXPORT_SYMBOL(jiffies_64);
+
 int hz(void)
 {
        return(HZ);
index 6c542d0a0f9a7a57c6ef93f5e18c5dab26b8a52c..6aaeab5e8a4047c209da9e6815410ce071cde1cc 100644 (file)
@@ -13,6 +13,7 @@
 
 #include <linux/config.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/init.h>
 #include <linux/bootmem.h>
 #include <linux/major.h>
@@ -131,6 +132,8 @@ void machine_restart (char *__unused)
        asm ("jmp r0"); /* Jump to the reset vector.  */
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_halt (void)
 {
 #ifdef CONFIG_RESET_GUARD
@@ -142,11 +145,15 @@ void machine_halt (void)
                asm ("halt; nop; nop; nop; nop; nop");
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off (void)
 {
        machine_halt ();
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 /* Called before configuring an on-chip UART.  */
 void anna_uart_pre_configure (unsigned chan, unsigned cflags, unsigned baud)
 {
index 6529be52037a6b8caa4128d275b1cbc71ad00b04..71b895f6aab7c040b4979e9ad6bd7910be926c07 100644 (file)
@@ -13,6 +13,7 @@
 
 #include <linux/config.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/init.h>
 #include <linux/bootmem.h>
 #include <linux/major.h>
@@ -171,6 +172,8 @@ void machine_restart (char *__unused)
        asm ("jmp r0"); /* Jump to the reset vector.  */
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_halt (void)
 {
 #ifdef CONFIG_RESET_GUARD
@@ -182,11 +185,15 @@ void machine_halt (void)
                asm ("halt; nop; nop; nop; nop; nop");
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off (void)
 {
        machine_halt ();
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 /* Called before configuring an on-chip UART.  */
 void as85ep1_uart_pre_configure (unsigned chan, unsigned cflags, unsigned baud)
 {
index 5cdf174e5dc36b5ec532b5541fb9cf6720206cf9..5430c7101eafb054b194b6dd3bd8c2d1e969681a 100644 (file)
@@ -137,3 +137,5 @@ void dump_stack ()
 {
        show_stack (0, 0);
 }
+
+EXPORT_SYMBOL(dump_stack);
index 290d564855ca6cdaa946c365fb6992450c4c231f..72dda796fac62b5d05be8fb464e4cb3a202e1057 100644 (file)
@@ -14,6 +14,7 @@
 
 #include <linux/config.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/swap.h>
@@ -121,16 +122,22 @@ void machine_halt (void)
        }
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_restart (char *__unused)
 {
        machine_halt ();
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_power_off (void)
 {
        machine_halt ();
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 \f
 /* Interrupts */
 
index d8ea8d8c4e20a20320c2e9f4e778356360fde7a2..a5dac3a83dc64fd96c356f2516bf1360a7d8e5c3 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/init_task.h>
@@ -24,6 +25,8 @@ static struct signal_struct init_signals = INIT_SIGNALS (init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM (init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial task structure.
  *
@@ -31,6 +34,8 @@ struct mm_struct init_mm = INIT_MM (init_mm);
  */
 struct task_struct init_task = INIT_TASK (init_task);
 
+EXPORT_SYMBOL(init_task);
+
 /*
  * Initial thread structure.
  *
index 19038024352fea1e4eb96b1bee41b9c7f70d29fa..ffa66b3f9db5d7730cff667be30886c7591be4b0 100644 (file)
@@ -14,6 +14,7 @@
  */
 
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/irq.h>
 #include <linux/init.h>
 #include <linux/interrupt.h>
@@ -400,6 +401,8 @@ int request_irq(unsigned int irq,
        return retval;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 /**
  *     free_irq - free an interrupt
  *     @irq: Interrupt line to free
@@ -456,6 +459,8 @@ void free_irq(unsigned int irq, void *dev_id)
        }
 }
 
+EXPORT_SYMBOL(free_irq);
+
 /*
  * IRQ autodetection code..
  *
@@ -549,6 +554,8 @@ unsigned long probe_irq_on(void)
        return val;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 /*
  * Return a mask of triggered interrupts (this
  * can handle only legacy ISA interrupts).
@@ -647,6 +654,8 @@ int probe_irq_off(unsigned long val)
        return irq_found;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 /* this was setup_x86_irq but it seems pretty generic */
 int setup_irq(unsigned int irq, struct irqaction * new)
 {
index 45c1b1197c1bfd621e6eedc52ec6ae79a9a4b1a8..7ba397f77aca136c4c87f9ad66703e3f7568dfff 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/init.h>
 #include <linux/irq.h>
 #include <linux/fs.h>
+#include <linux/module.h>
 
 #include <asm/machdep.h>
 #include <asm/v850e_uart.h>
@@ -66,6 +67,8 @@ void machine_restart (char *__unused)
        asm ("jmp r0"); /* Jump to the reset vector.  */
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 /* This says `HALt.' in LEDese.  */
 static unsigned char halt_leds_msg[] = { 0x76, 0x77, 0x38, 0xF8 };
 
@@ -86,11 +89,15 @@ void machine_halt (void)
                asm ("halt; nop; nop; nop; nop; nop");
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off (void)
 {
        machine_halt ();
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 \f
 /* Animated LED display for timer tick.  */
 
index 0367d135344032a8b7b40aea0f53411b34057389..4f31da96263277a6af51f58de67183cd4cb29ff2 100644 (file)
@@ -13,6 +13,7 @@
 
 #include <linux/config.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/swap.h>
@@ -103,18 +104,24 @@ void machine_restart (char *__unused)
        V850_SIM_SYSCALL (exit, 0);
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_halt (void)
 {
        V850_SIM_SYSCALL (write, 1, "HALT\n", 5);
        V850_SIM_SYSCALL (exit, 0);
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off (void)
 {
        V850_SIM_SYSCALL (write, 1, "POWER OFF\n", 10);
        V850_SIM_SYSCALL (exit, 0);
 }
 
+EXPORT_SYMBOL(machine_power_off);
+
 \f
 /* Load data from a file called NAME into ram.  The address and length
    of the data image are returned in ADDR and LEN.  */
index 9dbb35482ba57471f45139c0365267e5c79181d6..d35be73b84450880cfd67fd71ab865c4114a55ab 100644 (file)
@@ -14,6 +14,7 @@
 
 #include <linux/config.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/swap.h>
@@ -200,12 +201,18 @@ void machine_halt (void)
        for (;;) {}
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_restart (char *__unused)
 {
        machine_halt ();
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_power_off (void)
 {
        machine_halt ();
 }
+
+EXPORT_SYMBOL(machine_power_off);
index 5151f001a1e6582d3fe5058c17a888012647574f..4f965560036e9b11703c0675beecce2d0b1f54ec 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/config.h> /* CONFIG_HEARTBEAT */
 #include <linux/errno.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/param.h>
 #include <linux/string.h>
 #include <linux/mm.h>
@@ -27,6 +28,8 @@
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 #define TICK_SIZE      (tick_nsec / 1000)
 
 static inline void do_profile (unsigned long pc)
@@ -149,6 +152,8 @@ void do_gettimeofday (struct timeval *tv)
        tv->tv_usec = usec;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 int do_settimeofday(struct timespec *tv)
 {
        if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC)
@@ -183,6 +188,8 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 static int timer_dev_id;
 static struct irqaction timer_irqaction = {
        timer_interrupt,
index ff944fddc8929cdad2676a14807a20b18d86975d..17eb3851e8a9c608f1e6f143b0af483ded717c73 100644 (file)
@@ -17,6 +17,7 @@
  * $Id: checksum.c,v 1.1 2002/09/28 14:58:40 gerg Exp $
  */
 #include <net/checksum.h>
+#include <linux/module.h>
 #include <linux/types.h>
 #include <asm/byteorder.h>
 #include <asm/string.h>
@@ -115,6 +116,8 @@ unsigned int csum_partial(const unsigned char *buff, int len, unsigned int sum)
        return result;
 }
 
+EXPORT_SYMBOL(csum_partial);
+
 /*
  * copy while checksumming, otherwise like csum_partial
  */
index a2ee7e8612814611f48a880db8bbe26dc55ca481..57ec2f0ee36ac3d6ee9a40d92fe8992dc5d52955 100644 (file)
@@ -1,4 +1,5 @@
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/init_task.h>
@@ -14,6 +15,8 @@ static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
 struct mm_struct init_mm = INIT_MM(init_mm);
 
+EXPORT_SYMBOL(init_mm);
+
 /*
  * Initial task structure.
  *
@@ -32,6 +35,7 @@ union thread_union init_thread_union
  */
 struct task_struct init_task = INIT_TASK(init_task);
 
+EXPORT_SYMBOL(init_task);
 /*
  * per-CPU TSS segments. Threads are completely 'soft' on Linux,
  * no more per-task TSS's. The TSS size is kept cacheline-aligned
index 89c56fcf99c7b0a4dcba737e1f3cd4e7ef4a79d9..3946c6d2ad05dd506dd06f2d8a98b783f0e75b58 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/module.h>
 #include <linux/signal.h>
 #include <linux/sched.h>
 #include <linux/ioport.h>
@@ -481,6 +482,8 @@ int request_irq(unsigned int irq,
        return retval;
 }
 
+EXPORT_SYMBOL(request_irq);
+
 /**
  *     free_irq - free an interrupt
  *     @irq: Interrupt line to free
@@ -537,6 +540,8 @@ void free_irq(unsigned int irq, void *dev_id)
        }
 }
 
+EXPORT_SYMBOL(free_irq);
+
 /*
  * IRQ autodetection code..
  *
@@ -630,6 +635,8 @@ unsigned long probe_irq_on(void)
        return val;
 }
 
+EXPORT_SYMBOL(probe_irq_on);
+
 /*
  * Return a mask of triggered interrupts (this
  * can handle only legacy ISA interrupts).
@@ -728,6 +735,8 @@ int probe_irq_off(unsigned long val)
        return irq_found;
 }
 
+EXPORT_SYMBOL(probe_irq_off);
+
 /* this was setup_x86_irq but it seems pretty generic */
 int setup_irq(unsigned int irq, struct irqaction * new)
 {
index 0203b0c4bf2a520c10778a5b932b46c374655c89..bf63c6e9d0b896dd790446e8f19792fa481ce5b9 100644 (file)
@@ -65,11 +65,15 @@ void disable_hlt(void)
        hlt_counter++;
 }
 
+EXPORT_SYMBOL(disable_hlt);
+
 void enable_hlt(void)
 {
        hlt_counter--;
 }
 
+EXPORT_SYMBOL(enable_hlt);
+
 /*
  * We use this if we don't have any better
  * idle routine..
index 2a972e33e1f00fb58a3dd81ddabb643567bc60b6..c7afa6c7abd412ccd772793f4d1b5865189c9538 100644 (file)
@@ -1,4 +1,5 @@
 /* Various gunk just to reboot the machine. */ 
+#include <linux/module.h>
 #include <linux/reboot.h>
 #include <linux/init.h>
 #include <linux/smp.h>
@@ -169,12 +170,18 @@ void machine_restart(char * __unused)
        }      
 }
 
+EXPORT_SYMBOL(machine_restart);
+
 void machine_halt(void)
 {
 }
 
+EXPORT_SYMBOL(machine_halt);
+
 void machine_power_off(void)
 {
        if (pm_power_off)
                pm_power_off();
 }
+
+EXPORT_SYMBOL(machine_power_off);
index 0e3d6eb77664ca8a16245616e299e2bfe0d30fb8..a57945080f41627e3128fb9d38d6a729be323054 100644 (file)
@@ -35,6 +35,8 @@
 
 u64 jiffies_64 = INITIAL_JIFFIES;
 
+EXPORT_SYMBOL(jiffies_64);
+
 extern int using_apic_timer;
 
 spinlock_t rtc_lock = SPIN_LOCK_UNLOCKED;
@@ -119,6 +121,8 @@ void do_gettimeofday(struct timeval *tv)
        tv->tv_usec = usec % 1000000;
 }
 
+EXPORT_SYMBOL(do_gettimeofday);
+
 /*
  * settimeofday() first undoes the correction that gettimeofday would do
  * on the time, and then saves it. This is ugly, but has been like this for
@@ -154,6 +158,8 @@ int do_settimeofday(struct timespec *tv)
        return 0;
 }
 
+EXPORT_SYMBOL(do_settimeofday);
+
 /*
  * In order to set the CMOS clock precisely, set_rtc_mmss has to be called 500
  * ms after the second nowtime has started, because when nowtime is written
index 34b55ae542a47fdab501f964c6de405abfdd3f65..4a79b137c1829f0510d2c8e9fe5620d4364955cf 100644 (file)
@@ -248,6 +248,8 @@ void dump_stack(void)
        show_trace(&dummy);
 }
 
+EXPORT_SYMBOL(dump_stack);
+
 void show_registers(struct pt_regs *regs)
 {
        int i;
index 2eb49de9b0276816b8acc1ff4b936a4864946e1d..5a5f6e770291849e2b5a71a33ee924eeba3b3d18 100644 (file)
@@ -135,6 +135,8 @@ unsigned csum_partial(const unsigned char *buff, unsigned len, unsigned sum)
        return add32_with_carry(do_csum(buff, len), sum); 
 }
 
+EXPORT_SYMBOL(csum_partial);
+
 /*
  * this routine is used for miscellaneous IP-like checksums, mainly
  * in icmp.c
index 290622c35b939e734159c9b8ba915656e53bfa3c..d50419e1e7d1b624f44c833bf45d692eb2f15f1b 100644 (file)
@@ -114,6 +114,8 @@ out:
        return ret;
 }
 
+EXPORT_SYMBOL(register_blkdev);
+
 /* todo: make void - error printk here */
 int unregister_blkdev(unsigned int major, const char *name)
 {
@@ -141,6 +143,8 @@ int unregister_blkdev(unsigned int major, const char *name)
        return ret;
 }
 
+EXPORT_SYMBOL(unregister_blkdev);
+
 static struct kobj_map *bdev_map;
 
 /*
@@ -155,12 +159,13 @@ void blk_register_region(dev_t dev, unsigned long range, struct module *module,
        kobj_map(bdev_map, dev, range, module, probe, lock, data);
 }
 
+EXPORT_SYMBOL(blk_register_region);
+
 void blk_unregister_region(dev_t dev, unsigned long range)
 {
        kobj_unmap(bdev_map, dev, range);
 }
 
-EXPORT_SYMBOL(blk_register_region);
 EXPORT_SYMBOL(blk_unregister_region);
 
 static struct kobject *exact_match(dev_t dev, int *part, void *data)
@@ -545,6 +550,8 @@ struct gendisk *alloc_disk(int minors)
        return disk;
 }
 
+EXPORT_SYMBOL(alloc_disk);
+
 struct kobject *get_disk(struct gendisk *disk)
 {
        struct module *owner;
@@ -564,14 +571,14 @@ struct kobject *get_disk(struct gendisk *disk)
 
 }
 
+EXPORT_SYMBOL(get_disk);
+
 void put_disk(struct gendisk *disk)
 {
        if (disk)
                kobject_put(&disk->kobj);
 }
 
-EXPORT_SYMBOL(alloc_disk);
-EXPORT_SYMBOL(get_disk);
 EXPORT_SYMBOL(put_disk);
 
 void set_device_ro(struct block_device *bdev, int flag)
@@ -582,6 +589,8 @@ void set_device_ro(struct block_device *bdev, int flag)
                bdev->bd_disk->policy = flag;
 }
 
+EXPORT_SYMBOL(set_device_ro);
+
 void set_disk_ro(struct gendisk *disk, int flag)
 {
        int i;
@@ -590,6 +599,8 @@ void set_disk_ro(struct gendisk *disk, int flag)
                if (disk->part[i]) disk->part[i]->policy = flag;
 }
 
+EXPORT_SYMBOL(set_disk_ro);
+
 int bdev_read_only(struct block_device *bdev)
 {
        if (!bdev)
@@ -600,6 +611,8 @@ int bdev_read_only(struct block_device *bdev)
                return bdev->bd_disk->policy;
 }
 
+EXPORT_SYMBOL(bdev_read_only);
+
 int invalidate_partition(struct gendisk *disk, int index)
 {
        int res = 0;
@@ -610,7 +623,4 @@ int invalidate_partition(struct gendisk *disk, int index)
        return res;
 }
 
-EXPORT_SYMBOL(bdev_read_only);
-EXPORT_SYMBOL(set_device_ro);
-EXPORT_SYMBOL(set_disk_ro);
 EXPORT_SYMBOL(invalidate_partition);
index 473121c6b686ee7c75dd3d6d3cb42b7334c68c32..12bac1a8821a3aec373f1a2ffccab7aee0cdb4cb 100644 (file)
@@ -51,6 +51,9 @@ static struct workqueue_struct *kblockd_workqueue;
 
 unsigned long blk_max_low_pfn, blk_max_pfn;
 
+EXPORT_SYMBOL(blk_max_low_pfn);
+EXPORT_SYMBOL(blk_max_pfn);
+
 /* Amount of time in which a process may batch requests */
 #define BLK_BATCH_TIME (HZ/50UL)
 
@@ -158,6 +161,8 @@ void blk_queue_prep_rq(request_queue_t *q, prep_rq_fn *pfn)
        q->prep_rq_fn = pfn;
 }
 
+EXPORT_SYMBOL(blk_queue_prep_rq);
+
 /**
  * blk_queue_merge_bvec - set a merge_bvec function for queue
  * @q:         queue
@@ -177,6 +182,8 @@ void blk_queue_merge_bvec(request_queue_t *q, merge_bvec_fn *mbfn)
        q->merge_bvec_fn = mbfn;
 }
 
+EXPORT_SYMBOL(blk_queue_merge_bvec);
+
 /**
  * blk_queue_make_request - define an alternate make_request function for a device
  * @q:  the request queue for the device to be affected
@@ -235,6 +242,8 @@ void blk_queue_make_request(request_queue_t * q, make_request_fn * mfn)
        blk_queue_activity_fn(q, NULL, NULL);
 }
 
+EXPORT_SYMBOL(blk_queue_make_request);
+
 /**
  * blk_queue_bounce_limit - set bounce buffer limit for queue
  * @q:  the request queue for the device
@@ -280,6 +289,7 @@ void blk_queue_bounce_limit(request_queue_t *q, u64 dma_addr)
        last_q = q;
 }
 
+EXPORT_SYMBOL(blk_queue_bounce_limit);
 
 /**
  * blk_queue_max_sectors - set max sectors for a request for this queue
@@ -300,6 +310,8 @@ void blk_queue_max_sectors(request_queue_t *q, unsigned short max_sectors)
        q->max_sectors = max_sectors;
 }
 
+EXPORT_SYMBOL(blk_queue_max_sectors);
+
 /**
  * blk_queue_max_phys_segments - set max phys segments for a request for this queue
  * @q:  the request queue for the device
@@ -320,6 +332,8 @@ void blk_queue_max_phys_segments(request_queue_t *q, unsigned short max_segments
        q->max_phys_segments = max_segments;
 }
 
+EXPORT_SYMBOL(blk_queue_max_phys_segments);
+
 /**
  * blk_queue_max_hw_segments - set max hw segments for a request for this queue
  * @q:  the request queue for the device
@@ -341,6 +355,8 @@ void blk_queue_max_hw_segments(request_queue_t *q, unsigned short max_segments)
        q->max_hw_segments = max_segments;
 }
 
+EXPORT_SYMBOL(blk_queue_max_hw_segments);
+
 /**
  * blk_queue_max_segment_size - set max segment size for blk_rq_map_sg
  * @q:  the request queue for the device
@@ -360,6 +376,8 @@ void blk_queue_max_segment_size(request_queue_t *q, unsigned int max_size)
        q->max_segment_size = max_size;
 }
 
+EXPORT_SYMBOL(blk_queue_max_segment_size);
+
 /**
  * blk_queue_hardsect_size - set hardware sector size for the queue
  * @q:  the request queue for the device
@@ -376,6 +394,8 @@ void blk_queue_hardsect_size(request_queue_t *q, unsigned short size)
        q->hardsect_size = size;
 }
 
+EXPORT_SYMBOL(blk_queue_hardsect_size);
+
 /*
  * Returns the minimum that is _not_ zero, unless both are zero.
  */
@@ -397,6 +417,8 @@ void blk_queue_stack_limits(request_queue_t *t, request_queue_t *b)
        t->hardsect_size = max(t->hardsect_size,b->hardsect_size);
 }
 
+EXPORT_SYMBOL(blk_queue_stack_limits);
+
 /**
  * blk_queue_segment_boundary - set boundary rules for segment merging
  * @q:  the request queue for the device
@@ -412,6 +434,8 @@ void blk_queue_segment_boundary(request_queue_t *q, unsigned long mask)
        q->seg_boundary_mask = mask;
 }
 
+EXPORT_SYMBOL(blk_queue_segment_boundary);
+
 /**
  * blk_queue_dma_alignment - set dma length and memory alignment
  * @q:     the request queue for the device
@@ -427,6 +451,8 @@ void blk_queue_dma_alignment(request_queue_t *q, int mask)
        q->dma_alignment = mask;
 }
 
+EXPORT_SYMBOL(blk_queue_dma_alignment);
+
 /**
  * blk_queue_find_tag - find a request by its tag and queue
  *
@@ -449,6 +475,8 @@ struct request *blk_queue_find_tag(request_queue_t *q, int tag)
        return bqt->tag_index[tag];
 }
 
+EXPORT_SYMBOL(blk_queue_find_tag);
+
 /**
  * blk_queue_free_tags - release tag maintenance info
  * @q:  the request queue for the device
@@ -482,6 +510,8 @@ void blk_queue_free_tags(request_queue_t *q)
        q->queue_flags &= ~(1 << QUEUE_FLAG_QUEUED);
 }
 
+EXPORT_SYMBOL(blk_queue_free_tags);
+
 static int
 init_tag_map(request_queue_t *q, struct blk_queue_tag *tags, int depth)
 {
@@ -551,6 +581,8 @@ fail:
        return -ENOMEM;
 }
 
+EXPORT_SYMBOL(blk_queue_init_tags);
+
 /**
  * blk_queue_resize_tags - change the queueing depth
  * @q:  the request queue for the device
@@ -636,6 +668,8 @@ void blk_queue_end_tag(request_queue_t *q, struct request *rq)
        bqt->busy--;
 }
 
+EXPORT_SYMBOL(blk_queue_end_tag);
+
 /**
  * blk_queue_start_tag - find a free tag and assign it
  * @q:  the request queue for the device
@@ -686,6 +720,8 @@ int blk_queue_start_tag(request_queue_t *q, struct request *rq)
        return 0;
 }
 
+EXPORT_SYMBOL(blk_queue_start_tag);
+
 /**
  * blk_queue_invalidate_tags - invalidate all pending tags
  * @q:  the request queue for the device
@@ -719,6 +755,8 @@ void blk_queue_invalidate_tags(request_queue_t *q)
        }
 }
 
+EXPORT_SYMBOL(blk_queue_invalidate_tags);
+
 static char *rq_flags[] = {
        "REQ_RW",
        "REQ_FAILFAST",
@@ -770,6 +808,8 @@ void blk_dump_rq_flags(struct request *rq, char *msg)
        }
 }
 
+EXPORT_SYMBOL(blk_dump_rq_flags);
+
 void blk_recount_segments(request_queue_t *q, struct bio *bio)
 {
        struct bio_vec *bv, *bvprv = NULL;
@@ -829,6 +869,8 @@ int blk_phys_contig_segment(request_queue_t *q, struct bio *bio,
        return 0;
 }
 
+EXPORT_SYMBOL(blk_phys_contig_segment);
+
 int blk_hw_contig_segment(request_queue_t *q, struct bio *bio,
                                 struct bio *nxt)
 {
@@ -850,6 +892,8 @@ int blk_hw_contig_segment(request_queue_t *q, struct bio *bio,
        return 0;
 }
 
+EXPORT_SYMBOL(blk_hw_contig_segment);
+
 /*
  * map a request to scatterlist, return number of sg entries setup. Caller
  * must make sure sg can hold rq->nr_phys_segments entries
@@ -900,6 +944,8 @@ new_segment:
        return nsegs;
 }
 
+EXPORT_SYMBOL(blk_rq_map_sg);
+
 /*
  * the standard queue merge functions, can be overridden with device
  * specific ones if so desired
@@ -1042,6 +1088,8 @@ void blk_plug_device(request_queue_t *q)
        }
 }
 
+EXPORT_SYMBOL(blk_plug_device);
+
 /*
  * remove the queue from the plugged list, if present. called with
  * queue lock held and interrupts disabled.
@@ -1060,6 +1108,8 @@ int blk_remove_plug(request_queue_t *q)
        return 0;
 }
 
+EXPORT_SYMBOL(blk_remove_plug);
+
 /*
  * remove the plug and let it rip..
  */
@@ -1101,6 +1151,8 @@ void generic_unplug_device(void *data)
        spin_unlock_irq(q->queue_lock);
 }
 
+EXPORT_SYMBOL(generic_unplug_device);
+
 static void blk_unplug_work(void *data)
 {
        request_queue_t *q = data;
@@ -1130,6 +1182,8 @@ void blk_start_queue(request_queue_t *q)
        schedule_work(&q->unplug_work);
 }
 
+EXPORT_SYMBOL(blk_start_queue);
+
 /**
  * blk_stop_queue - stop a queue
  * @q:    The &request_queue_t in question
@@ -1150,6 +1204,8 @@ void blk_stop_queue(request_queue_t *q)
        set_bit(QUEUE_FLAG_STOPPED, &q->queue_flags);
 }
 
+EXPORT_SYMBOL(blk_stop_queue);
+
 /**
  * blk_run_queue - run a single device queue
  * @q: The queue to run
@@ -1164,6 +1220,8 @@ void blk_run_queue(struct request_queue *q)
        spin_unlock_irqrestore(q->queue_lock, flags);
 }
 
+EXPORT_SYMBOL(blk_run_queue);
+
 /**
  * blk_run_queues - fire all plugged queues
  *
@@ -1198,6 +1256,8 @@ out:
        spin_unlock_irq(&blk_plug_lock);
 }
 
+EXPORT_SYMBOL(blk_run_queues);
+
 /**
  * blk_cleanup_queue: - release a &request_queue_t when it is no longer needed
  * @q:    the request queue to be released
@@ -1234,6 +1294,8 @@ void blk_cleanup_queue(request_queue_t * q)
        kfree(q);
 }
 
+EXPORT_SYMBOL(blk_cleanup_queue);
+
 static int blk_init_free_list(request_queue_t *q)
 {
        struct request_list *rl = &q->rq;
@@ -1298,6 +1360,8 @@ request_queue_t *blk_alloc_queue(int gfp_mask)
        return q;
 }
 
+EXPORT_SYMBOL(blk_alloc_queue);
+
 /**
  * blk_init_queue  - prepare a request queue for use with a block device
  * @rfn:  The function to be called to process requests that have been
@@ -1372,9 +1436,10 @@ out_elv:
 out_init:
        kfree(q);
        return NULL;
-       
 }
 
+EXPORT_SYMBOL(blk_init_queue);
+
 int blk_get_queue(request_queue_t *q)
 {
        if (!test_bit(QUEUE_FLAG_DEAD, &q->queue_flags)) {
@@ -1385,6 +1450,8 @@ int blk_get_queue(request_queue_t *q)
        return 1;
 }
 
+EXPORT_SYMBOL(blk_get_queue);
+
 static inline void blk_free_request(request_queue_t *q, struct request *rq)
 {
        elv_put_request(q, rq);
@@ -1593,6 +1660,9 @@ struct request *blk_get_request(request_queue_t *q, int rw, int gfp_mask)
 
        return rq;
 }
+
+EXPORT_SYMBOL(blk_get_request);
+
 /**
  * blk_requeue_request - put a request back on queue
  * @q:         request queue where request should be inserted
@@ -1611,6 +1681,8 @@ void blk_requeue_request(request_queue_t *q, struct request *rq)
        elv_requeue_request(q, rq);
 }
 
+EXPORT_SYMBOL(blk_requeue_request);
+
 /**
  * blk_insert_request - insert a special request in to a request queue
  * @q:         request queue where request should be inserted
@@ -1668,6 +1740,8 @@ void blk_insert_request(request_queue_t *q, struct request *rq,
        spin_unlock_irqrestore(q->queue_lock, flags);
 }
 
+EXPORT_SYMBOL(blk_insert_request);
+
 void drive_stat_acct(struct request *rq, int nr_sectors, int new_io)
 {
        int rw = rq_data_dir(rq);
@@ -1786,6 +1860,8 @@ void blk_put_request(struct request *req)
        }
 }
 
+EXPORT_SYMBOL(blk_put_request);
+
 /**
  * blk_congestion_wait - wait for a queue to become uncongested
  * @rw: READ or WRITE
@@ -1806,6 +1882,8 @@ void blk_congestion_wait(int rw, long timeout)
        finish_wait(wqh, &wait);
 }
 
+EXPORT_SYMBOL(blk_congestion_wait);
+
 /*
  * Has to be called with the request spinlock acquired
  */
@@ -1893,6 +1971,8 @@ void blk_attempt_remerge(request_queue_t *q, struct request *rq)
        spin_unlock_irqrestore(q->queue_lock, flags);
 }
 
+EXPORT_SYMBOL(blk_attempt_remerge);
+
 /*
  * Non-locking blk_attempt_remerge variant.
  */
@@ -1901,6 +1981,8 @@ void __blk_attempt_remerge(request_queue_t *q, struct request *rq)
        attempt_back_merge(q, rq);
 }
 
+EXPORT_SYMBOL(__blk_attempt_remerge);
+
 static int __make_request(request_queue_t *q, struct bio *bio)
 {
        struct request *req, *freereq = NULL;
@@ -2186,6 +2268,8 @@ end_io:
        } while (ret);
 }
 
+EXPORT_SYMBOL(generic_make_request);
+
 /**
  * submit_bio: submit a bio to the block device layer for I/O
  * @rw: whether to %READ or %WRITE, or maybe to %READA (read ahead)
@@ -2211,6 +2295,8 @@ int submit_bio(int rw, struct bio *bio)
        return 1;
 }
 
+EXPORT_SYMBOL(submit_bio);
+
 /**
  * blk_rq_next_segment
  * @rq:                the request being processed
@@ -2286,6 +2372,8 @@ int process_that_request_first(struct request *req, unsigned int nr_sectors)
        return 1;
 }
 
+EXPORT_SYMBOL(process_that_request_first);
+
 void blk_recalc_rq_segments(struct request *rq)
 {
        struct bio *bio;
@@ -2454,6 +2542,8 @@ int end_that_request_first(struct request *req, int uptodate, int nr_sectors)
        return __end_that_request_first(req, uptodate, nr_sectors << 9);
 }
 
+EXPORT_SYMBOL(end_that_request_first);
+
 /**
  * end_that_request_chunk - end I/O on a request
  * @req:      the request being processed
@@ -2474,6 +2564,8 @@ int end_that_request_chunk(struct request *req, int uptodate, int nr_bytes)
        return __end_that_request_first(req, uptodate, nr_bytes);
 }
 
+EXPORT_SYMBOL(end_that_request_chunk);
+
 /*
  * queue lock must be held
  */
@@ -2503,6 +2595,8 @@ void end_that_request_last(struct request *req)
                complete(waiting);
 }
 
+EXPORT_SYMBOL(end_that_request_last);
+
 void end_request(struct request *req, int uptodate)
 {
        if (!end_that_request_first(req, uptodate, req->hard_cur_sectors)) {
@@ -2512,6 +2606,8 @@ void end_request(struct request *req, int uptodate)
        }
 }
 
+EXPORT_SYMBOL(end_request);
+
 void blk_rq_bio_prep(request_queue_t *q, struct request *rq, struct bio *bio)
 {
        /* first three bits are identical in rq->flags and bio->bi_rw */
@@ -2529,6 +2625,8 @@ void blk_rq_bio_prep(request_queue_t *q, struct request *rq, struct bio *bio)
        rq->cbio = rq->bio = rq->biotail = bio;
 }
 
+EXPORT_SYMBOL(blk_rq_bio_prep);
+
 void blk_rq_prep_restart(struct request *rq)
 {
        struct bio *bio;
@@ -2545,6 +2643,8 @@ void blk_rq_prep_restart(struct request *rq)
        rq->current_nr_sectors = rq->hard_cur_sectors;
 }
 
+EXPORT_SYMBOL(blk_rq_prep_restart);
+
 int kblockd_schedule_work(struct work_struct *work)
 {
        return queue_work(kblockd_workqueue, work);
@@ -2820,59 +2920,3 @@ void blk_unregister_queue(struct gendisk *disk)
                kobject_put(&disk->kobj);
        }
 }
-
-
-EXPORT_SYMBOL(process_that_request_first);
-EXPORT_SYMBOL(end_that_request_first);
-EXPORT_SYMBOL(end_that_request_chunk);
-EXPORT_SYMBOL(end_that_request_last);
-EXPORT_SYMBOL(end_request);
-EXPORT_SYMBOL(blk_init_queue);
-EXPORT_SYMBOL(blk_cleanup_queue);
-EXPORT_SYMBOL(blk_get_queue);
-EXPORT_SYMBOL(blk_alloc_queue);
-EXPORT_SYMBOL(blk_queue_make_request);
-EXPORT_SYMBOL(blk_queue_bounce_limit);
-EXPORT_SYMBOL(generic_make_request);
-EXPORT_SYMBOL(generic_unplug_device);
-EXPORT_SYMBOL(blk_plug_device);
-EXPORT_SYMBOL(blk_remove_plug);
-EXPORT_SYMBOL(blk_attempt_remerge);
-EXPORT_SYMBOL(__blk_attempt_remerge);
-EXPORT_SYMBOL(blk_max_low_pfn);
-EXPORT_SYMBOL(blk_max_pfn);
-EXPORT_SYMBOL(blk_queue_max_sectors);
-EXPORT_SYMBOL(blk_queue_max_phys_segments);
-EXPORT_SYMBOL(blk_queue_max_hw_segments);
-EXPORT_SYMBOL(blk_queue_max_segment_size);
-EXPORT_SYMBOL(blk_queue_hardsect_size);
-EXPORT_SYMBOL(blk_queue_stack_limits);
-EXPORT_SYMBOL(blk_queue_segment_boundary);
-EXPORT_SYMBOL(blk_queue_dma_alignment);
-EXPORT_SYMBOL(blk_rq_map_sg);
-EXPORT_SYMBOL(blk_dump_rq_flags);
-EXPORT_SYMBOL(submit_bio);
-EXPORT_SYMBOL(blk_phys_contig_segment);
-EXPORT_SYMBOL(blk_hw_contig_segment);
-EXPORT_SYMBOL(blk_get_request);
-EXPORT_SYMBOL(blk_put_request);
-EXPORT_SYMBOL(blk_insert_request);
-EXPORT_SYMBOL(blk_requeue_request);
-
-EXPORT_SYMBOL(blk_queue_prep_rq);
-EXPORT_SYMBOL(blk_queue_merge_bvec);
-
-EXPORT_SYMBOL(blk_queue_find_tag);
-EXPORT_SYMBOL(blk_queue_init_tags);
-EXPORT_SYMBOL(blk_queue_free_tags);
-EXPORT_SYMBOL(blk_queue_start_tag);
-EXPORT_SYMBOL(blk_queue_end_tag);
-EXPORT_SYMBOL(blk_queue_invalidate_tags);
-
-EXPORT_SYMBOL(blk_start_queue);
-EXPORT_SYMBOL(blk_stop_queue);
-EXPORT_SYMBOL(blk_run_queue);
-EXPORT_SYMBOL(blk_run_queues);
-
-EXPORT_SYMBOL(blk_rq_bio_prep);
-EXPORT_SYMBOL(blk_rq_prep_restart);
index 1b5fda1f0efc2a9eeb98c17c9b5c9db3debef917..84a7fd56bea195f072f8d86cc28853dac170915e 100644 (file)
@@ -710,6 +710,8 @@ void batch_entropy_store(u32 a, u32 b, int num)
        spin_unlock_irqrestore(&batch_lock, flags);
 }
 
+EXPORT_SYMBOL(batch_entropy_store);
+
 /*
  * Flush out the accumulated entropy operations, adding entropy to the passed
  * store (normally random_state).  If that store has enough entropy, alternate
@@ -854,11 +856,15 @@ void add_keyboard_randomness(unsigned char scancode)
        }
 }
 
+EXPORT_SYMBOL(add_keyboard_randomness);
+
 void add_mouse_randomness(__u32 mouse_data)
 {
        add_timer_randomness(&mouse_timer_state, mouse_data);
 }
 
+EXPORT_SYMBOL(add_mouse_randomness);
+
 void add_interrupt_randomness(int irq)
 {
        if (irq >= NR_IRQS || irq_timer_state[irq] == 0)
@@ -867,6 +873,8 @@ void add_interrupt_randomness(int irq)
        add_timer_randomness(irq_timer_state[irq], 0x100+irq);
 }
 
+EXPORT_SYMBOL(add_interrupt_randomness);
+
 void add_disk_randomness(struct gendisk *disk)
 {
        if (!disk || !disk->random)
@@ -875,6 +883,8 @@ void add_disk_randomness(struct gendisk *disk)
        add_timer_randomness(disk->random, 0x100+MKDEV(disk->major, disk->first_minor));
 }
 
+EXPORT_SYMBOL(add_disk_randomness);
+
 /******************************************************************
  *
  * Hash function definition
@@ -1458,6 +1468,8 @@ void get_random_bytes(void *buf, int nbytes)
                                   "random driver initialization\n");
 }
 
+EXPORT_SYMBOL(get_random_bytes);
+
 /*********************************************************************
  *
  * Functions to interface with Linux
@@ -1824,6 +1836,8 @@ void generate_random_uuid(unsigned char uuid_out[16])
        uuid_out[8] = (uuid_out[8] & 0x3F) | 0x80;
 }
 
+EXPORT_SYMBOL(generate_random_uuid);
+
 /********************************************************************
  *
  * Sysctl interface
@@ -2323,6 +2337,8 @@ __u32 secure_tcp_sequence_number(__u32 saddr, __u32 daddr,
        return seq;
 }
 
+EXPORT_SYMBOL(secure_tcp_sequence_number);
+
 /*  The code below is shamelessly stolen from secure_tcp_sequence_number().
  *  All blames to Andrey V. Savochkin <saw@msu.ru>.
  */
@@ -2445,13 +2461,3 @@ __u32 check_tcp_syn_cookie(__u32 cookie, __u32 saddr, __u32 daddr, __u16 sport,
        return (cookie - tmp[17]) & COOKIEMASK; /* Leaving the data behind */
 }
 #endif
-
-
-
-EXPORT_SYMBOL(add_keyboard_randomness);
-EXPORT_SYMBOL(add_mouse_randomness);
-EXPORT_SYMBOL(add_interrupt_randomness);
-EXPORT_SYMBOL(add_disk_randomness);
-EXPORT_SYMBOL(batch_entropy_store);
-EXPORT_SYMBOL(generate_random_uuid);
-
index 6191811d0ecf2aeed2b58631aa7d1054523a609a..6cda4d049ed724d310137ca12e68b0a682ead3c0 100644 (file)
@@ -117,6 +117,8 @@ struct termios tty_std_termios = {  /* for the benefit of tty drivers  */
        .c_cc = INIT_C_CC
 };
 
+EXPORT_SYMBOL(tty_std_termios);
+
 LIST_HEAD(tty_drivers);                        /* linked list of tty drivers */
 struct tty_ldisc ldiscs[NR_LDISCS];    /* line disc dispatch table     */
 
@@ -2032,6 +2034,8 @@ void tty_flip_buffer_push(struct tty_struct *tty)
                schedule_delayed_work(&tty->flip.work, 1);
 }
 
+EXPORT_SYMBOL(tty_flip_buffer_push);
+
 /*
  * This subroutine initializes a tty structure.
  */
@@ -2311,6 +2315,8 @@ int tty_register_driver(struct tty_driver *driver)
        return 0;
 }
 
+EXPORT_SYMBOL(tty_register_driver);
+
 /*
  * Called by a tty driver to unregister itself.
  */
@@ -2357,6 +2363,8 @@ int tty_unregister_driver(struct tty_driver *driver)
        return 0;
 }
 
+EXPORT_SYMBOL(tty_unregister_driver);
+
 
 /*
  * Initialize the console device. This is called *early*, so
index d6f6d72a03f35e2b147eac2afb1d5bdb7045050c..81eff0d25e5b7024ee26675f5f4aa5724fc90d28 100644 (file)
@@ -69,6 +69,8 @@ stop_waiting:
        remove_wait_queue(&tty->write_wait, &wait);
 }
 
+EXPORT_SYMBOL(tty_wait_until_sent);
+
 static void unset_locked_termios(struct termios *termios,
                                 struct termios *old,
                                 struct termios *locked)
index 64a887f2b8d3a97b1402eace344a01992b797aea..9a5525d7d67651308bea963af7eb735aba68c272 100644 (file)
@@ -189,6 +189,7 @@ int noautodma = 1;
 #endif
 
 EXPORT_SYMBOL(noautodma);
+EXPORT_SYMBOL(ide_bus_type);
 
 int (*ide_probe)(void);
 
index 13cbb3d3622d85b98bbe2028b5521a4b9b5addad..63f7115a192a2f177d264bb00bfac20aa26b5b47 100644 (file)
@@ -327,9 +327,7 @@ GetCurrentSystemLoad(SK_AC *pAC) {
        **
        **      struct kernel_stat kstat
        **
-       ** is not marked as an exported symbol in the file
-       **
-       **      kernel/ksyms.c 
+       ** is not marked as an exported symbol
        **
        ** As a consequence, using this driver as KLM is not possible
        ** and any access of the structure kernel_stat via the 
index c065c5de424e1a8dba6db0bcae8eab100db2d2c6..6f5946058365482bf7dae7b65bfd572bb5778d4f 100644 (file)
@@ -35,6 +35,8 @@
 spinlock_t dcache_lock __cacheline_aligned_in_smp = SPIN_LOCK_UNLOCKED;
 seqlock_t rename_lock __cacheline_aligned_in_smp = SEQLOCK_UNLOCKED;
 
+EXPORT_SYMBOL(dcache_lock);
+
 static kmem_cache_t *dentry_cache; 
 
 /*
index 4fcb7b071f20df926065a04a0d6d2e7413a92fc7..2243f4e26cf3e564054c7822b61ad567d915a06f 100644 (file)
@@ -3,7 +3,7 @@
  * linux/fs/nfsd/vfs.c
  *
  * File operations used by nfsd. Some of these have been ripped from
- * other parts of the kernel because they weren't in ksyms.c, others
+ * other parts of the kernel because they weren't exported, others
  * are partial duplicates with added or changed functionality.
  *
  * Note that several functions dget() the dentry upon which they want
index 702547ba0bd59b001d5fe028c84364d2a631775f..ea4bc9d13735bdc3c71ea42952461c3ac3343e6a 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef _ROOT_DEV_H_
 #define _ROOT_DEV_H_
 
+#include <linux/major.h>
+
 enum {
        Root_NFS = MKDEV(UNNAMED_MAJOR, 255),
        Root_RAM0 = MKDEV(RAMDISK_MAJOR, 0),
index ed60847bf0b60ac2f8cd892448d5d4d471a5fa59..ad8c88ae0b7ef11f3567d273248b6cb354cbe487 100644 (file)
@@ -1,3 +1,4 @@
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/ctype.h>
 #include <linux/fd.h>
@@ -23,6 +24,8 @@ static char __initdata saved_root_name[64];
 /* this is initialized in init/main.c */
 dev_t ROOT_DEV;
 
+EXPORT_SYMBOL(ROOT_DEV);
+
 static int __init load_ramdisk(char *str)
 {
        rd_doload = simple_strtol(str,NULL,0) & 3;
index 13eff1cdd527d0a090f4c522329b8a5dce788114..2b9b862c1a7504c94d35d1091ba953748667ad31 100644 (file)
@@ -12,6 +12,7 @@
 #define __KERNEL_SYSCALLS__
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/proc_fs.h>
 #include <linux/devfs_fs_kernel.h>
 #include <linux/kernel.h>
@@ -165,6 +166,10 @@ static int __init obsolete_checksetup(char *line)
    still work even if initially too large, it will just take slightly longer */
 unsigned long loops_per_jiffy = (1<<12);
 
+#ifndef __ia64__
+EXPORT_SYMBOL(loops_per_jiffy);
+#endif
+
 /* This is the number of bits of precision for the loops_per_jiffy.  Each
    bit takes on average 1.5/HZ seconds.  This (like the original) is a little
    better than 1% */
@@ -307,6 +312,8 @@ static inline void smp_prepare_cpus(unsigned int maxcpus) { }
 #ifdef __GENERIC_PER_CPU
 unsigned long __per_cpu_offset[NR_CPUS];
 
+EXPORT_SYMBOL(__per_cpu_offset);
+
 static void __init setup_per_cpu_areas(void)
 {
        unsigned long size, i;
index b4cfb10af45f83206cb6d2077d8d5544ec032b3c..d8878ae6cadc34fd62f431f4ffb4f78c20c5473e 100644 (file)
@@ -7,6 +7,7 @@
  */
 
 #include <linux/compile.h>
+#include <linux/module.h>
 #include <linux/uts.h>
 #include <linux/utsname.h>
 #include <linux/version.h>
@@ -25,6 +26,8 @@ struct new_utsname system_utsname = {
        .domainname     = UTS_DOMAINNAME,
 };
 
+EXPORT_SYMBOL(system_utsname);
+
 const char *linux_banner = 
        "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
        LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";
index c63c8eab0f08d6974f7ecc40293ae3216c6adf7d..503aecd60428b8ac43878a9be2c3ea2c0af0e1b3 100644 (file)
@@ -12,7 +12,7 @@ obj-$(CONFIG_FUTEX) += futex.o
 obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o
 obj-$(CONFIG_SMP) += cpu.o
 obj-$(CONFIG_UID16) += uid16.o
-obj-$(CONFIG_MODULES) += ksyms.o module.o
+obj-$(CONFIG_MODULES) += module.o
 obj-$(CONFIG_KALLSYMS) += kallsyms.o
 obj-$(CONFIG_PM) += power/
 obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o
index 518d167dbaeb339f9faf421a663534ddd955c8d6..1c5c35718450572a4319ba637f125998f90359b1 100644 (file)
@@ -8,12 +8,16 @@
  */ 
 
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/security.h>
 #include <asm/uaccess.h>
 
 unsigned securebits = SECUREBITS_DEFAULT; /* systemwide security settings */
 kernel_cap_t cap_bset = CAP_INIT_EFF_SET;
 
+EXPORT_SYMBOL(securebits);
+EXPORT_SYMBOL(cap_bset);
+
 /*
  * This global lock protects task->cap_* for all tasks including current.
  * Locking rule: acquire this prior to tasklist_lock.
index a87c12eed85d7b0358b7458775b9b8016cbf5e02..d7ed79d9a1445849357062b9f9162ef92b88d13c 100644 (file)
@@ -323,6 +323,8 @@ void daemonize(const char *name, ...)
        reparent_to_init();
 }
 
+EXPORT_SYMBOL(daemonize);
+
 static inline void close_files(struct files_struct * files)
 {
        int i, j;
@@ -418,6 +420,8 @@ void exit_fs(struct task_struct *tsk)
        __exit_fs(tsk);
 }
 
+EXPORT_SYMBOL_GPL(exit_fs);
+
 /*
  * Turn us into a lazy TLB process if we
  * aren't already..
@@ -455,6 +459,8 @@ void exit_mm(struct task_struct *tsk)
        __exit_mm(tsk);
 }
 
+EXPORT_SYMBOL(exit_mm);
+
 static inline void choose_new_parent(task_t *p, task_t *reaper, task_t *child_reaper)
 {
        /*
@@ -741,6 +747,8 @@ NORET_TYPE void complete_and_exit(struct completion *comp, long code)
        do_exit(code);
 }
 
+EXPORT_SYMBOL(complete_and_exit);
+
 asmlinkage long sys_exit(int error_code)
 {
        do_exit((error_code&0xff)<<8);
@@ -765,6 +773,8 @@ task_t *next_thread(task_t *p)
        return pid_task(tmp, PIDTYPE_TGID);
 }
 
+EXPORT_SYMBOL(next_thread);
+
 /*
  * Take down every thread in the group.  This is called by fatal signals
  * as well as by sys_exit_group (below).
index f804f3124820b782f28400fcb37b78e8418ce718..0afba3e0e0aceed6f35d8c049c5e6fda32440964 100644 (file)
@@ -53,6 +53,8 @@ DEFINE_PER_CPU(unsigned long, process_counts) = 0;
 
 rwlock_t tasklist_lock __cacheline_aligned = RW_LOCK_UNLOCKED;  /* outer */
 
+EXPORT_SYMBOL(tasklist_lock);
+
 int nr_processes(void)
 {
        int cpu;
@@ -98,6 +100,8 @@ void add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)
        spin_unlock_irqrestore(&q->lock, flags);
 }
 
+EXPORT_SYMBOL(add_wait_queue);
+
 void add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait)
 {
        unsigned long flags;
@@ -108,6 +112,8 @@ void add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait)
        spin_unlock_irqrestore(&q->lock, flags);
 }
 
+EXPORT_SYMBOL(add_wait_queue_exclusive);
+
 void remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)
 {
        unsigned long flags;
@@ -117,6 +123,8 @@ void remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)
        spin_unlock_irqrestore(&q->lock, flags);
 }
 
+EXPORT_SYMBOL(remove_wait_queue);
+
 void prepare_to_wait(wait_queue_head_t *q, wait_queue_t *wait, int state)
 {
        unsigned long flags;
@@ -129,6 +137,8 @@ void prepare_to_wait(wait_queue_head_t *q, wait_queue_t *wait, int state)
        spin_unlock_irqrestore(&q->lock, flags);
 }
 
+EXPORT_SYMBOL(prepare_to_wait);
+
 void
 prepare_to_wait_exclusive(wait_queue_head_t *q, wait_queue_t *wait, int state)
 {
@@ -142,6 +152,8 @@ prepare_to_wait_exclusive(wait_queue_head_t *q, wait_queue_t *wait, int state)
        spin_unlock_irqrestore(&q->lock, flags);
 }
 
+EXPORT_SYMBOL(prepare_to_wait_exclusive);
+
 void finish_wait(wait_queue_head_t *q, wait_queue_t *wait)
 {
        unsigned long flags;
@@ -154,6 +166,8 @@ void finish_wait(wait_queue_head_t *q, wait_queue_t *wait)
        }
 }
 
+EXPORT_SYMBOL(finish_wait);
+
 int autoremove_wake_function(wait_queue_t *wait, unsigned mode, int sync)
 {
        int ret = default_wake_function(wait, mode, sync);
@@ -163,6 +177,8 @@ int autoremove_wake_function(wait_queue_t *wait, unsigned mode, int sync)
        return ret;
 }
 
+EXPORT_SYMBOL(autoremove_wake_function);
+
 void __init fork_init(unsigned long mempages)
 {
 #ifndef __HAVE_ARCH_TASK_STRUCT_ALLOCATOR
@@ -555,6 +571,8 @@ struct fs_struct *copy_fs_struct(struct fs_struct *old)
        return __copy_fs_struct(old);
 }
 
+EXPORT_SYMBOL_GPL(copy_fs_struct);
+
 static inline int copy_fs(unsigned long clone_flags, struct task_struct * tsk)
 {
        if (clone_flags & CLONE_FS) {
diff --git a/kernel/ksyms.c b/kernel/ksyms.c
deleted file mode 100644 (file)
index 4cbb0da..0000000
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * Herein lies all the functions/variables that are "exported" for linkage
- * with dynamically loaded kernel modules.
- *                     Jon.
- *
- * - Stacked module support and unified symbol table added (June 1994)
- * - External symbol table support added (December 1994)
- * - Versions on symbols added (December 1994)
- *   by Bjorn Ekwall <bj0rn@blox.se>
- */
-
-#include <linux/config.h>
-#include <linux/slab.h>
-#include <linux/module.h>
-#include <linux/blkdev.h>
-#include <linux/cdrom.h>
-#include <linux/kernel_stat.h>
-#include <linux/vmalloc.h>
-#include <linux/sys.h>
-#include <linux/utsname.h>
-#include <linux/interrupt.h>
-#include <linux/ioport.h>
-#include <linux/serial.h>
-#include <linux/delay.h>
-#include <linux/random.h>
-#include <linux/reboot.h>
-#include <linux/pagemap.h>
-#include <linux/sysctl.h>
-#include <linux/hdreg.h>
-#include <linux/skbuff.h>
-#include <linux/genhd.h>
-#include <linux/blkpg.h>
-#include <linux/swap.h>
-#include <linux/pagevec.h>
-#include <linux/ctype.h>
-#include <linux/file.h>
-#include <linux/console.h>
-#include <linux/poll.h>
-#include <linux/mmzone.h>
-#include <linux/mm.h>
-#include <linux/capability.h>
-#include <linux/highuid.h>
-#include <linux/uio.h>
-#include <linux/tty.h>
-#include <linux/in6.h>
-#include <linux/binfmts.h>
-#include <linux/namei.h>
-#include <linux/buffer_head.h>
-#include <linux/root_dev.h>
-#include <linux/percpu.h>
-#include <linux/smp_lock.h>
-#include <linux/dnotify.h>
-#include <linux/mount.h>
-#include <linux/ptrace.h>
-#include <linux/time.h>
-#include <linux/backing-dev.h>
-#include <linux/percpu_counter.h>
-#include <asm/checksum.h>
-
-#if defined(CONFIG_PROC_FS)
-#include <linux/proc_fs.h>
-#endif
-#ifdef CONFIG_KMOD
-#include <linux/kmod.h>
-#endif
-
-extern struct timezone sys_tz;
-
-extern int panic_timeout;
-
-/* process memory management */
-EXPORT_SYMBOL(do_mmap_pgoff);
-EXPORT_SYMBOL(do_munmap);
-EXPORT_SYMBOL(do_brk);
-EXPORT_SYMBOL(exit_mm);
-EXPORT_SYMBOL_GPL(exit_fs);
-EXPORT_SYMBOL_GPL(copy_fs_struct);
-
-/* internal kernel memory management */
-EXPORT_SYMBOL(__alloc_pages);
-EXPORT_SYMBOL(__get_free_pages);
-EXPORT_SYMBOL(get_zeroed_page);
-EXPORT_SYMBOL(__page_cache_release);
-EXPORT_SYMBOL(__pagevec_lru_add);
-EXPORT_SYMBOL(__free_pages);
-EXPORT_SYMBOL(free_pages);
-EXPORT_SYMBOL(num_physpages);
-EXPORT_SYMBOL(kmem_find_general_cachep);
-EXPORT_SYMBOL(kmem_cache_create);
-EXPORT_SYMBOL(kmem_cache_destroy);
-EXPORT_SYMBOL(kmem_cache_shrink);
-EXPORT_SYMBOL(kmem_cache_alloc);
-EXPORT_SYMBOL(kmem_cache_free);
-EXPORT_SYMBOL(kmem_cache_size);
-EXPORT_SYMBOL(set_shrinker);
-EXPORT_SYMBOL(remove_shrinker);
-EXPORT_SYMBOL(malloc_sizes);
-EXPORT_SYMBOL(__kmalloc);
-EXPORT_SYMBOL(kfree);
-#ifdef CONFIG_SMP
-EXPORT_SYMBOL(__alloc_percpu);
-EXPORT_SYMBOL(free_percpu);
-EXPORT_SYMBOL(percpu_counter_mod);
-#endif
-EXPORT_SYMBOL(vfree);
-EXPORT_SYMBOL(__vmalloc);
-EXPORT_SYMBOL(vmalloc);
-EXPORT_SYMBOL(vmalloc_32);
-EXPORT_SYMBOL(vmap);
-EXPORT_SYMBOL(vunmap);
-EXPORT_SYMBOL(vmalloc_to_page);
-EXPORT_SYMBOL(remap_page_range);
-#ifndef CONFIG_DISCONTIGMEM
-EXPORT_SYMBOL(contig_page_data);
-EXPORT_SYMBOL(mem_map);
-EXPORT_SYMBOL(max_mapnr);
-#endif
-EXPORT_SYMBOL(high_memory);
-EXPORT_SYMBOL(vmtruncate);
-EXPORT_SYMBOL(find_vma);
-EXPORT_SYMBOL(get_unmapped_area);
-EXPORT_SYMBOL(init_mm);
-EXPORT_SYMBOL(blk_queue_bounce);
-EXPORT_SYMBOL(blk_congestion_wait);
-#ifdef CONFIG_HIGHMEM
-EXPORT_SYMBOL(kmap_high);
-EXPORT_SYMBOL(kunmap_high);
-EXPORT_SYMBOL(highmem_start_page);
-EXPORT_SYMBOL(kmap_prot);
-EXPORT_SYMBOL(kmap_pte);
-#endif
-#ifdef HASHED_PAGE_VIRTUAL
-EXPORT_SYMBOL(page_address);
-#endif
-EXPORT_SYMBOL(get_user_pages);
-
-/* filesystem internal functions */
-EXPORT_SYMBOL(dcache_lock);
-EXPORT_SYMBOL(invalidate_inode_pages);
-EXPORT_SYMBOL_GPL(invalidate_inode_pages2);
-EXPORT_SYMBOL(truncate_inode_pages);
-EXPORT_SYMBOL(file_ra_state_init);
-EXPORT_SYMBOL(ROOT_DEV);
-EXPORT_SYMBOL(read_cache_pages);
-EXPORT_SYMBOL(mark_page_accessed);
-
-/* for stackable file systems (lofs, wrapfs, cryptfs, etc.) */
-EXPORT_SYMBOL(lock_page);
-
-/* device registration */
-EXPORT_SYMBOL(register_blkdev);
-EXPORT_SYMBOL(unregister_blkdev);
-EXPORT_SYMBOL(tty_register_driver);
-EXPORT_SYMBOL(tty_unregister_driver);
-EXPORT_SYMBOL(tty_std_termios);
-
-/* block device driver support */
-EXPORT_SYMBOL_GPL(default_backing_dev_info);
-
-/* tty routines */
-EXPORT_SYMBOL(tty_wait_until_sent);
-EXPORT_SYMBOL(tty_flip_buffer_push);
-
-/* interrupt handling */
-EXPORT_SYMBOL(request_irq);
-EXPORT_SYMBOL(free_irq);
-
-/* waitqueue handling */
-EXPORT_SYMBOL(add_wait_queue);
-EXPORT_SYMBOL(add_wait_queue_exclusive);
-EXPORT_SYMBOL(remove_wait_queue);
-EXPORT_SYMBOL(prepare_to_wait);
-EXPORT_SYMBOL(prepare_to_wait_exclusive);
-EXPORT_SYMBOL(finish_wait);
-EXPORT_SYMBOL(autoremove_wake_function);
-
-/* The notion of irq probe/assignment is foreign to S/390 */
-
-#if !defined(CONFIG_ARCH_S390)
-EXPORT_SYMBOL(probe_irq_on);
-EXPORT_SYMBOL(probe_irq_off);
-#endif
-
-#ifdef CONFIG_SMP
-EXPORT_SYMBOL(del_timer_sync);
-#endif
-EXPORT_SYMBOL(del_timer);
-EXPORT_SYMBOL(mod_timer);
-EXPORT_SYMBOL(__mod_timer);
-
-#ifdef HAVE_DISABLE_HLT
-EXPORT_SYMBOL(disable_hlt);
-EXPORT_SYMBOL(enable_hlt);
-#endif
-
-/* resource handling */
-EXPORT_SYMBOL(request_resource);
-EXPORT_SYMBOL(release_resource);
-EXPORT_SYMBOL(allocate_resource);
-EXPORT_SYMBOL(__request_region);
-EXPORT_SYMBOL(__check_region);
-EXPORT_SYMBOL(__release_region);
-EXPORT_SYMBOL(ioport_resource);
-EXPORT_SYMBOL(iomem_resource);
-
-/* process management */
-EXPORT_SYMBOL(complete_and_exit);
-EXPORT_SYMBOL(schedule_timeout);
-#if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT)
-EXPORT_SYMBOL(kernel_flag);
-#endif
-EXPORT_SYMBOL(jiffies);
-EXPORT_SYMBOL(jiffies_64);
-EXPORT_SYMBOL(xtime);
-EXPORT_SYMBOL(xtime_lock);
-EXPORT_SYMBOL(do_gettimeofday);
-EXPORT_SYMBOL(do_settimeofday);
-#if (BITS_PER_LONG < 64)
-EXPORT_SYMBOL(get_jiffies_64);
-#endif
-#if !defined(__ia64__)
-EXPORT_SYMBOL(loops_per_jiffy);
-#endif
-
-/* misc */
-EXPORT_SYMBOL(panic);
-EXPORT_SYMBOL(panic_notifier_list);
-EXPORT_SYMBOL(panic_timeout);
-EXPORT_SYMBOL(sprintf);
-EXPORT_SYMBOL(snprintf);
-EXPORT_SYMBOL(sscanf);
-EXPORT_SYMBOL(vsprintf);
-EXPORT_SYMBOL(vsnprintf);
-EXPORT_SYMBOL(vsscanf);
-EXPORT_SYMBOL(simple_strtoull);
-EXPORT_SYMBOL(simple_strtoul);
-EXPORT_SYMBOL(simple_strtol);
-EXPORT_SYMBOL(system_utsname); /* UTS data */
-EXPORT_SYMBOL(uts_sem);                /* UTS semaphore */
-EXPORT_SYMBOL(machine_restart);
-EXPORT_SYMBOL(machine_halt);
-EXPORT_SYMBOL(machine_power_off);
-EXPORT_SYMBOL(_ctype);
-EXPORT_SYMBOL(secure_tcp_sequence_number);
-EXPORT_SYMBOL(get_random_bytes);
-EXPORT_SYMBOL(securebits);
-EXPORT_SYMBOL(cap_bset);
-EXPORT_SYMBOL(daemonize);
-EXPORT_SYMBOL(csum_partial); /* for networking and md */
-
-/* Miscellaneous access points */
-EXPORT_SYMBOL(si_meminfo);
-
-/* Added to make file system as module */
-EXPORT_SYMBOL(sys_tz);
-
-#ifdef CONFIG_UID16
-EXPORT_SYMBOL(overflowuid);
-EXPORT_SYMBOL(overflowgid);
-#endif
-EXPORT_SYMBOL(fs_overflowuid);
-EXPORT_SYMBOL(fs_overflowgid);
-
-/* library functions */
-EXPORT_SYMBOL(strnicmp);
-EXPORT_SYMBOL(strspn);
-EXPORT_SYMBOL(strsep);
-
-/* software interrupts */
-EXPORT_SYMBOL(tasklet_init);
-EXPORT_SYMBOL(tasklet_kill);
-EXPORT_SYMBOL(do_softirq);
-EXPORT_SYMBOL(raise_softirq);
-EXPORT_SYMBOL(open_softirq);
-EXPORT_SYMBOL(raise_softirq_irqoff);
-EXPORT_SYMBOL(__tasklet_schedule);
-EXPORT_SYMBOL(__tasklet_hi_schedule);
-
-/* init task, for moving kthread roots - ought to export a function ?? */
-EXPORT_SYMBOL(init_task);
-
-EXPORT_SYMBOL(tasklist_lock);
-EXPORT_SYMBOL(find_task_by_pid);
-EXPORT_SYMBOL(next_thread);
-#if defined(CONFIG_SMP) && defined(__GENERIC_PER_CPU)
-EXPORT_SYMBOL(__per_cpu_offset);
-#endif
-
-/* debug */
-EXPORT_SYMBOL(dump_stack);
-EXPORT_SYMBOL(ptrace_notify);
-EXPORT_SYMBOL(console_printk);
-
-EXPORT_SYMBOL(current_kernel_time);
index 73c45dee8a02f5c62b17ee9cdf86344f5a8f43c2..f5863a571e9b722fd80d9d0253d62c77cbac9987 100644 (file)
@@ -9,6 +9,7 @@
  * to indicate a major problem.
  */
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/delay.h>
 #include <linux/reboot.h>
@@ -24,8 +25,12 @@ int panic_timeout;
 int panic_on_oops;
 int tainted;
 
+EXPORT_SYMBOL(panic_timeout);
+
 struct notifier_block *panic_notifier_list;
 
+EXPORT_SYMBOL(panic_notifier_list);
+
 static int __init panic_setup(char *str)
 {
        panic_timeout = simple_strtoul(str, NULL, 0);
@@ -105,6 +110,8 @@ NORET_TYPE void panic(const char * fmt, ...)
                ;
 }
 
+EXPORT_SYMBOL(panic);
+
 /**
  *     print_tainted - return a string to represent the kernel taint state.
  *
index 97bdf534c9f38dcf001723f68c6c1ef596637baf..624b54602fcbff1286ce946bec5764ac5891d5f2 100644 (file)
@@ -20,6 +20,7 @@
  */
 
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/slab.h>
 #include <linux/init.h>
 #include <linux/bootmem.h>
@@ -230,6 +231,8 @@ task_t *find_task_by_pid(int nr)
        return pid_task(pid->task_list.next, PIDTYPE_PID);
 }
 
+EXPORT_SYMBOL(find_task_by_pid);
+
 /*
  * This function switches the PIDs if a non-leader thread calls
  * sys_execve() - this must be done without releasing the PID.
index caaa3e557ef6d86191d90615ec6122465ddba918..96ac7e3ee41d974db7a64ccb3f6ec02857171414 100644 (file)
@@ -51,6 +51,8 @@ int console_printk[4] = {
        DEFAULT_CONSOLE_LOGLEVEL,       /* default_console_loglevel */
 };
 
+EXPORT_SYMBOL(console_printk);
+
 int oops_in_progress;
 
 /*
index 1b68379c4886eaf6c1c85400585e6817216f1cdf..c1ebfd8b714e787784183a6a5333dc5ee7191162 100644 (file)
@@ -7,6 +7,7 @@
  * to continually duplicate across every architecture.
  */
 
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/errno.h>
 #include <linux/mm.h>
@@ -340,3 +341,5 @@ void ptrace_notify(int exit_code)
        recalc_sigpending();
        spin_unlock_irq(&current->sighand->siglock);
 }
+
+EXPORT_SYMBOL(ptrace_notify);
index f8ce88129fd232ac0b262816f8846722b2c19ae8..82435e12745356aa462ff2ae09b55c0866d83568 100644 (file)
@@ -8,6 +8,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/errno.h>
 #include <linux/ioport.h>
@@ -27,6 +28,8 @@ struct resource ioport_resource = {
        .flags  = IORESOURCE_IO,
 };
 
+EXPORT_SYMBOL(ioport_resource);
+
 struct resource iomem_resource = {
        .name   = "PCI mem",
        .start  = 0UL,
@@ -34,6 +37,8 @@ struct resource iomem_resource = {
        .flags  = IORESOURCE_MEM,
 };
 
+EXPORT_SYMBOL(iomem_resource);
+
 static rwlock_t resource_lock = RW_LOCK_UNLOCKED;
 
 #ifdef CONFIG_PROC_FS
@@ -199,6 +204,8 @@ int request_resource(struct resource *root, struct resource *new)
        return conflict ? -EBUSY : 0;
 }
 
+EXPORT_SYMBOL(request_resource);
+
 int release_resource(struct resource *old)
 {
        int retval;
@@ -209,6 +216,8 @@ int release_resource(struct resource *old)
        return retval;
 }
 
+EXPORT_SYMBOL(release_resource);
+
 /*
  * Find empty slot in the resource tree given range and alignment.
  */
@@ -268,6 +277,8 @@ int allocate_resource(struct resource *root, struct resource *new,
        return err;
 }
 
+EXPORT_SYMBOL(allocate_resource);
+
 /*
  * This is compatibility stuff for IO resources.
  *
@@ -315,6 +326,8 @@ struct resource * __request_region(struct resource *parent, unsigned long start,
        return res;
 }
 
+EXPORT_SYMBOL(__request_region);
+
 int __deprecated __check_region(struct resource *parent, unsigned long start, unsigned long n)
 {
        struct resource * res;
@@ -328,6 +341,8 @@ int __deprecated __check_region(struct resource *parent, unsigned long start, un
        return 0;
 }
 
+EXPORT_SYMBOL(__check_region);
+
 void __release_region(struct resource *parent, unsigned long start, unsigned long n)
 {
        struct resource **p;
@@ -357,6 +372,8 @@ void __release_region(struct resource *parent, unsigned long start, unsigned lon
        printk(KERN_WARNING "Trying to free nonexistent resource <%08lx-%08lx>\n", start, end);
 }
 
+EXPORT_SYMBOL(__release_region);
+
 /*
  * Called from init/main.c to reserve IO ports.
  */
index b6fef55f7e3a9d2b76641f611fd75dcfdecb0573..3b83f89088ea5d66e2b3cc75d114a8f70da730b7 100644 (file)
@@ -2760,6 +2760,8 @@ __init int migration_init(void)
  * Don't use in new code.
  */
 spinlock_t kernel_flag __cacheline_aligned_in_smp = SPIN_LOCK_UNLOCKED;
+
+EXPORT_SYMBOL(kernel_flag);
 #endif
 
 static void kstat_init_cpu(int cpu)
index b6ac17978c0eb777abe692ec8d93d0bca3094353..3e9e355735c9fad986a7a04385586b712337a166 100644 (file)
@@ -113,6 +113,8 @@ restart:
        local_irq_restore(flags);
 }
 
+EXPORT_SYMBOL(do_softirq);
+
 void local_bh_enable(void)
 {
        __local_bh_enable();
@@ -144,6 +146,8 @@ inline void raise_softirq_irqoff(unsigned int nr)
                wakeup_softirqd();
 }
 
+EXPORT_SYMBOL(raise_softirq_irqoff);
+
 void raise_softirq(unsigned int nr)
 {
        unsigned long flags;
@@ -153,12 +157,15 @@ void raise_softirq(unsigned int nr)
        local_irq_restore(flags);
 }
 
+EXPORT_SYMBOL(raise_softirq);
+
 void open_softirq(int nr, void (*action)(struct softirq_action*), void *data)
 {
        softirq_vec[nr].data = data;
        softirq_vec[nr].action = action;
 }
 
+EXPORT_SYMBOL(open_softirq);
 
 /* Tasklets */
 struct tasklet_head
@@ -182,6 +189,8 @@ void __tasklet_schedule(struct tasklet_struct *t)
        local_irq_restore(flags);
 }
 
+EXPORT_SYMBOL(__tasklet_schedule);
+
 void __tasklet_hi_schedule(struct tasklet_struct *t)
 {
        unsigned long flags;
@@ -193,6 +202,8 @@ void __tasklet_hi_schedule(struct tasklet_struct *t)
        local_irq_restore(flags);
 }
 
+EXPORT_SYMBOL(__tasklet_hi_schedule);
+
 static void tasklet_action(struct softirq_action *a)
 {
        struct tasklet_struct *list;
@@ -270,6 +281,8 @@ void tasklet_init(struct tasklet_struct *t,
        t->data = data;
 }
 
+EXPORT_SYMBOL(tasklet_init);
+
 void tasklet_kill(struct tasklet_struct *t)
 {
        if (in_interrupt())
@@ -284,6 +297,7 @@ void tasklet_kill(struct tasklet_struct *t)
        clear_bit(TASKLET_STATE_SCHED, &t->state);
 }
 
+EXPORT_SYMBOL(tasklet_kill);
 
 static void tasklet_init_cpu(int cpu)
 {
index 6f8f43156ab3dda1ef6d2933958bcdcfe15c8c29..7413a1067472020b29bca5292ef6ee9c8e32ac46 100644 (file)
 int overflowuid = DEFAULT_OVERFLOWUID;
 int overflowgid = DEFAULT_OVERFLOWGID;
 
+#ifdef CONFIG_UID16
+EXPORT_SYMBOL(overflowuid);
+EXPORT_SYMBOL(overflowgid);
+#endif
+
 /*
  * the same as above, but for filesystems which can only store a 16-bit
  * UID and GID. as such, this is needed on all architectures
@@ -63,6 +68,9 @@ int overflowgid = DEFAULT_OVERFLOWGID;
 int fs_overflowuid = DEFAULT_FS_OVERFLOWUID;
 int fs_overflowgid = DEFAULT_FS_OVERFLOWUID;
 
+EXPORT_SYMBOL(fs_overflowuid);
+EXPORT_SYMBOL(fs_overflowgid);
+
 /*
  * this indicates whether you can reboot with ctrl-alt-del: the default is yes
  */
@@ -106,6 +114,8 @@ int notifier_chain_register(struct notifier_block **list, struct notifier_block
        return 0;
 }
 
+EXPORT_SYMBOL(notifier_chain_register);
+
 /**
  *     notifier_chain_unregister - Remove notifier from a notifier chain
  *     @nl: Pointer to root list pointer
@@ -133,6 +143,8 @@ int notifier_chain_unregister(struct notifier_block **nl, struct notifier_block
        return -ENOENT;
 }
 
+EXPORT_SYMBOL(notifier_chain_unregister);
+
 /**
  *     notifier_call_chain - Call functions in a notifier chain
  *     @n: Pointer to root pointer of notifier chain
@@ -166,6 +178,8 @@ int notifier_call_chain(struct notifier_block **n, unsigned long val, void *v)
        return ret;
 }
 
+EXPORT_SYMBOL(notifier_call_chain);
+
 /**
  *     register_reboot_notifier - Register function to be called at reboot time
  *     @nb: Info about notifier function to be called
@@ -182,6 +196,8 @@ int register_reboot_notifier(struct notifier_block * nb)
        return notifier_chain_register(&reboot_notifier_list, nb);
 }
 
+EXPORT_SYMBOL(register_reboot_notifier);
+
 /**
  *     unregister_reboot_notifier - Unregister previously registered reboot notifier
  *     @nb: Hook to be unregistered
@@ -197,6 +213,8 @@ int unregister_reboot_notifier(struct notifier_block * nb)
        return notifier_chain_unregister(&reboot_notifier_list, nb);
 }
 
+EXPORT_SYMBOL(unregister_reboot_notifier);
+
 asmlinkage long sys_ni_syscall(void)
 {
        return -ENOSYS;
@@ -1144,6 +1162,8 @@ int in_group_p(gid_t grp)
        return retval;
 }
 
+EXPORT_SYMBOL(in_group_p);
+
 int in_egroup_p(gid_t grp)
 {
        int retval = 1;
@@ -1152,8 +1172,12 @@ int in_egroup_p(gid_t grp)
        return retval;
 }
 
+EXPORT_SYMBOL(in_egroup_p);
+
 DECLARE_RWSEM(uts_sem);
 
+EXPORT_SYMBOL(uts_sem);
+
 asmlinkage long sys_newuname(struct new_utsname __user * name)
 {
        int errno = 0;
@@ -1433,11 +1457,3 @@ asmlinkage long sys_prctl(int option, unsigned long arg2, unsigned long arg3,
        }
        return error;
 }
-
-EXPORT_SYMBOL(notifier_chain_register);
-EXPORT_SYMBOL(notifier_chain_unregister);
-EXPORT_SYMBOL(notifier_call_chain);
-EXPORT_SYMBOL(register_reboot_notifier);
-EXPORT_SYMBOL(unregister_reboot_notifier);
-EXPORT_SYMBOL(in_group_p);
-EXPORT_SYMBOL(in_egroup_p);
index fd23f6774b56fe389ae2e5ca5e4904a14a9a3f85..6279ee846ed557bc679da7c79cd6a1c4eb6bc5e9 100644 (file)
@@ -24,6 +24,7 @@
  *     (Even though the technical memorandum forbids it)
  */
 
+#include <linux/module.h>
 #include <linux/timex.h>
 #include <linux/errno.h>
 #include <linux/smp_lock.h>
@@ -35,6 +36,8 @@
  */
 struct timezone sys_tz;
 
+EXPORT_SYMBOL(sys_tz);
+
 #if !defined(__alpha__) && !defined(__ia64__)
 
 /*
@@ -413,6 +416,8 @@ struct timespec current_kernel_time(void)
        return now; 
 }
 
+EXPORT_SYMBOL(current_kernel_time);
+
 #if (BITS_PER_LONG < 64)
 u64 get_jiffies_64(void)
 {
@@ -425,4 +430,8 @@ u64 get_jiffies_64(void)
        } while (read_seqretry(&xtime_lock, seq));
        return ret;
 }
+
+EXPORT_SYMBOL(get_jiffies_64);
 #endif
+
+EXPORT_SYMBOL(jiffies);
index 2c8d770c5876db9499c6a4a94c9b826576f2fb41..176d2c3215b4e8261dc03bc44449ba898047088d 100644 (file)
@@ -20,6 +20,7 @@
  */
 
 #include <linux/kernel_stat.h>
+#include <linux/module.h>
 #include <linux/interrupt.h>
 #include <linux/percpu.h>
 #include <linux/init.h>
@@ -207,6 +208,8 @@ repeat:
        return ret;
 }
 
+EXPORT_SYMBOL(__mod_timer);
+
 /***
  * add_timer_on - start a timer on a particular CPU
  * @timer: the timer to be added
@@ -265,6 +268,8 @@ int mod_timer(struct timer_list *timer, unsigned long expires)
        return __mod_timer(timer, expires);
 }
 
+EXPORT_SYMBOL(mod_timer);
+
 /***
  * del_timer - deactive a timer.
  * @timer: the timer to be deactivated
@@ -299,6 +304,8 @@ repeat:
        return 1;
 }
 
+EXPORT_SYMBOL(del_timer);
+
 #ifdef CONFIG_SMP
 /***
  * del_timer_sync - deactivate a timer and wait for the handler to finish.
@@ -344,8 +351,9 @@ del_again:
 
        return ret;
 }
-#endif
 
+EXPORT_SYMBOL(del_timer_sync);
+#endif
 
 static int cascade(tvec_base_t *base, tvec_t *tv, int index)
 {
@@ -441,6 +449,8 @@ unsigned long tick_nsec = TICK_NSEC;                /* ACTHZ period (nsec) */
 struct timespec xtime __attribute__ ((aligned (16)));
 struct timespec wall_to_monotonic __attribute__ ((aligned (16)));
 
+EXPORT_SYMBOL(xtime);
+
 /* Don't completely fail for HZ > 500.  */
 int tickadj = 500/HZ ? : 1;            /* microsecs */
 
@@ -779,6 +789,8 @@ unsigned long wall_jiffies = INITIAL_JIFFIES;
  */
 #ifndef ARCH_HAVE_XTIME_LOCK
 seqlock_t xtime_lock __cacheline_aligned_in_smp = SEQLOCK_UNLOCKED;
+
+EXPORT_SYMBOL(xtime_lock);
 #endif
 
 /*
@@ -1032,6 +1044,8 @@ signed long schedule_timeout(signed long timeout)
        return timeout < 0 ? 0 : timeout;
 }
 
+EXPORT_SYMBOL(schedule_timeout);
+
 /* Thread ID - the internal kernel "pid" */
 asmlinkage long sys_gettid(void)
 {
index b5f72a5763ac6388657ed3215f59c07b6bbef228..d02ace14a322e5f85788238865ee70a6b1443e97 100644 (file)
@@ -5,6 +5,7 @@
  */
 
 #include <linux/ctype.h>
+#include <linux/module.h>
 
 unsigned char _ctype[] = {
 _C,_C,_C,_C,_C,_C,_C,_C,                       /* 0-7 */
@@ -32,4 +33,4 @@ _U,_U,_U,_U,_U,_U,_U,_P,_U,_U,_U,_U,_U,_U,_U,_L,       /* 208-223 */
 _L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,       /* 224-239 */
 _L,_L,_L,_L,_L,_L,_L,_P,_L,_L,_L,_L,_L,_L,_L,_L};      /* 240-255 */
 
-
+EXPORT_SYMBOL(_ctype);
index 47c2728ab8c7d3562e009d7ee1e89ff9c4e3d20e..53bff4c8452b52ce2d46da276d6dd5519dea0cbf 100644 (file)
@@ -11,3 +11,5 @@ void dump_stack(void)
        printk(KERN_NOTICE
                "This architecture does not implement dump_stack()\n");
 }
+
+EXPORT_SYMBOL(dump_stack);
index a9afaec00bdd830d8c90b59177450847fa76662d..2c5c7b5753616c5d593882d30120634be430d413 100644 (file)
@@ -1,4 +1,4 @@
-
+#include <linux/module.h>
 #include <linux/percpu_counter.h>
 #include <linux/sched.h>
 
@@ -17,3 +17,5 @@ void percpu_counter_mod(struct percpu_counter *fbc, long amount)
        fbc->counters[cpu].count = count;
        put_cpu();
 }
+
+EXPORT_SYMBOL(percpu_counter_mod);
index 4917b54e605ff93d8b4cbbc1cec45f669f1aff12..5c2ad6a174f44b7546228c46d206e382957f04e2 100644 (file)
@@ -55,6 +55,8 @@ int strnicmp(const char *s1, const char *s2, size_t len)
        }
        return (int)c1 - (int)c2;
 }
+
+EXPORT_SYMBOL(strnicmp);
 #endif
 
 #ifndef __HAVE_ARCH_STRCPY
@@ -325,6 +327,8 @@ size_t strspn(const char *s, const char *accept)
 
        return count;
 }
+
+EXPORT_SYMBOL(strspn);
 #endif
 
 /**
@@ -396,6 +400,8 @@ char * strsep(char **s, const char *ct)
 
        return sbegin;
 }
+
+EXPORT_SYMBOL(strsep);
 #endif
 
 #ifndef __HAVE_ARCH_MEMSET
index 0a12089169a61e5d2cb3f793ea6c9d803681462f..0803ac5438e122e659bfec61bdf0f1fc0ab2dd90 100644 (file)
@@ -15,6 +15,7 @@
  */
 
 #include <stdarg.h>
+#include <linux/module.h>
 #include <linux/types.h>
 #include <linux/string.h>
 #include <linux/ctype.h>
@@ -53,6 +54,8 @@ unsigned long simple_strtoul(const char *cp,char **endp,unsigned int base)
        return result;
 }
 
+EXPORT_SYMBOL(simple_strtoul);
+
 /**
  * simple_strtol - convert a string to a signed long
  * @cp: The start of the string
@@ -66,6 +69,8 @@ long simple_strtol(const char *cp,char **endp,unsigned int base)
        return simple_strtoul(cp,endp,base);
 }
 
+EXPORT_SYMBOL(simple_strtol);
+
 /**
  * simple_strtoull - convert a string to an unsigned long long
  * @cp: The start of the string
@@ -97,6 +102,8 @@ unsigned long long simple_strtoull(const char *cp,char **endp,unsigned int base)
        return result;
 }
 
+EXPORT_SYMBOL(simple_strtoull);
+
 /**
  * simple_strtoll - convert a string to a signed long long
  * @cp: The start of the string
@@ -458,6 +465,8 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
        return str-buf;
 }
 
+EXPORT_SYMBOL(vsnprintf);
+
 /**
  * snprintf - Format a string and place it in a buffer
  * @buf: The buffer to place the result into
@@ -476,6 +485,8 @@ int snprintf(char * buf, size_t size, const char *fmt, ...)
        return i;
 }
 
+EXPORT_SYMBOL(snprintf);
+
 /**
  * vsprintf - Format a string and place it in a buffer
  * @buf: The buffer to place the result into
@@ -490,6 +501,7 @@ int vsprintf(char *buf, const char *fmt, va_list args)
        return vsnprintf(buf, 0xFFFFFFFFUL, fmt, args);
 }
 
+EXPORT_SYMBOL(vsprintf);
 
 /**
  * sprintf - Format a string and place it in a buffer
@@ -508,6 +520,8 @@ int sprintf(char * buf, const char *fmt, ...)
        return i;
 }
 
+EXPORT_SYMBOL(sprintf);
+
 /**
  * vsscanf - Unformat a buffer into a list of arguments
  * @buf:       input buffer
@@ -707,6 +721,8 @@ int vsscanf(const char * buf, const char * fmt, va_list args)
        return num;
 }
 
+EXPORT_SYMBOL(vsscanf);
+
 /**
  * sscanf - Unformat a buffer into a list of arguments
  * @buf:       input buffer
@@ -723,3 +739,5 @@ int sscanf(const char * buf, const char * fmt, ...)
        va_end(args);
        return i;
 }
+
+EXPORT_SYMBOL(sscanf);
index 6eb6c0b12c240b7877992c5c6e84cd1fabdf8ef2..c5865a1d892d20ddb3acd6633474c1c470f6c475 100644 (file)
@@ -330,6 +330,7 @@ void unlock_page(struct page *page)
 }
 
 EXPORT_SYMBOL(unlock_page);
+EXPORT_SYMBOL(lock_page);
 
 /*
  * End writeback against a page.
index 864392016a794ec9f61005038ddd20cf58145054..6823a088cd1aff29a8e816c9436ba9af89e1741a 100644 (file)
@@ -17,6 +17,7 @@
  */
 
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/swap.h>
 #include <linux/bio.h>
 #include <linux/pagemap.h>
@@ -167,6 +168,8 @@ void *kmap_high(struct page *page)
        return (void*) vaddr;
 }
 
+EXPORT_SYMBOL(kmap_high);
+
 void kunmap_high(struct page *page)
 {
        unsigned long vaddr;
@@ -207,6 +210,8 @@ void kunmap_high(struct page *page)
                wake_up(&pkmap_map_wait);
 }
 
+EXPORT_SYMBOL(kunmap_high);
+
 #define POOL_SIZE      64
 
 static __init int init_emergency_pool(void)
@@ -473,6 +478,8 @@ void blk_queue_bounce(request_queue_t *q, struct bio **bio_orig)
        __blk_queue_bounce(q, bio_orig, pool);
 }
 
+EXPORT_SYMBOL(blk_queue_bounce);
+
 #if defined(HASHED_PAGE_VIRTUAL)
 
 #define PA_HASH_ORDER  7
@@ -532,6 +539,8 @@ done:
        return ret;
 }
 
+EXPORT_SYMBOL(page_address);
+
 void set_page_address(struct page *page, void *virtual)
 {
        unsigned long flags;
index 7e105f02d82b0e72e0ee2b9ba4c7d6db23a3a216..ab34c145d4c3b9ab4dfa7e95bd27e41bcd556d62 100644 (file)
 /* use the per-pgdat data instead for discontigmem - mbligh */
 unsigned long max_mapnr;
 struct page *mem_map;
+
+EXPORT_SYMBOL(max_mapnr);
+EXPORT_SYMBOL(mem_map);
 #endif
 
 unsigned long num_physpages;
 void * high_memory;
 struct page *highmem_start_page;
 
+EXPORT_SYMBOL(num_physpages);
+EXPORT_SYMBOL(highmem_start_page);
+EXPORT_SYMBOL(high_memory);
+
 /*
  * We special-case the C-O-W ZERO_PAGE, because it's such
  * a common occurrence (no need to read the page to know
@@ -789,6 +796,8 @@ out:
        return i;
 }
 
+EXPORT_SYMBOL(get_user_pages);
+
 static void zeromap_pte_range(pte_t * pte, unsigned long address,
                                      unsigned long size, pgprot_t prot)
 {
@@ -940,6 +949,8 @@ int remap_page_range(struct vm_area_struct *vma, unsigned long from, unsigned lo
        return error;
 }
 
+EXPORT_SYMBOL(remap_page_range);
+
 /*
  * Establish a new mapping:
  *  - flush the old one
@@ -1178,6 +1189,8 @@ out:
        return -EFBIG;
 }
 
+EXPORT_SYMBOL(vmtruncate);
+
 /* 
  * Primitive swap readahead code. We simply read an aligned block of
  * (1 << page_cluster) entries in the swap area. This method is chosen
@@ -1686,3 +1699,5 @@ struct page * vmalloc_to_page(void * vmalloc_addr)
        }
        return page;
 }
+
+EXPORT_SYMBOL(vmalloc_to_page);
index eae068ccdae132be9bc146f7942222b9175c0054..7ceef0dbc85210779b8d4fc3dc4d0fd7693b9eae 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -681,6 +681,8 @@ unacct_error:
        return error;
 }
 
+EXPORT_SYMBOL(do_mmap_pgoff);
+
 /* Get an address range which is currently unmapped.
  * For shmat() with addr=0.
  *
@@ -779,6 +781,8 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len,
        return arch_get_unmapped_area(file, addr, len, pgoff, flags);
 }
 
+EXPORT_SYMBOL(get_unmapped_area);
+
 /* Look up the first VMA which satisfies  addr < vm_end,  NULL if none. */
 struct vm_area_struct * find_vma(struct mm_struct * mm, unsigned long addr)
 {
@@ -815,6 +819,8 @@ struct vm_area_struct * find_vma(struct mm_struct * mm, unsigned long addr)
        return vma;
 }
 
+EXPORT_SYMBOL(find_vma);
+
 /* Same as find_vma, but also return a pointer to the previous VMA in *pprev. */
 struct vm_area_struct *
 find_vma_prev(struct mm_struct *mm, unsigned long addr,
@@ -1242,6 +1248,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len)
        return 0;
 }
 
+EXPORT_SYMBOL(do_munmap);
+
 asmlinkage long sys_munmap(unsigned long addr, size_t len)
 {
        int ret;
@@ -1342,6 +1350,8 @@ out:
        return addr;
 }
 
+EXPORT_SYMBOL(do_brk);
+
 /* Build the RB tree corresponding to the VMA list. */
 void build_mmap_rb(struct mm_struct * mm)
 {
index c11774bf036eac97fb9566f183a03c51ad4be30b..f7e0ff65f06284cedc14182dfad3197c4a6a29c8 100644 (file)
@@ -679,6 +679,8 @@ got_pg:
        return page;
 }
 
+EXPORT_SYMBOL(__alloc_pages);
+
 /*
  * Common helper functions.
  */
@@ -692,6 +694,8 @@ unsigned long __get_free_pages(unsigned int gfp_mask, unsigned int order)
        return (unsigned long) page_address(page);
 }
 
+EXPORT_SYMBOL(__get_free_pages);
+
 unsigned long get_zeroed_page(unsigned int gfp_mask)
 {
        struct page * page;
@@ -711,6 +715,8 @@ unsigned long get_zeroed_page(unsigned int gfp_mask)
        return 0;
 }
 
+EXPORT_SYMBOL(get_zeroed_page);
+
 void __pagevec_free(struct pagevec *pvec)
 {
        int i = pagevec_count(pvec);
@@ -729,6 +735,8 @@ void __free_pages(struct page *page, unsigned int order)
        }
 }
 
+EXPORT_SYMBOL(__free_pages);
+
 void free_pages(unsigned long addr, unsigned int order)
 {
        if (addr != 0) {
@@ -737,6 +745,8 @@ void free_pages(unsigned long addr, unsigned int order)
        }
 }
 
+EXPORT_SYMBOL(free_pages);
+
 /*
  * Total amount of free (allocatable) RAM:
  */
@@ -750,6 +760,7 @@ unsigned int nr_free_pages(void)
 
        return sum;
 }
+
 EXPORT_SYMBOL(nr_free_pages);
 
 unsigned int nr_used_zone_pages(void)
@@ -917,6 +928,8 @@ void si_meminfo(struct sysinfo *val)
        val->mem_unit = PAGE_SIZE;
 }
 
+EXPORT_SYMBOL(si_meminfo);
+
 #ifdef CONFIG_NUMA
 void si_meminfo_node(struct sysinfo *val, int nid)
 {
@@ -1384,6 +1397,8 @@ void __init free_area_init_node(int nid, struct pglist_data *pgdat,
 static bootmem_data_t contig_bootmem_data;
 struct pglist_data contig_page_data = { .bdata = &contig_bootmem_data };
 
+EXPORT_SYMBOL(contig_page_data);
+
 void __init free_area_init(unsigned long *zones_size)
 {
        free_area_init_node(0, &contig_page_data, NULL, zones_size,
index 69f24b9ce4d2fab64dbf290e2841c1b5e01cb2dc..36ad9386af2a50a2ddf6e5ea6b37862cbaab49ee 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/kernel.h>
 #include <linux/fs.h>
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/blkdev.h>
 #include <linux/backing-dev.h>
 #include <linux/pagevec.h>
@@ -19,6 +20,8 @@ struct backing_dev_info default_backing_dev_info = {
        .state          = 0,
 };
 
+EXPORT_SYMBOL_GPL(default_backing_dev_info);
+
 /*
  * Initialise a struct file's readahead state
  */
@@ -29,6 +32,8 @@ file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping)
        ra->ra_pages = mapping->backing_dev_info->ra_pages;
 }
 
+EXPORT_SYMBOL(file_ra_state_init);
+
 /*
  * Return max readahead size for this inode in number-of-pages.
  */
@@ -89,6 +94,8 @@ int read_cache_pages(struct address_space *mapping, struct list_head *pages,
        return ret;
 }
 
+EXPORT_SYMBOL(read_cache_pages);
+
 static int read_pages(struct address_space *mapping, struct file *filp,
                struct list_head *pages, unsigned nr_pages)
 {
index 3b216e910d5ec99520eff968cb397e35f5f53606..f9a4359316808fc578009ab5fe66cdf537fcc7a7 100644 (file)
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -466,6 +466,8 @@ struct cache_sizes malloc_sizes[] = {
 #undef CACHE
 };
 
+EXPORT_SYMBOL(malloc_sizes);
+
 /* Must match cache_sizes above. Out of line to keep cache footprint low. */
 static struct cache_names {
        char *name;
@@ -1276,6 +1278,8 @@ opps:
        return cachep;
 }
 
+EXPORT_SYMBOL(kmem_cache_create);
+
 static inline void check_irq_off(void)
 {
 #if DEBUG
@@ -1395,6 +1399,8 @@ int kmem_cache_shrink(kmem_cache_t *cachep)
        return __cache_shrink(cachep);
 }
 
+EXPORT_SYMBOL(kmem_cache_shrink);
+
 /**
  * kmem_cache_destroy - delete a cache
  * @cachep: the cache to destroy
@@ -1446,6 +1452,8 @@ int kmem_cache_destroy (kmem_cache_t * cachep)
        return 0;
 }
 
+EXPORT_SYMBOL(kmem_cache_destroy);
+
 /* Get the memory for a slab management obj. */
 static inline struct slab* alloc_slabmgmt (kmem_cache_t *cachep,
                        void *objp, int colour_off, int local_flags)
@@ -2064,6 +2072,8 @@ void * kmem_cache_alloc (kmem_cache_t *cachep, int flags)
        return __cache_alloc(cachep, flags);
 }
 
+EXPORT_SYMBOL(kmem_cache_alloc);
+
 /**
  * kmalloc - allocate memory
  * @size: how many bytes of memory are required.
@@ -2105,6 +2115,8 @@ void * __kmalloc (size_t size, int flags)
        return NULL;
 }
 
+EXPORT_SYMBOL(__kmalloc);
+
 #ifdef CONFIG_SMP
 /**
  * __alloc_percpu - allocate one copy of the object for every present
@@ -2144,6 +2156,8 @@ unwind_oom:
        kfree(pdata);
        return NULL;
 }
+
+EXPORT_SYMBOL(__alloc_percpu);
 #endif
 
 /**
@@ -2163,6 +2177,8 @@ void kmem_cache_free (kmem_cache_t *cachep, void *objp)
        local_irq_restore(flags);
 }
 
+EXPORT_SYMBOL(kmem_cache_free);
+
 /**
  * kfree - free previously allocated memory
  * @objp: pointer returned by kmalloc.
@@ -2184,6 +2200,8 @@ void kfree (const void *objp)
        local_irq_restore(flags);
 }
 
+EXPORT_SYMBOL(kfree);
+
 #ifdef CONFIG_SMP
 /**
  * free_percpu - free previously allocated percpu memory
@@ -2204,6 +2222,8 @@ free_percpu(const void *objp)
                kfree(p->ptrs[i]);
        }
 }
+
+EXPORT_SYMBOL(free_percpu);
 #endif
 
 unsigned int kmem_cache_size(kmem_cache_t *cachep)
@@ -2211,6 +2231,8 @@ unsigned int kmem_cache_size(kmem_cache_t *cachep)
        return obj_reallen(cachep);
 }
 
+EXPORT_SYMBOL(kmem_cache_size);
+
 kmem_cache_t * kmem_find_general_cachep (size_t size, int gfpflags)
 {
        struct cache_sizes *csizep = malloc_sizes;
@@ -2227,6 +2249,8 @@ kmem_cache_t * kmem_find_general_cachep (size_t size, int gfpflags)
        return (gfpflags & GFP_DMA) ? csizep->cs_dmacachep : csizep->cs_cachep;
 }
 
+EXPORT_SYMBOL(kmem_find_general_cachep);
+
 struct ccupdate_struct {
        kmem_cache_t *cachep;
        struct array_cache *new[NR_CPUS];
index 37302961e371e18ebbfac87724ee09eaad251b1a..c519c8959eb5ef85cea05790df148ab2572eea09 100644 (file)
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -104,6 +104,8 @@ void mark_page_accessed(struct page *page)
        }
 }
 
+EXPORT_SYMBOL(mark_page_accessed);
+
 /**
  * lru_cache_add: add a page to the page lists
  * @page: the page to add
@@ -162,6 +164,8 @@ void __page_cache_release(struct page *page)
                free_hot_page(page);
 }
 
+EXPORT_SYMBOL(__page_cache_release);
+
 /*
  * Batched page_cache_release().  Decrement the reference count on all the
  * passed pages.  If it fell to zero then remove the page from the LRU and
@@ -281,6 +285,8 @@ void __pagevec_lru_add(struct pagevec *pvec)
        pagevec_reinit(pvec);
 }
 
+EXPORT_SYMBOL(__pagevec_lru_add);
+
 void __pagevec_lru_add_active(struct pagevec *pvec)
 {
        int i;
index 0f6706fcda1851307be6b94350cb6f97efa5598f..33f7b51c3504c882a1c630cd34c02f0574a6029d 100644 (file)
@@ -9,6 +9,7 @@
 
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/pagemap.h>
 #include <linux/pagevec.h>
 #include <linux/buffer_head.h> /* grr. try_to_release_page,
@@ -175,6 +176,8 @@ void truncate_inode_pages(struct address_space *mapping, loff_t lstart)
        }
 }
 
+EXPORT_SYMBOL(truncate_inode_pages);
+
 /**
  * invalidate_mapping_pages - Invalidate all the unlocked pages of one inode
  * @mapping: the address_space which holds the pages to invalidate
@@ -228,6 +231,8 @@ unsigned long invalidate_inode_pages(struct address_space *mapping)
        return invalidate_mapping_pages(mapping, 0, ~0UL);
 }
 
+EXPORT_SYMBOL(invalidate_inode_pages);
+
 /**
  * invalidate_inode_pages2 - remove all unmapped pages from an address_space
  * @mapping - the address_space
@@ -264,3 +269,5 @@ void invalidate_inode_pages2(struct address_space *mapping)
                cond_resched();
        }
 }
+
+EXPORT_SYMBOL_GPL(invalidate_inode_pages2);
index e5d30c82e92f5efc4d6206e3d421a0265f0fd992..2d3022d2c859910d7e023cd41dfe9c20aa4b9495 100644 (file)
@@ -8,6 +8,7 @@
  */
 
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/highmem.h>
 #include <linux/slab.h>
 #include <linux/spinlock.h>
@@ -324,6 +325,8 @@ void vfree(void *addr)
        __vunmap(addr, 1);
 }
 
+EXPORT_SYMBOL(vfree);
+
 /**
  *     vunmap  -  release virtual mapping obtained by vmap()
  *
@@ -340,6 +343,8 @@ void vunmap(void *addr)
        __vunmap(addr, 0);
 }
 
+EXPORT_SYMBOL(vunmap);
+
 /**
  *     vmap  -  map an array of pages into virtually contiguous space
  *
@@ -370,6 +375,8 @@ void *vmap(struct page **pages, unsigned int count,
        return area->addr;
 }
 
+EXPORT_SYMBOL(vmap);
+
 /**
  *     __vmalloc  -  allocate virtually contiguous memory
  *
@@ -425,6 +432,8 @@ fail:
        return NULL;
 }
 
+EXPORT_SYMBOL(__vmalloc);
+
 /**
  *     vmalloc  -  allocate virtually contiguous memory
  *
@@ -441,6 +450,8 @@ void *vmalloc(unsigned long size)
        return __vmalloc(size, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL);
 }
 
+EXPORT_SYMBOL(vmalloc);
+
 /**
  *     vmalloc_32  -  allocate virtually contiguous memory (32bit addressable)
  *
@@ -454,6 +465,8 @@ void *vmalloc_32(unsigned long size)
        return __vmalloc(size, GFP_KERNEL, PAGE_KERNEL);
 }
 
+EXPORT_SYMBOL(vmalloc_32);
+
 long vread(char *buf, char *addr, unsigned long count)
 {
        struct vm_struct *tmp;
index f618384f7b1dce08280c2036665b64d3e0e2fb55..32fd381325b90b23f37afd3690b04b16388a406f 100644 (file)
@@ -12,6 +12,7 @@
  */
 
 #include <linux/mm.h>
+#include <linux/module.h>
 #include <linux/slab.h>
 #include <linux/kernel_stat.h>
 #include <linux/swap.h>
@@ -112,6 +113,8 @@ struct shrinker *set_shrinker(int seeks, shrinker_t theshrinker)
        return shrinker;
 }
 
+EXPORT_SYMBOL(set_shrinker);
+
 /*
  * Remove one
  */
@@ -122,6 +125,8 @@ void remove_shrinker(struct shrinker *shrinker)
        up(&shrinker_sem);
        kfree(shrinker);
 }
+
+EXPORT_SYMBOL(remove_shrinker);
  
 #define SHRINK_BATCH 128
 /*