Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
* 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
Revert "tracing: Include module.h in define_trace.h"
irq: don't put module.h into irq.h for tracking irqgen modules.
bluetooth: macroize two small inlines to avoid module.h
ip_vs.h: fix implicit use of module_get/module_put from module.h
nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
include: replace linux/module.h with "struct module" wherever possible
include: convert various register fcns to macros to avoid include chaining
crypto.h: remove unused crypto_tfm_alg_modname() inline
uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
pm_runtime.h: explicitly requires notifier.h
linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
miscdevice.h: fix up implicit use of lists and types
stop_machine.h: fix implicit use of smp.h for smp_processor_id
of: fix implicit use of errno.h in include/linux/of.h
of_platform.h: delete needless include <linux/module.h>
acpi: remove module.h include from platform/aclinux.h
miscdevice.h: delete unnecessary inclusion of module.h
device_cgroup.h: delete needless include <linux/module.h>
net: sch_generic remove redundant use of <linux/module.h>
net: inet_timewait_sock doesnt need <linux/module.h>
...
Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
- drivers/media/dvb/frontends/dibx000_common.c
- drivers/media/video/{mt9m111.c,ov6650.c}
- drivers/mfd/ab3550-core.c
- include/linux/dmaengine.h
This commit is contained in:
@@ -170,10 +170,9 @@ struct bcma_driver {
|
||||
};
|
||||
extern
|
||||
int __bcma_driver_register(struct bcma_driver *drv, struct module *owner);
|
||||
static inline int bcma_driver_register(struct bcma_driver *drv)
|
||||
{
|
||||
return __bcma_driver_register(drv, THIS_MODULE);
|
||||
}
|
||||
#define bcma_driver_register(drv) \
|
||||
__bcma_driver_register(drv, THIS_MODULE)
|
||||
|
||||
extern void bcma_driver_unregister(struct bcma_driver *drv);
|
||||
|
||||
struct bcma_bus {
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#include <linux/wait.h>
|
||||
#include <linux/mempool.h>
|
||||
#include <linux/bio.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/stringify.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/bsg.h>
|
||||
@@ -22,6 +21,7 @@
|
||||
|
||||
#include <asm/scatterlist.h>
|
||||
|
||||
struct module;
|
||||
struct scsi_ioctl_command;
|
||||
|
||||
struct request_queue;
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/completion.h>
|
||||
|
||||
@@ -21,6 +20,8 @@
|
||||
#define CPUIDLE_NAME_LEN 16
|
||||
#define CPUIDLE_DESC_LEN 32
|
||||
|
||||
struct module;
|
||||
|
||||
struct cpuidle_device;
|
||||
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#define _LINUX_CRYPTO_H
|
||||
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/slab.h>
|
||||
@@ -510,11 +509,6 @@ static inline int crypto_tfm_alg_priority(struct crypto_tfm *tfm)
|
||||
return tfm->__crt_alg->cra_priority;
|
||||
}
|
||||
|
||||
static inline const char *crypto_tfm_alg_modname(struct crypto_tfm *tfm)
|
||||
{
|
||||
return module_name(tfm->__crt_alg->cra_module);
|
||||
}
|
||||
|
||||
static inline u32 crypto_tfm_alg_type(struct crypto_tfm *tfm)
|
||||
{
|
||||
return tfm->__crt_alg->cra_flags & CRYPTO_ALG_TYPE_MASK;
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#include <linux/lockdep.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/pm.h>
|
||||
#include <linux/atomic.h>
|
||||
#include <asm/device.h>
|
||||
@@ -29,6 +29,7 @@ struct device;
|
||||
struct device_private;
|
||||
struct device_driver;
|
||||
struct driver_private;
|
||||
struct module;
|
||||
struct class;
|
||||
struct subsys_private;
|
||||
struct bus_type;
|
||||
@@ -723,10 +724,14 @@ extern int dev_set_drvdata(struct device *dev, void *data);
|
||||
*/
|
||||
extern struct device *__root_device_register(const char *name,
|
||||
struct module *owner);
|
||||
static inline struct device *root_device_register(const char *name)
|
||||
{
|
||||
return __root_device_register(name, THIS_MODULE);
|
||||
}
|
||||
|
||||
/*
|
||||
* This is a macro to avoid include problems with THIS_MODULE,
|
||||
* just as per what is done for device_schedule_callback() above.
|
||||
*/
|
||||
#define root_device_register(name) \
|
||||
__root_device_register(name, THIS_MODULE)
|
||||
|
||||
extern void root_device_unregister(struct device *root);
|
||||
|
||||
static inline void *dev_get_platdata(const struct device *dev)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/fs.h>
|
||||
|
||||
#ifdef CONFIG_CGROUP_DEVICE
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
#include <linux/uio.h>
|
||||
#include <linux/dma-direction.h>
|
||||
#include <linux/scatterlist.h>
|
||||
#include <linux/bitmap.h>
|
||||
#include <asm/page.h>
|
||||
|
||||
/**
|
||||
* typedef dma_cookie_t - an opaque DMA cookie
|
||||
|
||||
89
include/linux/export.h
Normal file
89
include/linux/export.h
Normal file
@@ -0,0 +1,89 @@
|
||||
#ifndef _LINUX_EXPORT_H
|
||||
#define _LINUX_EXPORT_H
|
||||
/*
|
||||
* Export symbols from the kernel to modules. Forked from module.h
|
||||
* to reduce the amount of pointless cruft we feed to gcc when only
|
||||
* exporting a simple symbol or two.
|
||||
*
|
||||
* If you feel the need to add #include <linux/foo.h> to this file
|
||||
* then you are doing something wrong and should go away silently.
|
||||
*/
|
||||
|
||||
/* Some toolchains use a `_' prefix for all user symbols. */
|
||||
#ifdef CONFIG_SYMBOL_PREFIX
|
||||
#define MODULE_SYMBOL_PREFIX CONFIG_SYMBOL_PREFIX
|
||||
#else
|
||||
#define MODULE_SYMBOL_PREFIX ""
|
||||
#endif
|
||||
|
||||
struct kernel_symbol
|
||||
{
|
||||
unsigned long value;
|
||||
const char *name;
|
||||
};
|
||||
|
||||
#ifdef MODULE
|
||||
extern struct module __this_module;
|
||||
#define THIS_MODULE (&__this_module)
|
||||
#else
|
||||
#define THIS_MODULE ((struct module *)0)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MODULES
|
||||
|
||||
#ifndef __GENKSYMS__
|
||||
#ifdef CONFIG_MODVERSIONS
|
||||
/* Mark the CRC weak since genksyms apparently decides not to
|
||||
* generate a checksums for some symbols */
|
||||
#define __CRC_SYMBOL(sym, sec) \
|
||||
extern void *__crc_##sym __attribute__((weak)); \
|
||||
static const unsigned long __kcrctab_##sym \
|
||||
__used \
|
||||
__attribute__((section("___kcrctab" sec "+" #sym), unused)) \
|
||||
= (unsigned long) &__crc_##sym;
|
||||
#else
|
||||
#define __CRC_SYMBOL(sym, sec)
|
||||
#endif
|
||||
|
||||
/* For every exported symbol, place a struct in the __ksymtab section */
|
||||
#define __EXPORT_SYMBOL(sym, sec) \
|
||||
extern typeof(sym) sym; \
|
||||
__CRC_SYMBOL(sym, sec) \
|
||||
static const char __kstrtab_##sym[] \
|
||||
__attribute__((section("__ksymtab_strings"), aligned(1))) \
|
||||
= MODULE_SYMBOL_PREFIX #sym; \
|
||||
static const struct kernel_symbol __ksymtab_##sym \
|
||||
__used \
|
||||
__attribute__((section("___ksymtab" sec "+" #sym), unused)) \
|
||||
= { (unsigned long)&sym, __kstrtab_##sym }
|
||||
|
||||
#define EXPORT_SYMBOL(sym) \
|
||||
__EXPORT_SYMBOL(sym, "")
|
||||
|
||||
#define EXPORT_SYMBOL_GPL(sym) \
|
||||
__EXPORT_SYMBOL(sym, "_gpl")
|
||||
|
||||
#define EXPORT_SYMBOL_GPL_FUTURE(sym) \
|
||||
__EXPORT_SYMBOL(sym, "_gpl_future")
|
||||
|
||||
#ifdef CONFIG_UNUSED_SYMBOLS
|
||||
#define EXPORT_UNUSED_SYMBOL(sym) __EXPORT_SYMBOL(sym, "_unused")
|
||||
#define EXPORT_UNUSED_SYMBOL_GPL(sym) __EXPORT_SYMBOL(sym, "_unused_gpl")
|
||||
#else
|
||||
#define EXPORT_UNUSED_SYMBOL(sym)
|
||||
#define EXPORT_UNUSED_SYMBOL_GPL(sym)
|
||||
#endif
|
||||
|
||||
#endif /* __GENKSYMS__ */
|
||||
|
||||
#else /* !CONFIG_MODULES... */
|
||||
|
||||
#define EXPORT_SYMBOL(sym)
|
||||
#define EXPORT_SYMBOL_GPL(sym)
|
||||
#define EXPORT_SYMBOL_GPL_FUTURE(sym)
|
||||
#define EXPORT_UNUSED_SYMBOL(sym)
|
||||
#define EXPORT_UNUSED_SYMBOL_GPL(sym)
|
||||
|
||||
#endif /* CONFIG_MODULES */
|
||||
|
||||
#endif /* _LINUX_EXPORT_H */
|
||||
@@ -1,7 +1,6 @@
|
||||
#ifndef _LINUX_FIRMWARE_H
|
||||
#define _LINUX_FIRMWARE_H
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/gfp.h>
|
||||
@@ -15,6 +14,7 @@ struct firmware {
|
||||
struct page **pages;
|
||||
};
|
||||
|
||||
struct module;
|
||||
struct device;
|
||||
|
||||
struct builtin_fw {
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#include <linux/kallsyms.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/ktime.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/types.h>
|
||||
@@ -19,6 +18,7 @@
|
||||
|
||||
#include <asm/ftrace.h>
|
||||
|
||||
struct module;
|
||||
struct ftrace_hash;
|
||||
|
||||
#ifdef CONFIG_FUNCTION_TRACER
|
||||
|
||||
@@ -71,10 +71,9 @@ void gameport_close(struct gameport *gameport);
|
||||
#if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE))
|
||||
|
||||
void __gameport_register_port(struct gameport *gameport, struct module *owner);
|
||||
static inline void gameport_register_port(struct gameport *gameport)
|
||||
{
|
||||
__gameport_register_port(gameport, THIS_MODULE);
|
||||
}
|
||||
/* use a define to avoid include chaining to get THIS_MODULE */
|
||||
#define gameport_register_port(gameport) \
|
||||
__gameport_register_port(gameport, THIS_MODULE)
|
||||
|
||||
void gameport_unregister_port(struct gameport *gameport);
|
||||
|
||||
@@ -145,12 +144,12 @@ static inline void gameport_unpin_driver(struct gameport *gameport)
|
||||
mutex_unlock(&gameport->drv_mutex);
|
||||
}
|
||||
|
||||
int __gameport_register_driver(struct gameport_driver *drv,
|
||||
int __must_check __gameport_register_driver(struct gameport_driver *drv,
|
||||
struct module *owner, const char *mod_name);
|
||||
static inline int __must_check gameport_register_driver(struct gameport_driver *drv)
|
||||
{
|
||||
return __gameport_register_driver(drv, THIS_MODULE, KBUILD_MODNAME);
|
||||
}
|
||||
|
||||
/* use a define to avoid include chaining to get THIS_MODULE & friends */
|
||||
#define gameport_register_driver(drv) \
|
||||
__gameport_register_driver(drv, THIS_MODULE, KBUILD_MODNAME)
|
||||
|
||||
void gameport_unregister_driver(struct gameport_driver *drv);
|
||||
|
||||
|
||||
@@ -697,10 +697,11 @@ extern void hid_destroy_device(struct hid_device *);
|
||||
|
||||
extern int __must_check __hid_register_driver(struct hid_driver *,
|
||||
struct module *, const char *mod_name);
|
||||
static inline int __must_check hid_register_driver(struct hid_driver *driver)
|
||||
{
|
||||
return __hid_register_driver(driver, THIS_MODULE, KBUILD_MODNAME);
|
||||
}
|
||||
|
||||
/* use a define to avoid include chaining to get THIS_MODULE & friends */
|
||||
#define hid_register_driver(driver) \
|
||||
__hid_register_driver(driver, THIS_MODULE, KBUILD_MODNAME)
|
||||
|
||||
extern void hid_unregister_driver(struct hid_driver *);
|
||||
|
||||
extern void hidinput_hid_event(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#ifdef __KERNEL__
|
||||
#include <linux/module.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <linux/device.h> /* for struct device */
|
||||
#include <linux/sched.h> /* for completion */
|
||||
@@ -49,6 +48,8 @@ struct i2c_driver;
|
||||
union i2c_smbus_data;
|
||||
struct i2c_board_info;
|
||||
|
||||
struct module;
|
||||
|
||||
#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
|
||||
/*
|
||||
* The master routines are the ones normally used to transmit data to devices
|
||||
@@ -451,10 +452,9 @@ extern int i2c_add_numbered_adapter(struct i2c_adapter *);
|
||||
extern int i2c_register_driver(struct module *, struct i2c_driver *);
|
||||
extern void i2c_del_driver(struct i2c_driver *);
|
||||
|
||||
static inline int i2c_add_driver(struct i2c_driver *driver)
|
||||
{
|
||||
return i2c_register_driver(THIS_MODULE, driver);
|
||||
}
|
||||
/* use a define to avoid include chaining to get THIS_MODULE */
|
||||
#define i2c_add_driver(driver) \
|
||||
i2c_register_driver(THIS_MODULE, driver)
|
||||
|
||||
extern struct i2c_client *i2c_use_client(struct i2c_client *client);
|
||||
extern void i2c_release_client(struct i2c_client *client);
|
||||
|
||||
@@ -220,10 +220,11 @@ struct kernel_ipmi_msg {
|
||||
* The in-kernel interface.
|
||||
*/
|
||||
#include <linux/list.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/proc_fs.h>
|
||||
|
||||
struct module;
|
||||
|
||||
/* Opaque type for a IPMI message user. One of these is needed to
|
||||
send and receive messages. */
|
||||
typedef struct ipmi_user *ipmi_user_t;
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
|
||||
#include <linux/ipmi_msgdefs.h>
|
||||
#include <linux/proc_fs.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/ipmi.h>
|
||||
|
||||
@@ -23,13 +23,13 @@
|
||||
#include <linux/errno.h>
|
||||
#include <linux/topology.h>
|
||||
#include <linux/wait.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/irq.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/irq_regs.h>
|
||||
|
||||
struct seq_file;
|
||||
struct module;
|
||||
struct irq_desc;
|
||||
struct irq_data;
|
||||
typedef void (*irq_flow_handler_t)(unsigned int irq,
|
||||
@@ -567,30 +567,22 @@ static inline struct msi_desc *irq_data_get_msi(struct irq_data *d)
|
||||
int __irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node,
|
||||
struct module *owner);
|
||||
|
||||
static inline int irq_alloc_descs(int irq, unsigned int from, unsigned int cnt,
|
||||
int node)
|
||||
{
|
||||
return __irq_alloc_descs(irq, from, cnt, node, THIS_MODULE);
|
||||
}
|
||||
/* use macros to avoid needing export.h for THIS_MODULE */
|
||||
#define irq_alloc_descs(irq, from, cnt, node) \
|
||||
__irq_alloc_descs(irq, from, cnt, node, THIS_MODULE)
|
||||
|
||||
#define irq_alloc_desc(node) \
|
||||
irq_alloc_descs(-1, 0, 1, node)
|
||||
|
||||
#define irq_alloc_desc_at(at, node) \
|
||||
irq_alloc_descs(at, at, 1, node)
|
||||
|
||||
#define irq_alloc_desc_from(from, node) \
|
||||
irq_alloc_descs(-1, from, 1, node)
|
||||
|
||||
void irq_free_descs(unsigned int irq, unsigned int cnt);
|
||||
int irq_reserve_irqs(unsigned int from, unsigned int cnt);
|
||||
|
||||
static inline int irq_alloc_desc(int node)
|
||||
{
|
||||
return irq_alloc_descs(-1, 0, 1, node);
|
||||
}
|
||||
|
||||
static inline int irq_alloc_desc_at(unsigned int at, int node)
|
||||
{
|
||||
return irq_alloc_descs(at, at, 1, node);
|
||||
}
|
||||
|
||||
static inline int irq_alloc_desc_from(unsigned int from, int node)
|
||||
{
|
||||
return irq_alloc_descs(-1, from, 1, node);
|
||||
}
|
||||
|
||||
static inline void irq_free_desc(unsigned int irq)
|
||||
{
|
||||
irq_free_descs(irq, 1);
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
struct irq_affinity_notify;
|
||||
struct proc_dir_entry;
|
||||
struct timer_rand_state;
|
||||
struct module;
|
||||
/**
|
||||
* struct irq_desc - interrupt descriptor
|
||||
* @irq_data: per irq and chip data passed down to chip functions
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
#define __LINUX_MDIO_BITBANG_H
|
||||
|
||||
#include <linux/phy.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
struct module;
|
||||
|
||||
struct mdiobb_ctrl;
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#ifndef _LINUX_MISCDEVICE_H
|
||||
#define _LINUX_MISCDEVICE_H
|
||||
#include <linux/module.h>
|
||||
#include <linux/major.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* These allocations are managed by device@lanana.org. If you use an
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/moduleparam.h>
|
||||
#include <linux/tracepoint.h>
|
||||
#include <linux/export.h>
|
||||
|
||||
#include <linux/percpu.h>
|
||||
#include <asm/module.h>
|
||||
@@ -25,21 +26,8 @@
|
||||
/* Not Yet Implemented */
|
||||
#define MODULE_SUPPORTED_DEVICE(name)
|
||||
|
||||
/* Some toolchains use a `_' prefix for all user symbols. */
|
||||
#ifdef CONFIG_SYMBOL_PREFIX
|
||||
#define MODULE_SYMBOL_PREFIX CONFIG_SYMBOL_PREFIX
|
||||
#else
|
||||
#define MODULE_SYMBOL_PREFIX ""
|
||||
#endif
|
||||
|
||||
#define MODULE_NAME_LEN MAX_PARAM_PREFIX_LEN
|
||||
|
||||
struct kernel_symbol
|
||||
{
|
||||
unsigned long value;
|
||||
const char *name;
|
||||
};
|
||||
|
||||
struct modversion_info
|
||||
{
|
||||
unsigned long crc;
|
||||
@@ -98,11 +86,8 @@ void trim_init_extable(struct module *m);
|
||||
extern const struct gtype##_id __mod_##gtype##_table \
|
||||
__attribute__ ((unused, alias(__stringify(name))))
|
||||
|
||||
extern struct module __this_module;
|
||||
#define THIS_MODULE (&__this_module)
|
||||
#else /* !MODULE */
|
||||
#define MODULE_GENERIC_TABLE(gtype,name)
|
||||
#define THIS_MODULE ((struct module *)0)
|
||||
#endif
|
||||
|
||||
/* Generic info of form tag = "info" */
|
||||
@@ -150,11 +135,6 @@ extern struct module __this_module;
|
||||
/* What your module does. */
|
||||
#define MODULE_DESCRIPTION(_description) MODULE_INFO(description, _description)
|
||||
|
||||
/* One for each parameter, describing how to use it. Some files do
|
||||
multiple of these per line, so can't just use MODULE_INFO. */
|
||||
#define MODULE_PARM_DESC(_parm, desc) \
|
||||
__MODULE_INFO(parm, _parm, #_parm ":" desc)
|
||||
|
||||
#define MODULE_DEVICE_TABLE(type,name) \
|
||||
MODULE_GENERIC_TABLE(type##_device,name)
|
||||
|
||||
@@ -218,52 +198,6 @@ struct module_use {
|
||||
struct module *source, *target;
|
||||
};
|
||||
|
||||
#ifndef __GENKSYMS__
|
||||
#ifdef CONFIG_MODVERSIONS
|
||||
/* Mark the CRC weak since genksyms apparently decides not to
|
||||
* generate a checksums for some symbols */
|
||||
#define __CRC_SYMBOL(sym, sec) \
|
||||
extern void *__crc_##sym __attribute__((weak)); \
|
||||
static const unsigned long __kcrctab_##sym \
|
||||
__used \
|
||||
__attribute__((section("___kcrctab" sec "+" #sym), unused)) \
|
||||
= (unsigned long) &__crc_##sym;
|
||||
#else
|
||||
#define __CRC_SYMBOL(sym, sec)
|
||||
#endif
|
||||
|
||||
/* For every exported symbol, place a struct in the __ksymtab section */
|
||||
#define __EXPORT_SYMBOL(sym, sec) \
|
||||
extern typeof(sym) sym; \
|
||||
__CRC_SYMBOL(sym, sec) \
|
||||
static const char __kstrtab_##sym[] \
|
||||
__attribute__((section("__ksymtab_strings"), aligned(1))) \
|
||||
= MODULE_SYMBOL_PREFIX #sym; \
|
||||
static const struct kernel_symbol __ksymtab_##sym \
|
||||
__used \
|
||||
__attribute__((section("___ksymtab" sec "+" #sym), unused)) \
|
||||
= { (unsigned long)&sym, __kstrtab_##sym }
|
||||
|
||||
#define EXPORT_SYMBOL(sym) \
|
||||
__EXPORT_SYMBOL(sym, "")
|
||||
|
||||
#define EXPORT_SYMBOL_GPL(sym) \
|
||||
__EXPORT_SYMBOL(sym, "_gpl")
|
||||
|
||||
#define EXPORT_SYMBOL_GPL_FUTURE(sym) \
|
||||
__EXPORT_SYMBOL(sym, "_gpl_future")
|
||||
|
||||
|
||||
#ifdef CONFIG_UNUSED_SYMBOLS
|
||||
#define EXPORT_UNUSED_SYMBOL(sym) __EXPORT_SYMBOL(sym, "_unused")
|
||||
#define EXPORT_UNUSED_SYMBOL_GPL(sym) __EXPORT_SYMBOL(sym, "_unused_gpl")
|
||||
#else
|
||||
#define EXPORT_UNUSED_SYMBOL(sym)
|
||||
#define EXPORT_UNUSED_SYMBOL_GPL(sym)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
enum module_state
|
||||
{
|
||||
MODULE_STATE_LIVE,
|
||||
@@ -581,11 +515,6 @@ int unregister_module_notifier(struct notifier_block * nb);
|
||||
extern void print_modules(void);
|
||||
|
||||
#else /* !CONFIG_MODULES... */
|
||||
#define EXPORT_SYMBOL(sym)
|
||||
#define EXPORT_SYMBOL_GPL(sym)
|
||||
#define EXPORT_SYMBOL_GPL_FUTURE(sym)
|
||||
#define EXPORT_UNUSED_SYMBOL(sym)
|
||||
#define EXPORT_UNUSED_SYMBOL_GPL(sym)
|
||||
|
||||
/* Given an address, look for it in the exception tables. */
|
||||
static inline const struct exception_table_entry *
|
||||
|
||||
@@ -31,6 +31,11 @@ static const char __module_cat(name,__LINE__)[] \
|
||||
#define __MODULE_PARM_TYPE(name, _type) \
|
||||
__MODULE_INFO(parmtype, name##type, #name ":" _type)
|
||||
|
||||
/* One for each parameter, describing how to use it. Some files do
|
||||
multiple of these per line, so can't just use MODULE_INFO. */
|
||||
#define MODULE_PARM_DESC(_parm, desc) \
|
||||
__MODULE_INFO(parm, _parm, #_parm ":" desc)
|
||||
|
||||
struct kernel_param;
|
||||
|
||||
struct kernel_param_ops {
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
#define __MTD_MTD_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/uio.h>
|
||||
#include <linux/notifier.h>
|
||||
#include <linux/device.h>
|
||||
@@ -125,6 +124,8 @@ struct nand_ecclayout {
|
||||
struct nand_oobfree oobfree[MTD_MAX_OOBFREE_ENTRIES_LARGE];
|
||||
};
|
||||
|
||||
struct module; /* only needed for owner field in mtd_info */
|
||||
|
||||
struct mtd_info {
|
||||
u_char type;
|
||||
uint32_t flags;
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <linux/spinlock.h>
|
||||
|
||||
#include <asm/byteorder.h>
|
||||
#include <asm/errno.h>
|
||||
|
||||
typedef u32 phandle;
|
||||
typedef u32 ihandle;
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_OF_DEVICE
|
||||
#include <linux/module.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <linux/pm.h>
|
||||
|
||||
@@ -132,13 +132,9 @@ extern int pci_hp_deregister(struct hotplug_slot *slot);
|
||||
extern int __must_check pci_hp_change_slot_info (struct hotplug_slot *slot,
|
||||
struct hotplug_slot_info *info);
|
||||
|
||||
static inline int pci_hp_register(struct hotplug_slot *slot,
|
||||
struct pci_bus *pbus,
|
||||
int devnr, const char *name)
|
||||
{
|
||||
return __pci_hp_register(slot, pbus, devnr, name,
|
||||
THIS_MODULE, KBUILD_MODNAME);
|
||||
}
|
||||
/* use a define to avoid include chaining to get THIS_MODULE & friends */
|
||||
#define pci_hp_register(slot, pbus, devnr, name) \
|
||||
__pci_hp_register(slot, pbus, devnr, name, THIS_MODULE, KBUILD_MODNAME)
|
||||
|
||||
/* PCI Setting Record (Type 0) */
|
||||
struct hpp_type0 {
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#define _LINUX_PM_RUNTIME_H
|
||||
|
||||
#include <linux/device.h>
|
||||
#include <linux/notifier.h>
|
||||
#include <linux/pm.h>
|
||||
|
||||
#include <linux/jiffies.h>
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
|
||||
#include <linux/device.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
struct module;
|
||||
struct i2c_client;
|
||||
struct spi_device;
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#define __LINUX_REGULATOR_DRIVER_H_
|
||||
|
||||
#include <linux/device.h>
|
||||
#include <linux/notifier.h>
|
||||
#include <linux/regulator/consumer.h>
|
||||
|
||||
struct regulator_dev;
|
||||
|
||||
@@ -79,19 +79,21 @@ void serio_reconnect(struct serio *serio);
|
||||
irqreturn_t serio_interrupt(struct serio *serio, unsigned char data, unsigned int flags);
|
||||
|
||||
void __serio_register_port(struct serio *serio, struct module *owner);
|
||||
static inline void serio_register_port(struct serio *serio)
|
||||
{
|
||||
__serio_register_port(serio, THIS_MODULE);
|
||||
}
|
||||
|
||||
/* use a define to avoid include chaining to get THIS_MODULE */
|
||||
#define serio_register_port(serio) \
|
||||
__serio_register_port(serio, THIS_MODULE)
|
||||
|
||||
void serio_unregister_port(struct serio *serio);
|
||||
void serio_unregister_child_port(struct serio *serio);
|
||||
|
||||
int __serio_register_driver(struct serio_driver *drv, struct module *owner, const char *mod_name);
|
||||
static inline int __must_check serio_register_driver(struct serio_driver *drv)
|
||||
{
|
||||
return __serio_register_driver(drv, THIS_MODULE, KBUILD_MODNAME);
|
||||
}
|
||||
int __must_check __serio_register_driver(struct serio_driver *drv,
|
||||
struct module *owner, const char *mod_name);
|
||||
|
||||
/* use a define to avoid include chaining to get THIS_MODULE & friends */
|
||||
#define serio_register_driver(drv) \
|
||||
__serio_register_driver(drv, THIS_MODULE, KBUILD_MODNAME)
|
||||
|
||||
void serio_unregister_driver(struct serio_driver *drv);
|
||||
|
||||
static inline int serio_write(struct serio *serio, unsigned char data)
|
||||
|
||||
@@ -231,10 +231,9 @@ struct ssb_driver {
|
||||
#define drv_to_ssb_drv(_drv) container_of(_drv, struct ssb_driver, drv)
|
||||
|
||||
extern int __ssb_driver_register(struct ssb_driver *drv, struct module *owner);
|
||||
static inline int ssb_driver_register(struct ssb_driver *drv)
|
||||
{
|
||||
return __ssb_driver_register(drv, THIS_MODULE);
|
||||
}
|
||||
#define ssb_driver_register(drv) \
|
||||
__ssb_driver_register(drv, THIS_MODULE)
|
||||
|
||||
extern void ssb_driver_unregister(struct ssb_driver *drv);
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/cpumask.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/list.h>
|
||||
#include <asm/system.h>
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
#define SUNRPC_SVC_XPRT_H
|
||||
|
||||
#include <linux/sunrpc/svc.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
struct module;
|
||||
|
||||
struct svc_xprt_ops {
|
||||
struct svc_xprt *(*xpo_create)(struct svc_serv *,
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
#define _SYSDEV_H_
|
||||
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/pm.h>
|
||||
|
||||
|
||||
|
||||
@@ -4,10 +4,11 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
struct module;
|
||||
|
||||
struct ts_config;
|
||||
|
||||
#define TS_AUTOLOAD 1 /* Automatically load textsearch modules when needed */
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
#ifndef _UIO_DRIVER_H_
|
||||
#define _UIO_DRIVER_H_
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/interrupt.h>
|
||||
|
||||
struct module;
|
||||
struct uio_map;
|
||||
|
||||
/**
|
||||
@@ -101,11 +101,11 @@ extern int __must_check
|
||||
__uio_register_device(struct module *owner,
|
||||
struct device *parent,
|
||||
struct uio_info *info);
|
||||
static inline int __must_check
|
||||
uio_register_device(struct device *parent, struct uio_info *info)
|
||||
{
|
||||
return __uio_register_device(THIS_MODULE, parent, info);
|
||||
}
|
||||
|
||||
/* use a define to avoid include chaining to get THIS_MODULE */
|
||||
#define uio_register_device(parent, info) \
|
||||
__uio_register_device(THIS_MODULE, parent, info)
|
||||
|
||||
extern void uio_unregister_device(struct uio_info *info);
|
||||
extern void uio_event_notify(struct uio_info *info);
|
||||
|
||||
|
||||
@@ -946,10 +946,11 @@ struct usb_class_driver {
|
||||
*/
|
||||
extern int usb_register_driver(struct usb_driver *, struct module *,
|
||||
const char *);
|
||||
static inline int usb_register(struct usb_driver *driver)
|
||||
{
|
||||
return usb_register_driver(driver, THIS_MODULE, KBUILD_MODNAME);
|
||||
}
|
||||
|
||||
/* use a define to avoid include chaining to get THIS_MODULE & friends */
|
||||
#define usb_register(driver) \
|
||||
usb_register_driver(driver, THIS_MODULE, KBUILD_MODNAME)
|
||||
|
||||
extern void usb_deregister(struct usb_driver *);
|
||||
|
||||
extern int usb_register_device_driver(struct usb_device_driver *,
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include <linux/wait.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/uwb/spec.h>
|
||||
#include <asm/page.h>
|
||||
|
||||
struct uwb_dev;
|
||||
struct uwb_beca_e;
|
||||
|
||||
@@ -111,10 +111,9 @@ int __must_check __umc_driver_register(struct umc_driver *umc_drv,
|
||||
* umc_driver_register - register a UMC capabiltity driver.
|
||||
* @umc_drv: pointer to the driver.
|
||||
*/
|
||||
static inline int __must_check umc_driver_register(struct umc_driver *umc_drv)
|
||||
{
|
||||
return __umc_driver_register(umc_drv, THIS_MODULE, KBUILD_MODNAME);
|
||||
}
|
||||
#define umc_driver_register(umc_drv) \
|
||||
__umc_driver_register(umc_drv, THIS_MODULE, KBUILD_MODNAME)
|
||||
|
||||
void umc_driver_unregister(struct umc_driver *umc_drv);
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include <generated/utsrelease.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
/* Simply sanity version stamp for modules. */
|
||||
#ifdef CONFIG_SMP
|
||||
|
||||
@@ -20,9 +20,10 @@
|
||||
#define __VLYNQ_H__
|
||||
|
||||
#include <linux/device.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
struct module;
|
||||
|
||||
#define VLYNQ_NUM_IRQS 32
|
||||
|
||||
struct vlynq_mapping {
|
||||
|
||||
Reference in New Issue
Block a user