Am Mon, 04 Nov 2024 10:35:26 -0800 schrieb Kevin Hilman khilman@kernel.org:
Andreas Kemnade andreas@kemnade.info writes:
E.g. omap2plus_defconfig compiles cpufreq-dt as module. As there is no module alias nor a module_init(), cpufreq-dt-platdev will not be used and therefore on several omap platforms there is no cpufreq.
Enforce builtin compile of cpufreq-dt-platdev to make it effective.
Fixes: 3b062a086984 ("cpufreq: dt-platdev: Support building as module") Cc: stable@vger.kernel.org Signed-off-by: Andreas Kemnade andreas@kemnade.info
I'd much rather see this fixed to work as a module. You already hinted at the right way to do that, so please do that instead.
no clear idea how. What aliases should I add? The cpufreq-dt-platdev is not a real driver, so I could not create mod_devicetable aliases to match a given device. It constructs a device under certain conditions depending on the board compatible, so no simple list of compatibles, it contains allow and blocklists.
cpufreq-dt then binds to that device and that one can be built as a module (which then made cpufreq-dt-platdev also a module, causing the trouble). I do not see any benefit from having cpufreq-dt-platdev as a module. ti-cpufreq has a similar role and is also just builtin. It does itself no real work but provides a device cpufreq-dt then binds to.
Handling module removal would probably need to be added and tested. I feel not comfortable having such as a regression fix and for stable.
Regards, Andreas