Re: [PATCH] arm64: cacheinfo: Simplify init_cache_level()

From: Ben Horgan

Date: Wed Nov 04 2026 - 05:33:07 EST


Hi Thorsten,

On 04/11/2026 08:36, Thorsten Blum wrote:
> acpi_get_cache_info() already sets fw_level to 0 on failure, so drop the
> redundant check and the manual assignment.

This doesn't seem to be the case when CONFIG_ACPI_PPTT is not defined. Can the dummy implementation
in include/linux/cacheinfo.h be called from init_cache_level()? For the implementation in
drivers/acpi/pptt.c levels is documented as "Number of levels if success." and so would be good to
mention what happens in the error case if it needs to be relied on.

Thanks,

Ben

>
> Use unsigned int for fw_level to match the expected type, and remove the
> now-unused local ret variable.
>
> Signed-off-by: Thorsten Blum <blum@xxxxxxxxxx>
> ---
> arch/arm64/kernel/cacheinfo.c | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm64/kernel/cacheinfo.c b/arch/arm64/kernel/cacheinfo.c
> index 309942b06c5b..881131fb4934 100644
> --- a/arch/arm64/kernel/cacheinfo.c
> +++ b/arch/arm64/kernel/cacheinfo.c
> @@ -67,19 +67,15 @@ int early_cache_level(unsigned int cpu)
>
> int init_cache_level(unsigned int cpu)
> {
> - unsigned int level, leaves;
> - int fw_level, ret;
> + unsigned int level, leaves, fw_level;
> struct cpu_cacheinfo *this_cpu_ci = get_cpu_cacheinfo(cpu);
>
> detect_cache_level(&level, &leaves);
>
> - if (acpi_disabled) {
> + if (acpi_disabled)
> fw_level = of_find_last_cache_level(cpu);
> - } else {
> - ret = acpi_get_cache_info(cpu, &fw_level, NULL);
> - if (ret < 0)
> - fw_level = 0;
> - }
> + else
> + acpi_get_cache_info(cpu, &fw_level, NULL);
>
> if (level < fw_level) {
> /*
>