linux-kernelorg-stable/drivers/cpufreq
Krzysztof Kozlowski 0f5796dac1 cpufreq: dt-platdev: Fix creating device on OPPv1 platforms
Commit 6ea891a6dd ("cpufreq: dt-platdev: Simplify with
of_machine_get_match_data()") broke several platforms which did not have
OPPv2 proprety, because it incorrectly checked for device match data
after first matching from "allowlist".  Almost all of "allowlist" match
entries do not have match data and it is expected to create platform
device for them with empty data.

Fix this by first checking if platform is on the allowlist with
of_machine_device_match() and only then taking the match data.  This
duplicates the number of checks (we match against the allowlist twice),
but makes the code here much smaller.

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Closes: https://lore.kernel.org/all/CAMuHMdVJD4+J9QpUUs-sX0feKfuPD72CO0dcqN7shvF_UYpZ3Q@mail.gmail.com/
Reported-by: Pavel Pisa <pisa@fel.cvut.cz>
Closes: https://lore.kernel.org/all/6hnk7llbwdezh74h74fhvofbx4t4jihel5kvr6qwx2xuxxbjys@rmwbd7lkhrdz/
Fixes: 6ea891a6dd ("cpufreq: dt-platdev: Simplify with of_machine_get_match_data()")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Tested-by: Pavel Pisa <pisa@fel.cvut.cz>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://patch.msgid.link/20251210051718.132795-2-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2025-12-16 07:59:30 -06:00
..
Kconfig
Kconfig.arm
Kconfig.powerpc
Kconfig.x86
Makefile
acpi-cpufreq.c cpufreq: ACPI: Replace udelay() with usleep_range() 2025-11-20 21:50:08 +01:00
airoha-cpufreq.c cpufreq: airoha: Add support for AN7583 SoC 2025-08-11 12:19:20 +05:30
amd-pstate-trace.c
amd-pstate-trace.h
amd-pstate-ut.c
amd-pstate.c cpufreq/amd-pstate: Call cppc_set_auto_sel() only for online CPUs 2025-11-10 23:35:20 -06:00
amd-pstate.h
amd_freq_sensitivity.c
apple-soc-cpufreq.c
armada-8k-cpufreq.c
armada-37xx-cpufreq.c cpufreq: armada-37xx: use max() to calculate target_vm 2025-08-11 12:19:29 +05:30
bmips-cpufreq.c
brcmstb-avs-cpufreq.c cpufreq: brcmstb-avs: Use scope-based cleanup helper 2025-08-29 11:28:27 +05:30
cppc_cpufreq.c cpufreq: CPPC: Don't warn if FIE init fails to read counters 2025-10-28 10:40:47 +05:30
cpufreq-dt-platdev.c cpufreq: dt-platdev: Fix creating device on OPPv1 platforms 2025-12-16 07:59:30 -06:00
cpufreq-dt.c cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency 2025-10-01 13:56:24 +02:00
cpufreq-dt.h
cpufreq-nforce2.c cpufreq: nforce2: fix reference count leak in nforce2 2025-10-28 10:28:13 +05:30
cpufreq.c cpufreq: Replace deprecated strcpy() in cpufreq_unregister_governor() 2025-10-20 21:25:36 +02:00
cpufreq_conservative.c cpufreq: conservative: Replace sscanf() with kstrtouint() 2025-09-10 12:20:10 +02:00
cpufreq_governor.c
cpufreq_governor.h
cpufreq_governor_attr_set.c
cpufreq_ondemand.c cpufreq: ondemand: Update the efficient idle check for Intel extended Families 2025-09-10 12:25:08 +02:00
cpufreq_ondemand.h cpufreq: ondemand: Update the efficient idle check for Intel extended Families 2025-09-10 12:25:08 +02:00
cpufreq_performance.c
cpufreq_powersave.c
cpufreq_stats.c
cpufreq_userspace.c
davinci-cpufreq.c
e_powersaver.c
elanfreq.c
freq_table.c cpufreq: Replace pointer subtraction with iteration macro 2025-09-23 17:16:56 +02:00
gx-suspmod.c
highbank-cpufreq.c
imx-cpufreq-dt.c
imx6q-cpufreq.c cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency 2025-10-01 13:56:24 +02:00
intel_pstate.c cpufreq: intel_pstate: Eliminate some code duplication 2025-11-18 15:51:31 +01:00
kirkwood-cpufreq.c
longhaul.c cpufreq/longhaul: handle NULL policy in longhaul_exit 2025-09-01 10:50:28 +05:30
longhaul.h
longrun.c
loongson2_cpufreq.c
loongson3_cpufreq.c
mediatek-cpufreq-hw.c cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency 2025-10-01 13:56:24 +02:00
mediatek-cpufreq.c cpufreq: mediatek: Simplify with of_machine_get_match_data() 2025-11-26 19:42:21 -06:00
mvebu-cpufreq.c
omap-cpufreq.c
p4-clockmod.c
pasemi-cpufreq.c
pcc-cpufreq.c
pmac32-cpufreq.c
pmac64-cpufreq.c
powernow-k6.c
powernow-k7.c
powernow-k7.h
powernow-k8.c
powernow-k8.h
powernv-cpufreq.c
powernv-trace.h
pxa2xx-cpufreq.c
pxa3xx-cpufreq.c
qcom-cpufreq-hw.c
qcom-cpufreq-nvmem.c cpufreq: qcom-nvmem: fix compilation warning for qcom_cpufreq_ipq806x_match_list 2025-11-21 10:21:13 +05:30
qoriq-cpufreq.c
raspberrypi-cpufreq.c
rcpufreq_dt.rs rust: driver: let probe() return impl PinInit<Self, Error> 2025-10-21 18:40:48 +02:00
s3c64xx-cpufreq.c
s5pv210-cpufreq.c cpufreq: s5pv210: fix refcount leak 2025-10-23 12:10:11 +05:30
sa1110-cpufreq.c
sc520_freq.c
scmi-cpufreq.c cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency 2025-10-01 13:56:24 +02:00
scpi-cpufreq.c cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency 2025-10-01 13:56:24 +02:00
sh-cpufreq.c cpufreq: Drop redundant freq_table parameter 2025-09-05 20:16:55 +02:00
sparc-us2e-cpufreq.c
sparc-us3-cpufreq.c
spear-cpufreq.c cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency 2025-10-01 13:56:24 +02:00
speedstep-centrino.c
speedstep-ich.c
speedstep-lib.c cpufreq: speedstep-lib: Use int type to store negative error codes 2025-09-05 20:28:46 +02:00
speedstep-lib.h cpufreq: speedstep-lib: Use int type to store negative error codes 2025-09-05 20:28:46 +02:00
speedstep-smi.c
sti-cpufreq.c
sun50i-cpufreq-nvmem.c cpufreq: sun50i: Simplify with of_machine_device_match() 2025-11-26 19:42:30 -06:00
tegra20-cpufreq.c
tegra124-cpufreq.c
tegra186-cpufreq.c cpufreq: tegra186: add OPP support and set bandwidth 2025-10-23 12:10:11 +05:30
tegra194-cpufreq.c cpufreq: tegra194: add WQ_PERCPU to alloc_workqueue users 2025-11-10 16:18:48 +05:30
ti-cpufreq.c cpufreq: ti: Allow all silicon revisions to support OPPs 2025-08-22 12:24:13 +05:30
vexpress-spc-cpufreq.c
virtual-cpufreq.c cpufreq: Drop redundant freq_table parameter 2025-09-05 20:16:55 +02:00