Message ID | 20241030123701.1538919-1-arnd@kernel.org (mailing list archive) |
---|---|
State | In Next |
Delegated to: | Rafael Wysocki |
Headers | show |
Series | [1/2,v3] acpi: processor_perflib: extend X86 dependency | expand |
On Wed, Oct 30, 2024 at 1:37 PM Arnd Bergmann <arnd@kernel.org> wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > The majority of the processor_perflib code is only used by cpufreq > drivers on the x86 architecture and makes no sense without the > x86 SMI interactions that rely on I/O port access. > > Replace the existing #ifdef checks with one that covers all of the > code that is only used by x86 drivers, saving a little bit > of kernel code size on other architectures. > > There is likely more code under CONFIG_ACPI_PROCESSOR that falls > into this category, but changing those would require a larger > rework. > > Suggested-by: Rafael J. Wysocki <rafael@kernel.org> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > This is not needed for correctness, only as a small optimization. > > v3: fix build warning > --- > drivers/acpi/processor_perflib.c | 13 +++++-------- > 1 file changed, 5 insertions(+), 8 deletions(-) > > diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c > index 4265814c74f8..53996f1a2d80 100644 > --- a/drivers/acpi/processor_perflib.c > +++ b/drivers/acpi/processor_perflib.c > @@ -24,8 +24,6 @@ > > #define ACPI_PROCESSOR_FILE_PERFORMANCE "performance" > > -static DEFINE_MUTEX(performance_mutex); > - > /* > * _PPC support is implemented as a CPUfreq policy notifier: > * This means each time a CPUfreq driver registered also with > @@ -209,6 +207,10 @@ void acpi_processor_ppc_exit(struct cpufreq_policy *policy) > } > } > > +#ifdef CONFIG_X86 > + > +static DEFINE_MUTEX(performance_mutex); > + > static int acpi_processor_get_performance_control(struct acpi_processor *pr) > { > int result = 0; > @@ -267,7 +269,6 @@ static int acpi_processor_get_performance_control(struct acpi_processor *pr) > return result; > } > > -#ifdef CONFIG_X86 > /* > * Some AMDs have 50MHz frequency multiples, but only provide 100MHz rounding > * in their ACPI data. Calculate the real values and fix up the _PSS data. > @@ -298,9 +299,6 @@ static void amd_fixup_frequency(struct acpi_processor_px *px, int i) > px->core_frequency = (100 * (fid + 8)) >> did; > } > } > -#else > -static void amd_fixup_frequency(struct acpi_processor_px *px, int i) {}; > -#endif > > static int acpi_processor_get_performance_states(struct acpi_processor *pr) > { > @@ -440,13 +438,11 @@ int acpi_processor_get_performance_info(struct acpi_processor *pr) > * the BIOS is older than the CPU and does not know its frequencies > */ > update_bios: > -#ifdef CONFIG_X86 > if (acpi_has_method(pr->handle, "_PPC")) { > if(boot_cpu_has(X86_FEATURE_EST)) > pr_warn(FW_BUG "BIOS needs update for CPU " > "frequency support\n"); > } > -#endif > return result; > } > EXPORT_SYMBOL_GPL(acpi_processor_get_performance_info); > @@ -788,3 +784,4 @@ void acpi_processor_unregister_performance(unsigned int cpu) > mutex_unlock(&performance_mutex); > } > EXPORT_SYMBOL(acpi_processor_unregister_performance); > +#endif > -- Applied along with the [2/2] as 6.13 material, thanks!
diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c index 4265814c74f8..53996f1a2d80 100644 --- a/drivers/acpi/processor_perflib.c +++ b/drivers/acpi/processor_perflib.c @@ -24,8 +24,6 @@ #define ACPI_PROCESSOR_FILE_PERFORMANCE "performance" -static DEFINE_MUTEX(performance_mutex); - /* * _PPC support is implemented as a CPUfreq policy notifier: * This means each time a CPUfreq driver registered also with @@ -209,6 +207,10 @@ void acpi_processor_ppc_exit(struct cpufreq_policy *policy) } } +#ifdef CONFIG_X86 + +static DEFINE_MUTEX(performance_mutex); + static int acpi_processor_get_performance_control(struct acpi_processor *pr) { int result = 0; @@ -267,7 +269,6 @@ static int acpi_processor_get_performance_control(struct acpi_processor *pr) return result; } -#ifdef CONFIG_X86 /* * Some AMDs have 50MHz frequency multiples, but only provide 100MHz rounding * in their ACPI data. Calculate the real values and fix up the _PSS data. @@ -298,9 +299,6 @@ static void amd_fixup_frequency(struct acpi_processor_px *px, int i) px->core_frequency = (100 * (fid + 8)) >> did; } } -#else -static void amd_fixup_frequency(struct acpi_processor_px *px, int i) {}; -#endif static int acpi_processor_get_performance_states(struct acpi_processor *pr) { @@ -440,13 +438,11 @@ int acpi_processor_get_performance_info(struct acpi_processor *pr) * the BIOS is older than the CPU and does not know its frequencies */ update_bios: -#ifdef CONFIG_X86 if (acpi_has_method(pr->handle, "_PPC")) { if(boot_cpu_has(X86_FEATURE_EST)) pr_warn(FW_BUG "BIOS needs update for CPU " "frequency support\n"); } -#endif return result; } EXPORT_SYMBOL_GPL(acpi_processor_get_performance_info); @@ -788,3 +784,4 @@ void acpi_processor_unregister_performance(unsigned int cpu) mutex_unlock(&performance_mutex); } EXPORT_SYMBOL(acpi_processor_unregister_performance); +#endif