[Patch -mm 1/3] RFC: Use module->mkobj even if !CONFIG_SYSFS.

From: Cornelia Huck
Date: Mon Apr 16 2007 - 13:34:40 EST


Make module->mkobj.kobj useful for refcounting, even if sysfs is
not used.

Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>

---
include/linux/module.h | 14 +-------------
kernel/module.c | 2 --
kernel/params.c | 14 +++++---------
3 files changed, 6 insertions(+), 24 deletions(-)

--- linux-2.6.orig/include/linux/module.h
+++ linux-2.6/include/linux/module.h
@@ -583,7 +583,6 @@ static inline void print_modules(void)
#endif /* CONFIG_MODULES */

struct device_driver;
-#ifdef CONFIG_SYSFS
struct module;

extern struct subsystem module_subsys;
@@ -592,23 +591,12 @@ int mod_sysfs_init(struct module *mod);
int mod_sysfs_setup(struct module *mod,
struct kernel_param *kparam,
unsigned int num_params);
+#ifdef CONFIG_SYSFS
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 int mod_sysfs_setup(struct module *mod,
- struct kernel_param *kparam,
- unsigned int num_params)
-{
- return 0;
-}
-
static inline int module_add_modinfo_attrs(struct module *mod)
{
return 0;
--- linux-2.6.orig/kernel/module.c
+++ linux-2.6/kernel/module.c
@@ -1387,7 +1387,6 @@ void module_remove_modinfo_attrs(struct
}
#endif

-#ifdef CONFIG_SYSFS
int mod_sysfs_init(struct module *mod)
{
int err;
@@ -1447,7 +1446,6 @@ out_unreg:
out:
return err;
}
-#endif

static void mod_kobject_remove(struct module *mod)
{
--- linux-2.6.orig/kernel/params.c
+++ linux-2.6/kernel/params.c
@@ -621,7 +621,11 @@ static void __init param_sysfs_builtin(v
kernel_param_sysfs_setup(modname, kp_begin, count,
strlen(modname)+1);
}
-
+#else
+static void __init param_sysfs_builtin(void)
+{
+}
+#endif

/* module-related sysfs stuff */

@@ -712,14 +716,6 @@ static int __init param_sysfs_init(void)
}
subsys_initcall(param_sysfs_init);

-#else
-#if 0
-static struct sysfs_ops module_sysfs_ops = {
- .show = NULL,
- .store = NULL,
-};
-#endif
-#endif

EXPORT_SYMBOL(param_set_byte);
EXPORT_SYMBOL(param_get_byte);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/