Commit f6a57033 authored by Al Viro's avatar Al Viro

[PATCH] severing module.h->sched.h

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 2b5f6dcc
#include <linux/module.h> #include <linux/module.h>
#include <linux/sched.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/list.h> #include <linux/list.h>
#include <asm/alternative.h> #include <asm/alternative.h>
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include <linux/cpu.h> #include <linux/cpu.h>
#include <asm/cpu.h> #include <asm/cpu.h>
#include <linux/notifier.h> #include <linux/notifier.h>
#include <linux/jiffies.h>
#include <asm/therm_throt.h> #include <asm/therm_throt.h>
/* How long to wait between reporting thermal events */ /* How long to wait between reporting thermal events */
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include <linux/sysdev.h> #include <linux/sysdev.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/sched.h>
#include <linux/cpu.h> #include <linux/cpu.h>
#include <linux/topology.h> #include <linux/topology.h>
#include <linux/device.h> #include <linux/device.h>
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
etc voltage & frequency control is not supported! etc voltage & frequency control is not supported!
*/ */
#include <linux/module.h> #include <linux/module.h>
#include <linux/sched.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/jiffies.h> #include <linux/jiffies.h>
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
*/ */
#include <linux/module.h> #include <linux/module.h>
#include <linux/jiffies.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/timer.h> #include <linux/timer.h>
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
*/ */
#include <linux/module.h> #include <linux/module.h>
#include <linux/jiffies.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/list.h> #include <linux/list.h>
......
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/sched.h>
#include <linux/ioport.h> #include <linux/ioport.h>
#include <linux/wait.h> #include <linux/wait.h>
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/jiffies.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/string.h> #include <linux/string.h>
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/moduleparam.h> #include <linux/moduleparam.h>
#include <linux/sched.h>
#include <linux/device.h> #include <linux/device.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/delay.h> #include <linux/delay.h>
......
...@@ -45,7 +45,6 @@ typedef struct user_i387_struct elf_fpregset_t; ...@@ -45,7 +45,6 @@ typedef struct user_i387_struct elf_fpregset_t;
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/compat.h>
/* /*
* This is used to ensure we don't load something for the wrong architecture. * This is used to ensure we don't load something for the wrong architecture.
......
...@@ -119,6 +119,7 @@ struct acct_v3 ...@@ -119,6 +119,7 @@ struct acct_v3
#ifdef CONFIG_BSD_PROCESS_ACCT #ifdef CONFIG_BSD_PROCESS_ACCT
struct vfsmount; struct vfsmount;
struct super_block; struct super_block;
struct pacct_struct;
extern void acct_auto_close_mnt(struct vfsmount *m); extern void acct_auto_close_mnt(struct vfsmount *m);
extern void acct_auto_close(struct super_block *sb); extern void acct_auto_close(struct super_block *sb);
extern void acct_init_pacct(struct pacct_struct *pacct); extern void acct_init_pacct(struct pacct_struct *pacct);
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
* Rewritten by Richard Henderson <rth@tamu.edu> Dec 1996 * Rewritten by Richard Henderson <rth@tamu.edu> Dec 1996
* Rewritten again by Rusty Russell, 2002 * Rewritten again by Rusty Russell, 2002
*/ */
#include <linux/sched.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/list.h> #include <linux/list.h>
#include <linux/stat.h> #include <linux/stat.h>
...@@ -411,17 +410,7 @@ static inline int try_module_get(struct module *module) ...@@ -411,17 +410,7 @@ static inline int try_module_get(struct module *module)
return ret; return ret;
} }
static inline void module_put(struct module *module) extern void module_put(struct module *module);
{
if (module) {
unsigned int cpu = get_cpu();
local_dec(&module->ref[cpu].count);
/* Maybe they're waiting for us to drop reference? */
if (unlikely(!module_is_live(module)))
wake_up_process(module->waiter);
put_cpu();
}
}
#else /*!CONFIG_MODULE_UNLOAD*/ #else /*!CONFIG_MODULE_UNLOAD*/
static inline int try_module_get(struct module *module) static inline int try_module_get(struct module *module)
......
...@@ -25,6 +25,8 @@ ...@@ -25,6 +25,8 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/timer.h>
#include <linux/workqueue.h>
#include <scsi/iscsi_proto.h> #include <scsi/iscsi_proto.h>
#include <scsi/iscsi_if.h> #include <scsi/iscsi_if.h>
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/notifier.h> #include <linux/notifier.h>
#include <linux/jiffies.h>
#include <asm/atomic.h> #include <asm/atomic.h>
struct latency_info { struct latency_info {
......
...@@ -34,10 +34,10 @@ ...@@ -34,10 +34,10 @@
#include <linux/err.h> #include <linux/err.h>
#include <linux/vermagic.h> #include <linux/vermagic.h>
#include <linux/notifier.h> #include <linux/notifier.h>
#include <linux/sched.h>
#include <linux/stop_machine.h> #include <linux/stop_machine.h>
#include <linux/device.h> #include <linux/device.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/sched.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/unwind.h> #include <linux/unwind.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
...@@ -790,6 +790,19 @@ static struct module_attribute refcnt = { ...@@ -790,6 +790,19 @@ static struct module_attribute refcnt = {
.show = show_refcnt, .show = show_refcnt,
}; };
void module_put(struct module *module)
{
if (module) {
unsigned int cpu = get_cpu();
local_dec(&module->ref[cpu].count);
/* Maybe they're waiting for us to drop reference? */
if (unlikely(!module_is_live(module)))
wake_up_process(module->waiter);
put_cpu();
}
}
EXPORT_SYMBOL(module_put);
#else /* !CONFIG_MODULE_UNLOAD */ #else /* !CONFIG_MODULE_UNLOAD */
static void print_unload_info(struct seq_file *m, struct module *mod) static void print_unload_info(struct seq_file *m, struct module *mod)
{ {
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/percpu.h> #include <linux/percpu.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/jiffies.h>
#include <linux/random.h> #include <linux/random.h>
struct rnd_state { struct rnd_state {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment