mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: sysfs: fix build errors: uevent with CONFIG_SYSFS=n pcmcia: some class_device fallout Driver core: device_add_attrs() cleanup debugfs: Remove misleading comments. debugfs: implement symbolic links Driver: remove redundant kobject_unregister checks kobject: kobj->k_name verification fix serial: Add PCMCIA IDs for Quatech DSP-100 dual RS232 adapter. Driver core: let request_module() send a /sys/modules/kmod/-uevent Driver.h copyright update
This commit is contained in:
commit
5fe8252fc3
18 changed files with 343 additions and 77 deletions
|
|
@ -33,6 +33,9 @@ struct dentry *debugfs_create_file(const char *name, mode_t mode,
|
|||
|
||||
struct dentry *debugfs_create_dir(const char *name, struct dentry *parent);
|
||||
|
||||
struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent,
|
||||
const char *dest);
|
||||
|
||||
void debugfs_remove(struct dentry *dentry);
|
||||
|
||||
struct dentry *debugfs_create_u8(const char *name, mode_t mode,
|
||||
|
|
@ -70,6 +73,13 @@ static inline struct dentry *debugfs_create_dir(const char *name,
|
|||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_symlink(const char *name,
|
||||
struct dentry *parent,
|
||||
const char *dest)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline void debugfs_remove(struct dentry *dentry)
|
||||
{ }
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
* device.h - generic, centralized driver model
|
||||
*
|
||||
* Copyright (c) 2001-2003 Patrick Mochel <mochel@osdl.org>
|
||||
* Copyright (c) 2004-2007 Greg Kroah-Hartman <gregkh@suse.de>
|
||||
*
|
||||
* This file is released under the GPLv2
|
||||
*
|
||||
|
|
|
|||
|
|
@ -28,8 +28,10 @@
|
|||
#ifdef CONFIG_KMOD
|
||||
/* modprobe exit status on success, -ve on error. Return value
|
||||
* usually useless though. */
|
||||
extern void kmod_sysfs_init(void);
|
||||
extern int request_module(const char * name, ...) __attribute__ ((format (printf, 1, 2)));
|
||||
#else
|
||||
static inline void kmod_sysfs_init(void) {};
|
||||
static inline int request_module(const char * name, ...) { return -ENOSYS; }
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -76,8 +76,6 @@ void sort_extable(struct exception_table_entry *start,
|
|||
struct exception_table_entry *finish);
|
||||
void sort_main_extable(void);
|
||||
|
||||
extern struct subsystem module_subsys;
|
||||
|
||||
#ifdef MODULE
|
||||
#define MODULE_GENERIC_TABLE(gtype,name) \
|
||||
extern const struct gtype##_id __mod_##gtype##_table \
|
||||
|
|
@ -467,10 +465,6 @@ int unregister_module_notifier(struct notifier_block * nb);
|
|||
|
||||
extern void print_modules(void);
|
||||
|
||||
struct device_driver;
|
||||
void module_add_driver(struct module *, struct device_driver *);
|
||||
void module_remove_driver(struct device_driver *);
|
||||
|
||||
#else /* !CONFIG_MODULES... */
|
||||
#define EXPORT_SYMBOL(sym)
|
||||
#define EXPORT_SYMBOL_GPL(sym)
|
||||
|
|
@ -568,18 +562,59 @@ static inline void print_modules(void)
|
|||
{
|
||||
}
|
||||
|
||||
#endif /* CONFIG_MODULES */
|
||||
|
||||
struct device_driver;
|
||||
#ifdef CONFIG_SYSFS
|
||||
struct module;
|
||||
|
||||
static inline void module_add_driver(struct module *module, struct device_driver *driver)
|
||||
extern struct subsystem module_subsys;
|
||||
|
||||
int mod_sysfs_init(struct module *mod);
|
||||
int mod_sysfs_setup(struct module *mod,
|
||||
struct kernel_param *kparam,
|
||||
unsigned int num_params);
|
||||
int module_add_modinfo_attrs(struct module *mod);
|
||||
void module_remove_modinfo_attrs(struct module *mod);
|
||||
|
||||
#else /* !CONFIG_SYSFS */
|
||||
|
||||
static inline int mod_sysfs_init(struct module *mod)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void module_remove_driver(struct device_driver *driver)
|
||||
static inline int mod_sysfs_setup(struct module *mod,
|
||||
struct kernel_param *kparam,
|
||||
unsigned int num_params)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_MODULES */
|
||||
static inline int module_add_modinfo_attrs(struct module *mod)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void module_remove_modinfo_attrs(struct module *mod)
|
||||
{ }
|
||||
|
||||
#endif /* CONFIG_SYSFS */
|
||||
|
||||
#if defined(CONFIG_SYSFS) && defined(CONFIG_MODULES)
|
||||
|
||||
void module_add_driver(struct module *mod, struct device_driver *drv);
|
||||
void module_remove_driver(struct device_driver *drv);
|
||||
|
||||
#else /* not both CONFIG_SYSFS && CONFIG_MODULES */
|
||||
|
||||
static inline void module_add_driver(struct module *mod, struct device_driver *drv)
|
||||
{ }
|
||||
|
||||
static inline void module_remove_driver(struct device_driver *drv)
|
||||
{ }
|
||||
|
||||
#endif
|
||||
|
||||
#define symbol_request(x) try_then_request_module(symbol_get(x), "symbol:" #x)
|
||||
|
||||
|
|
|
|||
|
|
@ -169,10 +169,22 @@ extern int param_get_string(char *buffer, struct kernel_param *kp);
|
|||
|
||||
struct module;
|
||||
|
||||
#if defined(CONFIG_SYSFS) && defined(CONFIG_MODULES)
|
||||
extern int module_param_sysfs_setup(struct module *mod,
|
||||
struct kernel_param *kparam,
|
||||
unsigned int num_params);
|
||||
|
||||
extern void module_param_sysfs_remove(struct module *mod);
|
||||
#else
|
||||
static inline int module_param_sysfs_setup(struct module *mod,
|
||||
struct kernel_param *kparam,
|
||||
unsigned int num_params)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void module_param_sysfs_remove(struct module *mod)
|
||||
{ }
|
||||
#endif
|
||||
|
||||
#endif /* _LINUX_MODULE_PARAMS_H */
|
||||
|
|
|
|||
Loading…
Reference in a new issue