Re: [RFC PATCH] cpufreq: dt-platdev: Fix module autoloading
From: Javier Martinez Canillas
Date: Thu Nov 21 2024 - 04:13:58 EST
Viresh Kumar <viresh.kumar@xxxxxxxxxx> writes:
> On 21-11-24, 09:52, Javier Martinez Canillas wrote:
>> Will autload the driver for any platform that has a Device Tree node with a
>> compatible = "operating-points-v2" (assuming that this node will be a phandle
>> for the "operating-points-v2" property.
>>
>> For example, in the case of the following DT snippet:
>>
>> cpus {
>> cpu@0 {
>> operating-points-v2 = <&cpu0_opp_table>;
>> };
>> };
>>
>> cpu0_opp_table: opp_table {
>> compatible = "operating-points-v2";
>> ...
>> };
>>
>> It will autoload if OF finds the opp_table node, but it register the cpufreq-dt
>> device only if there's a cpu@0 with a "operating-points-v2" property.
>>
>> Yes, there may be false positives because the autload semantics don't exactly
>> match the criteria for the driver to "match" but I believe is better to load it
>> and not use for those cases, than needing the driver and not autoloading it.
>>
>> > I am not sure what's the best way forward to fix this.
>> >
>>
>> I couldn't find another way to solve it, if you have a better idea please let
>> me know. But IMO we should either workaround like this or revert the commit
>> that changed the driver's Kconfig symbol to be tristate.
>
> Yeah, this needs to be fixed and this patch is one of the ways. Lets see if Arnd
> or Rob have something to add, else can apply this patch.
>
Ok. Please notice though that this is an RFC, since all my arm64 machines have
their own CPUFreq driver and are not using cpufreq-dt-platdev. So I would not
apply it until someone actually tested the patch.
--
Best regards,
Javier Martinez Canillas
Core Platforms
Red Hat