On Fri, 18 Feb 2022, Aaron Tomlin wrote: > No functional change. > > This patch migrates module sysfs support out of core code into > kernel/module/sysfs.c. In addition simple code refactoring to > make this possible. > > Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx> There was apparently a problem on your side when sending the series. There is Reply-To field which probably should have been In-Reply-To. It also applied to the following two patches. > kernel/module/Makefile | 1 + > kernel/module/internal.h | 21 ++ > kernel/module/main.c | 469 +-------------------------------------- > kernel/module/sysfs.c | 436 ++++++++++++++++++++++++++++++++++++ > 4 files changed, 461 insertions(+), 466 deletions(-) > create mode 100644 kernel/module/sysfs.c > > diff --git a/kernel/module/Makefile b/kernel/module/Makefile > index f66fda0b41cc..a3cbe09ce2b2 100644 > --- a/kernel/module/Makefile > +++ b/kernel/module/Makefile > @@ -14,4 +14,5 @@ obj-$(CONFIG_STRICT_MODULE_RWX) += strict_rwx.o > obj-$(CONFIG_DEBUG_KMEMLEAK) += debug_kmemleak.o > obj-$(CONFIG_KALLSYMS) += kallsyms.o > obj-$(CONFIG_PROC_FS) += procfs.o > +obj-$(CONFIG_SYSFS) += sysfs.o > endif > diff --git a/kernel/module/internal.h b/kernel/module/internal.h > index ddb37024a0d6..74096cca742c 100644 > --- a/kernel/module/internal.h > +++ b/kernel/module/internal.h > @@ -34,6 +34,9 @@ > extern struct mutex module_mutex; > extern struct list_head modules; > > +extern struct module_attribute *modinfo_attrs[]; > +extern size_t modinfo_attrs_count; > + > /* Provided by the linker */ > extern const struct kernel_symbol __start___ksymtab[]; > extern const struct kernel_symbol __stop___ksymtab[]; > @@ -213,3 +216,21 @@ static inline bool sect_empty(const Elf_Shdr *sect) > static inline void layout_symtab(struct module *mod, struct load_info *info) { } > static inline void add_kallsyms(struct module *mod, const struct load_info *info) { } > #endif /* CONFIG_KALLSYMS */ > + > +#ifdef CONFIG_SYSFS > +int mod_sysfs_setup(struct module *mod, const struct load_info *info, > + struct kernel_param *kparam, unsigned int num_params); > +void mod_sysfs_teardown(struct module *mod); > +void init_param_lock(struct module *mod); > +#else /* !CONFIG_SYSFS */ > +static inline int mod_sysfs_setup(struct module *mod, > + const struct load_info *info, > + struct kernel_param *kparam, > + unsigned int num_params) Whitespace is broken here. Miroslav