On Sun, Feb 20, 2022 at 7:01 AM tangmeng <tangmeng@xxxxxxxxxxxxx> wrote: > > kernel/sysctl.c is a kitchen sink where everyone leaves their dirty > dishes, this makes it very difficult to maintain. > > To help with this maintenance let's start by moving sysctls to places > where they actually belong. The proc sysctl maintainers do not want to > know what sysctl knobs you wish to add for your own piece of code, we > just care about the core logic. > > All filesystem syctls now get reviewed by fs folks. This commit > follows the commit of fs, move the acpi_video_flags sysctl to its > own file, arch/x86/kernel/acpi/sleep.c. > > Signed-off-by: tangmeng <tangmeng@xxxxxxxxxxxxx> Do you want me to take this or does it depend on the rest of the series? > --- > arch/x86/kernel/acpi/sleep.c | 21 ++++++++++++++++++++- > include/linux/acpi.h | 1 - > kernel/sysctl.c | 9 --------- > 3 files changed, 20 insertions(+), 11 deletions(-) > > diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c > index 1e97f944b47d..256f3c065605 100644 > --- a/arch/x86/kernel/acpi/sleep.c > +++ b/arch/x86/kernel/acpi/sleep.c > @@ -20,7 +20,26 @@ > #include "../../realmode/rm/wakeup.h" > #include "sleep.h" > > -unsigned long acpi_realmode_flags; > +static unsigned long acpi_realmode_flags; > +#ifdef CONFIG_SYSCTL > +static struct ctl_table kern_acpi_table[] = { > + { > + .procname = "acpi_video_flags", > + .data = &acpi_realmode_flags, > + .maxlen = sizeof(unsigned long), > + .mode = 0644, > + .proc_handler = proc_doulongvec_minmax, > + }, > + { } > +}; > + > +static __init int kernel_acpi_sysctls_init(void) > +{ > + register_sysctl_init("kernel", kern_acpi_table); > + return 0; > +} > +late_initcall(kernel_acpi_sysctls_init); > +#endif /* CONFIG_SYSCTL */ > > #if defined(CONFIG_SMP) && defined(CONFIG_64BIT) > static char temp_stack[4096]; > diff --git a/include/linux/acpi.h b/include/linux/acpi.h > index 6274758648e3..4f1d9cf579f5 100644 > --- a/include/linux/acpi.h > +++ b/include/linux/acpi.h > @@ -349,7 +349,6 @@ static inline bool acpi_sci_irq_valid(void) > } > > extern int sbf_port; > -extern unsigned long acpi_realmode_flags; > > int acpi_register_gsi (struct device *dev, u32 gsi, int triggering, int polarity); > int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); > diff --git a/kernel/sysctl.c b/kernel/sysctl.c > index e6d99bbf9a9d..62499e3207aa 100644 > --- a/kernel/sysctl.c > +++ b/kernel/sysctl.c > @@ -1973,15 +1973,6 @@ static struct ctl_table kern_table[] = { > .proc_handler = proc_dointvec, > }, > #endif > -#if defined(CONFIG_ACPI_SLEEP) && defined(CONFIG_X86) > - { > - .procname = "acpi_video_flags", > - .data = &acpi_realmode_flags, > - .maxlen = sizeof (unsigned long), > - .mode = 0644, > - .proc_handler = proc_doulongvec_minmax, > - }, > -#endif > #ifdef CONFIG_SYSCTL_ARCH_UNALIGN_NO_WARN > { > .procname = "ignore-unaligned-usertrap", > -- > 2.20.1 > > >