[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d63c25f5-0b10-b153-023f-4b2d4a42f9a5@suse.com>
Date: Wed, 10 May 2023 10:48:38 +0200
From: Petr Pavlu <petr.pavlu@...e.com>
To: Kevin Locke <kevin@...inlocke.name>
Cc: rafael@...nel.org, lenb@...nel.org, viresh.kumar@...aro.org,
pmladek@...e.com, mcgrof@...nel.org, linux-acpi@...r.kernel.org,
linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4] ACPI: cpufreq: use a platform device to load ACPI PPC
and PCC drivers
On 5/10/23 02:00, Kevin Locke wrote:
> On Thu, 2023-03-16 at 16:10 +0100, Petr Pavlu wrote:
>> The patch extends the ACPI parsing logic to check the ACPI namespace if
>> the PPC or PCC interface is present and creates a virtual platform
>> device for each if it is available. The acpi-cpufreq and pcc-cpufreq
>> drivers are then updated to map to these devices.
>>
>> This allows to try loading acpi-cpufreq and pcc-cpufreq only once during
>> boot and only if a given interface is available in the firmware.
>
> As a result of this patch (691a637123470bfe63bccf5836ead40fac4c7fab)
> my ThinkPad T430 with an i5-3320M CPU configured with
> CONFIG_X86_INTEL_PSTATE=y and CONFIG_X86_ACPI_CPUFREQ=m (Debian's
> amd64 kernel config) now logs
>
> kernel: acpi-cpufreq: probe of acpi-cpufreq failed with error -17
>
> during boot. Presumably this occurs because loading acpi-cpufreq
> returns -EEXIST when intel-pstate is already loaded (or built-in, as
> in this case). I'm unsure why the message was not printed before;
> perhaps a difference between driver probing for platform and cpu bus
> types? Although the error message is not wrong, it may lead to
> unnecessary investigation by sysadmins, as it did for me. I thought
> it was worth reporting so you can consider whether the change is
> desirable.
Thanks for reporting this issue. The patch moved the setup of
acpi-cpufreq from being done directly in its module init function to
going through the probe logic. The reported warning newly comes from
call_driver_probe() when the probe fails.
One immediate option that I can see to silence this warning would be to
change the return code for this case in acpi_cpufreq_probe() from
-EEXIST to -ENODEV/ENXIO. Function call_driver_probe() then prints only
a debug message about the probe rejecting the device.
-- Petr
Powered by blists - more mailing lists